Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3856 → Rev 3857

/branches/v3.01-serpe/widget/generateur.html
New file
0,0 → 1,221
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Générateur de widgets</title>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[
var url_base_widget = 'http://localhost/widget:cel:';
var timer = null;
var criteresPourWidget = new Object();
criteresPourWidget['carto'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon');
criteresPourWidget['cartoPoint'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon', 'titre', 'logo', 'url_site','image', 'photos');
criteresPourWidget['observation'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon');
criteresPourWidget['photo'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon', 'titre');
$(document).ready(function() {
$('#mise_a_jour_auto').change(function() {
if($('#mise_a_jour_auto').val() == 'on') {
activerTimerMaj();
} else {
desactiverTimerMaj();
}
});
$('#mise_a_jour').click(function(event) {
mettreAjourApercu();
});
$("#formulaire_widget_carto_point input").keypress(function (event) {
if (event.which == 13) {
mettreAjourApercu();
}
});
$('input[name=type_widget]').change(function(event){
afficherCriteresPourWidget();
mettreAjourApercu();
});
$('#options').hide();
$('#options_secondaires').hide();
});
function htmlEncode(value){
if (value) {
return jQuery('<div />').text(value).html();
} else {
return '';
}
}
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
 
function genererIFrame(url, hauteur, largeur) {
return '<iframe src="'+url+'" width="'+largeur+'" height="'+hauteur+'">';
}
function afficherCriteresPourWidget() {
var type_widget = $('input[name=type_widget]:checked').val();
$('#options .critere').each(function() {
var nom = $(this).find('.modificateur').attr("name");
if(critereExistePourWidget(type_widget, nom)) {
$(this).fadeIn();
} else {
$(this).fadeOut();
}
});
$('#options').show();
$('#options_secondaires').show();
}
function critereExistePourWidget(type_widget, nom) {
var champsAffiches = criteresPourWidget[type_widget];
return (champsAffiches.indexOf(nom) != -1);
}
function activerTimerMaj() {
$('.modificateur').change(function(event) {
if(timer != null) {
clearTimeout(timer);
}
timer = setTimeout(function(){mettreAjourApercu();},500);
});
}
function desactiverTimerMaj() {
if(timer != null) {
clearTimeout(timer);
}
$('.modificateur').unbind('change');
}
function mettreAjourApercu() {
var valeurs_form = new Object();
var type_widget = $('input[name=type_widget]:checked').val();
$('#options .critere').each(function() {
var nom = $(this).find('.modificateur').attr("name");
var valeur = $(this).find('.modificateur').val();
if(critereExistePourWidget(type_widget, nom) && valeur != "") {
valeurs_form[nom] = valeur;
};
});
 
var url_widget = url_base_widget+type_widget;
if(Object.keys(valeurs_form).length > 0) {
params_iframe = $.param(valeurs_form);
url_widget += "?"+params_iframe;
}
var hauteur = $('#hauteur').val();
var largeur = $('#largeur').val();
var lien_widget = '<a href="'+url_widget+'">'+url_widget+'</a>';
$('#code_widget').html("Vous pouvez voir ce widget en plein écran en cliquant sur ce lien "+lien_widget);
$('#code_widget').show();
var code_widget_apercu = genererIFrame(url_widget, hauteur, largeur);
$('#apercu').html(code_widget_apercu);
$('#apercu').show();
var code_widget_inclure = genererIFrame(url_widget, hauteur, largeur);
$('#code_widget').html("Copiez-collez ce code pour inclure le widget sur votre site "+"<pre>"+htmlEncode(code_widget_inclure)+"</pre>");
$('#code_widget').show();
}
//]]>
</script>
<style>
#formulaire_widget_carto_point {
padding:10px;
border:1px solid grey;
width: 30%;
float:left;
}
.critere {
padding:5px;
}
.modificateur.droite {
float: right;
width: 420px;
}
#url_widget {
border: 1px solid grey;
background-color : #F5F5F5;
padding: 10px;
display: none;
}
#apercu {
border: 1px solid grey;
background-color : #F5F5F5;
padding: 10px;
display: none;
float: right;
width: 60%;
}
#contenu_widget_apercu {
width: 100%;
}
.nettoyage {
visibility: hidden;
clear: both;
}
</style>
</head>
<body>
<div id="formulaire_widget_carto_point">
<div class="critere"><label for="utilisateur">Type de widget : </label><br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="carto">Carto à la commune<br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="cartoPoint">Carto au point précis <br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="observation">Observations <br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="photo">Photos <br />
</div>
<div id="options">
<div class="critere"><label for="utilisateur">Utilisateur : </label><input class="modificateur droite" type="text" name="utilisateur" id="utilisateur" /></div>
<div class="critere"><label for="dept">Département : </label><input type="text" class="modificateur droite" name="dept" id="dept" /></div>
<div class="critere"><label for="commune">Commune : </label><input type="text" class="modificateur droite" name="commune" id="commune" /></div>
<div class="critere"><label for="projet">Projet : </label><input type="text" class="modificateur droite" name="projet" id="projet" /></div>
<div class="critere"><label for="taxon">Taxon : </label><input type="text" class="modificateur droite" name="taxon" id="taxon" /></div>
<div class="critere"><label for="titre">Titre : </label><input type="text" class="modificateur droite" name="titre" id="titre" /></div>
<div class="critere"><label for="logo">Url du logo : </label><input type="text" class="modificateur droite" name="logo" id="logo" /></div>
<div class="critere"><label for="image">Url de l'image : </label><input type="text" class="modificateur droite" name="image" id="image" /></div>
<div class="critere"><label for="url_site">Url du site : </label><input type="text" class="modificateur droite" name="url_site" id="url_site" /></div>
<div class="critere"><label for="photos">Présence de photos : </label>
<select class="modificateur" name="photos" id="photos">
<option selected="selected" value="">Toutes les observations</option>
<option value="1">Uniquement avec photos</option>
</select>
</div>
</div>
<div id="options_secondaires">
<div class="critere"><label for="largeur">Largeur : </label>
<input type="text" class="modificateur" size="10" name="largeur" id="largeur" value="700"/>
<label for="hauteur">Hauteur : </label>
<input type="text" class="modificateur" size="10" name="hauteur" id="hauteur" value="700"/>
</div>
<div>
<label for="mise_a_jour_auto">Maj auto de la carte à chaque changement : </label>
<input type="checkbox" id="mise_a_jour_auto" name="mise_a_jour_auto" />
</div>
</div>
<button id="mise_a_jour" name="mise_a_jour">Rafraichir</button>
</div>
<div id="apercu">Aperçu en temps réel
<div id="contenu_widget_apercu"></div>
</div>
<hr class="nettoyage" />
<div id="code_widget"></div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/apa/config.defaut.ini
New file
0,0 → 1,10
[apa]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/Apa"
cheminDos = "modules/apa/squelettes/"
imgProjet = "modules/apa/configurations/"
/branches/v3.01-serpe/widget/modules/apa/configurations/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/configurations/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/configurations/sauvages_taxons.tsv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/apa/configurations/lichens_taxons.tsv
New file
0,0 → 1,41
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Anaptychia ciliaris 660397 Anaptychia ciliaris 660397 660397
Evernia prunastri 59053 Evernia prunastri 59053 59053
Pseudevernia furfuracea 59009 Pseudevernia furfuracea 59009 59009
Ramalina fastigiata 658984 Ramalina fastigiata 658984 658984
Ramalina fraxinea 59150 Ramalina fraxinea 59150 59150
Ramalina farinacea 59092 Ramalina farinacea 59092 59092
Usnea sp. 198834 Usnea sp. 198834 198834
autre lichen fruticuleux à ramification cylindrique 0 autre lichen fruticuleux à ramification cylindrique 0 0
autre lichen fruticuleux 0 autre lichen fruticuleux 0 0
autre lichen foliacé 0 autre lichen foliacé 0 0
Candelaria concolor 58792 Candelaria concolor 58792 58792
Xanthoria parietina 59568 Xanthoria parietina 59568 59568
Xanthoria polycarpa 658514 Xanthoria polycarpa 658514 658514
Melanohalea exasperata 659402 Melanohalea exasperata 659402 659402
Melanelixia glabratula/subaurifera 652934 Melanelixia glabratula/subaurifera 652934 652934
autres Melanohalea 653099 autres Melanohalea 653099 653099
Physcia leptalea 59906 Physcia leptalea 59906 59906
Physcia adscendens/tenella 196232 Physcia adscendens/tenella 196232 196232
Pleurosticta acetabulum 660486 Pleurosticta acetabulum 660486 660486
Physconia distorta 59979 Physconia distorta 59979 59979
Physconia grisea 59171 Physconia grisea 59171 59171
Hyperphyscia adglutinata 59213 Hyperphyscia adglutinata 59213 59213
Phaeophyscia orbicularis 59961 Phaeophyscia orbicularis 59961 59961
Hypogymnia physodes/tubulosa 193533 Hypogymnia physodes/tubulosa 193533 193533
Parmotrema perlatum/reticulatum 652931 Parmotrema perlatum/reticulatum 652931 652931
Punctelia sp. 652928 Punctelia sp. 652928 652928
Parmelia sulcata 58889 Parmelia sulcata 58889 58889
Hypotrachyna afrorevoluta/revoluta 652938 Hypotrachyna afrorevoluta/revoluta 652938 652938
Flavoparmelia caperata/soredians 652940 Flavoparmelia caperata/soredians 652940 652940
Parmelia saxatilis 58888 Parmelia saxatilis 58888 58888
Parmelina tiliacea/pastillifera 652932 Parmelina tiliacea/pastillifera 652932 652932
Physcia aipolia/stellaris 196232 Physcia aipolia/stellaris 196232 196232
Candelariella sp. 190296 Candelariella sp. 190296 190296
Diploicia canescens 59593 Diploicia canescens 59593 59593
Lecanora sp. 193910 Lecanora sp. 193910 193910
Pertusaria pertusa 659201 Pertusaria pertusa 659201 659201
Amandinea punctata/Lecidella elaeochroma 0 Amandinea punctata/Lecidella elaeochroma 0 0
lichen crustacé à aspect poudreux 0 lichen crustacé à aspect poudreux 0 0
lichens crustace à lirelles 0 lichens crustace à lirelles 0 0
autre lichen crustacé 0 autre lichen crustacé 0 0
/branches/v3.01-serpe/widget/modules/apa/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/apa/squelettes/plantes.tpl.html
New file
0,0 → 1,267
<div id="zone-plantes" class="bloc-top">
<h2><?php echo $plantes['titre']; ?></h2>
<div id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="plantes">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $plantes['poursuivre-plantes']; ?>
</div>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-plantes" class="">
<form id="form-plantes" role="form" autocomplete="off">
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="<?php echo $plantes['arbre-title']; ?>">
<i class="fas fa-tree" aria-hidden="true"></i>
<?php echo $general['arbre']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $plantes['arbre-title']; ?>" required>
<option value="" selected hidden><?php echo $general['numero-arbre']; ?></option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $general['date']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<div id="bloc-taxon" class="control-group">
<label for="taxon-liste" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?> (<?php echo $widget['referentiel']; ?>)
</label>
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $general['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $general['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option value="" hidden selected><?php echo $general['choisir']; ?></option>
<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
 
<div class="">
<label for="commentaire" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $plantes['titre-photos']; ?>
</div>
<p id="miniature-plantes-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-primary"><i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?></button>
</div>
</div>
</div>
</div><!-- fin formulaire plantes -->
<!-- zone résumé obs plantes ( =zone de droite) -->
<div id="bloc-droite" class="col-md-6">
<div id="bouton-saisir-lichens" class="btn btn-info mb-3" data-load="lichens">
<i class="far fa-snowflake"></i>&nbsp;<?php echo $resume['saisir-lichens']; ?>
</div>
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $plantes['alert-img-tax']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin plantes zone résumé obs ( =zone de droite ) -->
</div>
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
releve = null;
lichens = null;
plantes = null;
plantes = new PlantesApa();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
plantes.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
plantes.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
plantes.tagProjet = "WidgetApa,plantes";
// Mots-clés à ajouter aux images
plantes.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
plantes.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
plantes.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + plantes.separationTagImg + plantes.tagImg" : 'plantes.tagImg'; ?>;
// Mots-clés à ajouter aux observations
plantes.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
plantes.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
plantes.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + plantes.separationTagObs + plantes.tagObs" : 'plantes.tagObs'; ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
plantes.serviceSaisieUrl = "<?php echo $url_ws_apa; ?>";
 
// URL de l'icône du chargement en cours d'une image
plantes.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
plantes.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
plantes.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
plantes.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
plantes.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
plantes.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + plantes.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
plantes.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + plantes.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
plantes.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
plantes.dureeMessage = 10000;
 
// Initialisation du bousin
plantes.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap.min.css
New file
0,0 → 1,6
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}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.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.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 .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:.75rem 1.25rem;background-color:#f7f7f9;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:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{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:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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:1030}.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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!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}}/*# sourceMappingURL=bootstrap.min.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-grid.css
New file
0,0 → 1,1339
@-ms-viewport {
width: device-width;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-overflow-style: scrollbar;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
/*# sourceMappingURL=bootstrap-grid.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-reboot.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null]}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css
New file
0,0 → 1,0
@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-reboot.css
New file
0,0 → 1,459
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css
New file
0,0 → 1,0
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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CE,uBR25BiC;EQ15BjC,eRy5B+B;EQx5B/B,YRkEW;EQjEX,0BR6EiC;EMtG/B,sBN8T0B;CQ3R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBR6NmB;CQ3NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eRs4B+B;EQr4B/B,eR2DiC;CQjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBRm4BiC;EQl4BjC,mBAAkB;CACnB;;AC1DC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZgvBF;;AchsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZuvBF;;AcvsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZ8vBF;;Ac9sBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZqwBF;;AcrtBG;EFnDF;ICkBI,aVqMK;IUpML,gBAAe;GDhBlB;CZ4wBF;;Ac5tBG;EFnDF;ICkBI,aVsMK;IUrML,gBAAe;GDhBlB;CZmxBF;;AcnuBG;EFnDF;ICkBI,aVuMK;IUtML,gBAAe;GDhBlB;CZ0xBF;;Ac1uBG;EFnDF;ICkBI,cVwMM;IUvMN,gBAAe;GDhBlB;CZiyBF;;AYxxBC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZqyBF;;AchwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ4yBF;;AcvwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZmzBF;;Ac9wBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ0zBF;;AYlzBC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B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EY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB4WmC;CiB5TpC;;AhBjDG;EiBMA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,uDlB6V+B;UkB7V/B,+ClB6V+B;CkB3VlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBqViC;CkBpVlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBpDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBvDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhB1DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB7DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBgDc;CiBxBf;;AhBlEG;EiB6CA,YAPoD;EAQpD,0BlB4CY;EkB3CZ,sBlB2CY;CC1FS;;AiBkDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBsUmC;EkBrUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBlBmUmC;CiBxSpC;;AhBrEG;EiB6CA,YAPoD;EAQpD,uBlB+TiC;EkB9TjC,mBlB8TiC;CC7WZ;;AiBkDvB;EAEE,uDlByTiC;UkBzTjC,+ClByTiC;CkBxTlC;;AAED;EAEE,YlBoTiC;EkBnTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBlB4SiC;EkB3SjC,mBlB2SiC;CkB1SlC;;ADGH;EC/BE,elBoDc;EkBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBiDc;CiBnBf;;AhBxEG;EiB6CA,YAPoD;EAQpD,0BlB6CY;EkB5CZ,sBlB4CY;CC3FS;;AiBkDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB+Cc;CiBdf;;AhB3EG;EiB6CA,YAPoD;EAQpD,0BlB2CY;EkB1CZ,sBlB0CY;CCzFS;;AiBkDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB6Cc;CiBTf;;AhB9EG;EiB6CA,YAPoD;EAQpD,0BlByCY;EkBxCZ,sBlBwCY;CCvFS;;AiBkDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB4Cc;CiBLf;;AhBjFG;EiB6CA,YAPoD;EAQpD,0BlBwCY;EkBvCZ,sBlBuCY;CCtFS;;AiBkDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADsBH;EACE,oBjB4JyB;EiB3JzB,ejBDc;EiBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBzGC;EgB2GA,0BAAyB;ChB3GJ;;AAUrB;EgBoGA,ejB2E4C;EiB1E5C,2BjB2E6B;EiB1E7B,8BAA6B;ChBnG5B;;AgB4EL;EA0BI,ejBjB+B;CiBsBhC;;AhB9GC;EgB4GE,sBAAqB;ChBzGtB;;AgBmHL;ECxDE,wBlB4TqC;EkB3TrC,mBlByKsB;EMxPpB,sBN6T0B;CiBpL7B;;AACD;EC5DE,wBlByToC;EkBxTpC,oBlB0KsB;EMzPpB,sBN8T0B;CiBjL7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkPoC;CiBjPrC;;AAGD;;;EAII,YAAW;CACZ;;AExKH;EACE,WAAU;EZcN,yCP2TsC;EO3TtC,oCP2TsC;EO3TtC,iCP2TsC;CmBnU3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;AAGH;EAEI,mBAAkB;CACnB;;AAGH;EAEI,yBAAwB;CACzB;;AAGH;EACE,mBAAkB;EAClB,UAAS;EACT,iBAAgB;EZhBZ,sCP4TmC;EO5TnC,iCP4TmC;EO5TnC,8BP4TmC;CmB1SxC;;AChCD;;EAEE,mBAAkB;CACnB;;AAED;EAGI,sBAAqB;EACrB,SAAQ;EACR,UAAS;EACT,mBpB2TyB;EoB1TzB,uBAAsB;EACtB,YAAW;EACX,wBAA8B;EAC9B,sCAA4C;EAC5C,qCAA2C;CAC5C;;AAZH;EAgBI,WAAU;CACX;;AAGH;EAGM,cAAa;EACb,2BAAiC;CAClC;;AAKL;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,cpBwiB8B;EoBviB9B,cAAa;EACb,YAAW;EACX,iBpBugBoC;EoBtgBpC,kBAA8B;EAC9B,qBAAgC;EAChC,gBpB6MmB;EoB5MnB,epB2DiC;EoB1DjC,iBAAgB;EAChB,iBAAgB;EAChB,uBpB4CW;EoB3CX,qCAA4B;UAA5B,6BAA4B;EAC5B,sCpB2CW;EM3FT,uBN4T2B;CoBzQ9B;;AAGD;ECrDE,YAAW;EACX,iBAAyB;EACzB,iBAAgB;EAChB,0BrBqGiC;CoBjDlC;;AAKD;EACE,eAAc;EACd,YAAW;EACX,oBpBggBqC;EoB/frC,YAAW;EACX,oBpB0LyB;EoBzLzB,epBmCiC;EoBlCjC,oBAAmB;EACnB,oBAAmB;EACnB,iBAAgB;EAChB,UAAS;CAyBV;;AnBhFG;EmB0DA,epB8emD;EoB7enD,sBAAqB;EACrB,0BpB8B+B;CCvF9B;;AmB0CL;EAoBI,YpBSS;EoBRT,sBAAqB;EACrB,0BpBaY;CoBZb;;AAvBH;EA2BI,epBgB+B;EoBf/B,oBpBmXwC;EoBlXxC,8BAA6B;CAK9B;;AAIH;EAGI,eAAc;CACf;;AAJH;EAQI,WAAU;CACX;;AAOH;EACE,SAAQ;EACR,WAAU;CACX;;AAED;EACE,YAAW;EACX,QAAO;CACR;;AAGD;EACE,eAAc;EACd,uBpBgcqC;EoB/brC,iBAAgB;EAChB,oBpBuHsB;EoBtHtB,epB3BiC;EoB4BjC,oBAAmB;CACpB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,apB4b6B;CoB3b9B;;AAMD;EAGI,UAAS;EACT,aAAY;EACZ,wBpBsZoC;CoBrZrC;;AE5JH;;EAEE,mBAAkB;EAClB,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,uBAAsB;CAyBvB;;AA7BD;;EAOI,mBAAkB;EAClB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;CAYf;;AApBH;;EAaM,WAAU;CrBNS;;AqBPzB;;;;EAkBM,WAAU;CACX;;AAnBL;;;;;;;;EA2BI,kBtB2Ic;CsB1If;;AAIH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAA2B;EAA3B,oCAA2B;MAA3B,qBAA2B;UAA3B,4BAA2B;CAK5B;;AAPD;EAKI,YAAW;CACZ;;AAGH;EACE,iBAAgB;CACjB;;AAGD;EACE,eAAc;CAKf;;AAND;EhBhCI,8BgBoC8B;EhBnC9B,2BgBmC8B;CAC/B;;AAGH;;EhB1BI,6BgB4B2B;EhB3B3B,0BgB2B2B;CAC9B;;AAGD;EACE,YAAW;CACZ;;AACD;EACE,iBAAgB;CACjB;;AACD;;EhBpDI,8BgBuD8B;EhBtD9B,2BgBsD8B;CAC/B;;AAEH;EhB5CI,6BgB6C2B;EhB5C3B,0BgB4C2B;CAC9B;;AAGD;;EAEE,WAAU;CACX;;AAeD;EACE,uBAAmC;EACnC,sBAAkC;CAKnC;;AAPD;EAKI,eAAc;CACf;;AAGH;EACE,wBAAsC;EACtC,uBAAqC;CACtC;;AAED;EACE,wBAAsC;EACtC,uBAAqC;CACtC;;AAmBD;EACE,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CAcxB;;AAlBD;;EAQI,YAAW;CACZ;;AATH;;;;EAeI,iBtBoBc;EsBnBd,eAAc;CACf;;AAGH;EAEI,iBAAgB;CACjB;;AAHH;EhBlII,8BgBuI+B;EhBtI/B,6BgBsI+B;CAChC;;AANH;EhBhJI,2BgBwJ4B;EhBvJ5B,0BgBuJ4B;CAC7B;;AAEH;EACE,iBAAgB;CACjB;;AACD;;EhBhJI,8BgBmJ+B;EhBlJ/B,6BgBkJ+B;CAChC;;AAEH;EhBpKI,2BgBqK0B;EhBpK1B,0BgBoK0B;CAC7B;;AzBq2FD;;;;EyBj1FM,mBAAkB;EAClB,uBAAmB;EACnB,qBAAoB;CACrB;;ACnML;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,YAAW;CAkBZ;;AArBD;EAQI,mBAAkB;EAClB,WAAU;EACV,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EAGd,UAAS;EACT,iBAAgB;CAMjB;;AApBH;EAkBM,WAAU;CtBmCX;;AsB9BL;;;EAIE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CAKxB;;AAXD;;;EjBvBI,iBiBgCwB;CACzB;;AAGH;;EAEE,oBAAmB;EACnB,uBAAsB;CACvB;;AAwBD;EACE,wBvByVqC;EuBxVrC,iBAAgB;EAChB,gBvBoLmB;EuBnLnB,oBvBwLyB;EuBvLzB,kBvBuVmC;EuBtVnC,evBiCiC;EuBhCjC,mBAAkB;EAClB,0BvBiCiC;EuBhCjC,sCvBkBW;EM3FT,uBN4T2B;CuB7N9B;;AA/BD;;;EAcI,wBvBmWkC;EuBlWlC,oBvB0KoB;EMzPpB,sBN8T0B;CuB7O3B;;AAjBH;;;EAmBI,wBvBiWmC;EuBhWnC,mBvBoKoB;EMxPpB,sBN6T0B;CuBvO3B;;AAtBH;;EA4BI,cAAa;CACd;;AASH;;;;;;;EjBzFI,8BiBgG4B;EjB/F5B,2BiB+F4B;CAC/B;;AACD;EACE,gBAAe;CAChB;;AACD;;;;;;;EjBvFI,6BiB8F2B;EjB7F3B,0BiB6F2B;CAC9B;;AACD;EACE,eAAc;CACf;;AAMD;EACE,mBAAkB;EAGlB,aAAY;EACZ,oBAAmB;CAqCpB;;AA1CD;EAUI,mBAAkB;EAElB,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CAUR;;AAtBH;EAeM,kBvBmBY;CuBlBb;;AAhBL;EAoBM,WAAU;CtBlGX;;AsB8EL;;EA4BM,mBvBMY;CuBLb;;AA7BL;;EAkCM,WAAU;EACV,kBvBDY;CuBMb;;AAxCL;;;;EAsCQ,WAAU;CtBpHb;;AuB9CL;EACE,mBAAkB;EAClB,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,mBAAsC;EACtC,qBxBmc8B;EwBlc9B,mBxBmc4B;EwBlc5B,gBAAe;CAChB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,WAAU;CA8BX;;AAjCD;EAMI,YxBoES;EwBnET,0BxByEY;CwBvEb;;AATH;EAaI,sDxBmEY;UwBnEZ,8CxBmEY;CwBlEb;;AAdH;EAiBI,YxByDS;EwBxDT,0BxBicqE;CwB/btE;;AApBH;EAwBM,oBxBoasC;EwBnatC,0BxBgE6B;CwB/D9B;;AA1BL;EA6BM,exB2D6B;EwB1D7B,oBxB8ZsC;CwB7ZvC;;AAQL;EACE,mBAAkB;EAClB,aAA+D;EAC/D,QAAO;EACP,eAAc;EACd,YxBsZwC;EwBrZxC,axBqZwC;EwBpZxC,qBAAoB;EACpB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,uBxBoZwC;EwBnZxC,6BAA4B;EAC5B,mCAAkC;EAClC,iCxBkZ2C;UwBlZ3C,yBxBkZ2C;CwBhZ5C;;AAMD;ElB3EI,uBN4T2B;CwB9O5B;;AAHH;EAMI,2NxBhBuI;CwBiBxI;;AAPH;EAUI,0BxBWY;EwBVZ,wKxBrBuI;CwBuBxI;;AAOH;EAEI,mBxB6YqB;CwB5YtB;;AAHH;EAMI,qKxBpCuI;CwBqCxI;;AASH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;CASvB;;AAXD;EAKI,uBxB4V4B;CwBvV7B;;AAVH;EAQM,eAAc;CACf;;AAWL;EACE,sBAAqB;EACrB,gBAAe;EAEf,4BAAwD;EACxD,2CxByWuC;EwBxWvC,kBxBmRmC;EwBlRnC,exBnCiC;EwBoCjC,uBAAsB;EACtB,oNAAsG;EACtG,kCxB4WoC;UwB5WpC,0BxB4WoC;EwB3WpC,sCxBnDW;EM3FT,uBN4T2B;EwB3K7B,sBAAqB;EACrB,yBAAwB;CA4BzB;;AA3CD;EAkBI,sBxB2W2D;EwB1W3D,cAAa;CAYd;;AA/BH;EA4BM,exBxD6B;EwByD7B,uBxBtEO;CwBuER;;AA9BL;EAkCI,exB7D+B;EwB8D/B,oBxBsSwC;EwBrSxC,0BxB9D+B;CwB+DhC;;AArCH;EAyCI,WAAU;CACX;;AAGH;EACE,sBxBiUwC;EwBhUxC,yBxBgUwC;EwB/TxC,exBiV+B;CwB3UhC;;AAOD;EACE,mBAAkB;EAClB,sBAAqB;EACrB,gBAAe;EACf,exBkUmC;EwBjUnC,iBAAgB;EAChB,gBAAe;CAChB;;AAED;EACE,iBxB6TkC;EwB5TlC,gBAAe;EACf,exB0TmC;EwBzTnC,UAAS;EACT,yBAA0B;EAC1B,WAAU;CAKX;;AAED;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,QAAO;EACP,WAAU;EACV,exB0SmC;EwBzSnC,qBxB8S8B;EwB7S9B,iBxB8S6B;EwB7S7B,exBxHiC;EwByHjC,qBAAoB;EACpB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,uBxBxIW;EwByIX,sCxBxIW;EM3FT,uBN4T2B;CwB1D9B;;AA5CD;EAmBM,0BxB8SkB;CwB7SnB;;AApBL;EAwBI,mBAAkB;EAClB,UxB1Ec;EwB2Ed,YxB3Ec;EwB4Ed,axB5Ec;EwB6Ed,WAAU;EACV,eAAc;EACd,exBkRiC;EwBjRjC,qBxBsR4B;EwBrR5B,iBxBsR2B;EwBrR3B,exBhJ+B;EwBiJ/B,0BxB/I+B;EwBgJ/B,sCxB9JS;EM3FT,mCkB0PgF;CACjF;;AArCH;EAyCM,kBxB2RU;CwB1RX;;AC/PL;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CACjB;;AAED;EACE,eAAc;EACd,mBzB0mBsC;CyB/lBvC;;AxBLG;EwBHA,sBAAqB;CxBMpB;;AwBXL;EAUI,ezBsF+B;EyBrF/B,oBzBybwC;CyBxbzC;;AAQH;EACE,8BzB2lBgD;CyBzjBjD;;AAnCD;EAII,oBzBqIc;CyBpIf;;AALH;EAQI,8BAAgD;EnB9BhD,iCNsT2B;EMrT3B,gCNqT2B;CyB5Q5B;;AApBH;EAYM,mCzBglB4C;CCrmB7C;;AwBSL;EAgBM,ezB4D6B;EyB3D7B,8BAA6B;EAC7B,0BAAyB;CAC1B;;AAnBL;;EAwBI,ezBmD+B;EyBlD/B,uBzBqCS;EyBpCT,6BzBoCS;CyBnCV;;AA3BH;EA+BI,iBzB0Gc;EM/Jd,2BmBuD4B;EnBtD5B,0BmBsD4B;CAC7B;;AAQH;EnBtEI,uBN4T2B;CyBnP5B;;AAHH;;EAOI,YzBaS;EyBZT,gBAAe;EACf,0BzBiBY;CyBhBb;;AAQH;EAEI,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,mBAAkB;CACnB;;AAGH;EAEI,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,mBAAkB;CACnB;;AAQH;EAEI,cAAa;CACd;;AAHH;EAKI,eAAc;CACf;;ACpGH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,qB1BuHa;C0BtHd;;AAOD;EACE,sBAAqB;EACrB,oBAAmB;EACnB,uBAAsB;EACtB,mB1B2Ga;E0B1Gb,mB1B0NsB;E0BzNtB,qBAAoB;EACpB,oBAAmB;CAKpB;;AzBrBG;EyBmBA,sBAAqB;CzBhBpB;;AyByBL;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CAMjB;;AAXD;EAQI,iBAAgB;EAChB,gBAAe;CAChB;;AAQH;EACE,sBAAqB;EACrB,qBAAuB;EACvB,wBAAuB;CACxB;;AASD;EACE,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yB1BghByC;E0B/gBzC,mB1B0KsB;E0BzKtB,eAAc;EACd,wBAAuB;EACvB,8BAAuC;EpBjFrC,uBN4T2B;C0BrO9B;;AzBvEG;EyBqEA,sBAAqB;CzBlEpB;;AyBwEL;EACE,sBAAqB;EACrB,aAAY;EACZ,cAAa;EACb,uBAAsB;EACtB,YAAW;EACX,oCAAmC;EACnC,mCAA0B;UAA1B,2BAA0B;CAC3B;;AAID;EACE,mBAAkB;EAClB,W1B+Ba;C0B9Bd;;AACD;EACE,mBAAkB;EAClB,Y1B2Ba;C0B1Bd;;Af7CG;EeiDJ;IASY,iBAAgB;IAChB,YAAW;GACZ;EAXX;IAeU,iBAAgB;IAChB,gBAAe;GAChB;C7By4GR;;Acx9GG;Ee8DJ;IAqBQ,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EApDL;IA0BU,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EAhCT;IA6BY,qBAAoB;IACpB,oBAAmB;GACpB;EA/BX;IAoCU,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAvCT;IA2CU,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EA7CT;IAiDU,cAAa;GACd;C7Bm4GR;;Act+GG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7B+6GR;;Ac9/GG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7By6GR;;Ac5gHG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7Bq9GR;;AcpiHG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7B+8GR;;AcljHG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7B2/GR;;Ac1kHG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7Bq/GR;;A6BliHG;EAgBI,+BAAmB;EAAnB,8BAAmB;EAAnB,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;CA6BtB;;AA/CD;EAIQ,iBAAgB;EAChB,YAAW;CACZ;;AANP;EAUM,iBAAgB;EAChB,gBAAe;CAChB;;AAZL;EAqBM,+BAAmB;EAAnB,8BAAmB;EAAnB,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;CAMpB;;AA3BL;EAwBQ,qBAAoB;EACpB,oBAAmB;CACpB;;AA1BP;EA+BM,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;CACpB;;AAlCL;EAsCM,gCAAwB;EAAxB,iCAAwB;EAAxB,gCAAwB;EAAxB,yBAAwB;EACxB,YAAW;CACZ;;AAxCL;EA4CM,cAAa;CACd;;AAYT;;EAGI,0B1BxFS;C0B6FV;;AARH;;;EAMM,0B1B3FO;CCxER;;AyB6JL;EAYM,0B1BjGO;C0B0GR;;AArBL;EAeQ,0B1BpGK;CCxER;;AyB6JL;EAmBQ,0B1BxGK;C0ByGN;;AApBP;;;;EA2BM,0B1BhHO;C0BiHR;;AA5BL;EAgCI,iC1BrHS;C0BsHV;;AAjCH;EAoCI,sQ1ByZyR;C0BxZ1R;;AArCH;EAwCI,0B1B7HS;C0B8HV;;AAIH;;EAGI,a1BtIS;C0B2IV;;AARH;;;EAMM,a1BzIO;CCvER;;AyB0ML;EAYM,gC1B/IO;C0BwJR;;AArBL;EAeQ,iC1BlJK;CCvER;;AyB0ML;EAmBQ,iC1BtJK;C0BuJN;;AApBP;;;;EA2BM,a1B9JO;C0B+JR;;AA5BL;EAgCI,uC1BnKS;C0BoKV;;AAjCH;EAoCI,4Q1BqW6R;C0BpW9R;;AArCH;EAwCI,gC1B3KS;C0B4KV;;ACtQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB3BsFW;E2BrFX,uC3BsFW;EM3FT,uBN4T2B;C2BrT9B;;AAED;EAGE,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,iB3BorBgC;C2BnrBjC;;AAED;EACE,uB3BirB+B;C2BhrBhC;;AAED;EACE,sBAAgC;EAChC,iBAAgB;CACjB;;AAED;EACE,iBAAgB;CACjB;;A1BrBG;E0ByBA,sBAAqB;C1BzBA;;A0BuBzB;EAMI,qB3B8pB8B;C2B7pB/B;;AAGH;ErBjCI,iCNsT2B;EMrT3B,gCNqT2B;C2BjR1B;;AAJL;ErBnBI,oCNwS2B;EMvS3B,mCNuS2B;C2B3Q1B;;AASL;EACE,yB3BsoBgC;E2BroBhC,iBAAgB;EAChB,0B3B6CiC;E2B5CjC,8C3B6BW;C2BxBZ;;AATD;ErB1DI,2DqBiE8E;CAC/E;;AAGH;EACE,yB3B2nBgC;E2B1nBhC,0B3BmCiC;E2BlCjC,2C3BmBW;C2BdZ;;AARD;ErBrEI,2DNssB2E;C2B1nB5E;;AAQH;EACE,wBAAkC;EAClC,wB3B4mB+B;E2B3mB/B,uBAAiC;EACjC,iBAAgB;CACjB;;AAED;EACE,wBAAkC;EAClC,uBAAiC;CAClC;;AAOD;ECtGE,0B5BiGc;E4BhGd,sB5BgGc;C2BOf;;ACrGC;;EAEE,8BAA6B;CAC9B;;ADmGH;ECzGE,0B5BgGc;E4B/Fd,sB5B+Fc;C2BWf;;ACxGC;;EAEE,8BAA6B;CAC9B;;ADsGH;EC5GE,0B5BkGc;E4BjGd,sB5BiGc;C2BYf;;AC3GC;;EAEE,8BAA6B;CAC9B;;ADyGH;EC/GE,0B5B8Fc;E4B7Fd,sB5B6Fc;C2BmBf;;AC9GC;;EAEE,8BAA6B;CAC9B;;AD4GH;EClHE,0B5B6Fc;E4B5Fd,sB5B4Fc;C2BuBf;;ACjHC;;EAEE,8BAA6B;CAC9B;;ADiHH;EC7GE,8BAA6B;EAC7B,sB5BsFc;C2BwBf;;AACD;EChHE,8BAA6B;EAC7B,mB5ByWmC;C2BxPpC;;AACD;ECnHE,8BAA6B;EAC7B,sB5BuFc;C2B6Bf;;AACD;ECtHE,8BAA6B;EAC7B,sB5BqFc;C2BkCf;;AACD;ECzHE,8BAA6B;EAC7B,sB5BmFc;C2BuCf;;AACD;EC5HE,8BAA6B;EAC7B,sB5BkFc;C2B2Cf;;AAMD;EC3HE,iCAA4B;CD6H7B;;AC3HC;;EAEE,8BAA6B;EAC7B,uCAAkC;CACnC;;AACD;;;;EAIE,YAAW;CACZ;;AACD;;;;EAIE,iCAA4B;CAC7B;;AACD;EAEI,Y5BmDO;CCvER;;A0BkIL;EACE,WAAU;EACV,iBAAgB;EAChB,eAAc;CACf;;AAGD;ErB5JI,mCNssB2E;C2BviB9E;;AACD;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,iB3BsiBgC;C2BriBjC;;AAKD;ErBtKI,6CNgsB2E;EM/rB3E,4CN+rB2E;C2BxhB9E;;AACD;ErB3JI,gDNkrB2E;EMjrB3E,+CNirB2E;C2BrhB9E;;AhB7HG;EgBmIF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAapB;EAfD;IAKI,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,oBAAW;IAAX,qBAAW;QAAX,iBAAW;YAAX,aAAW;IACX,6BAAsB;IAAtB,8BAAsB;IAAtB,+BAAsB;QAAtB,2BAAsB;YAAtB,uBAAsB;GAOvB;EAdH;IAY0B,kB3B2gB6B;G2B3gBK;EAZ5D;IAayB,mB3B0gB8B;G2B1gBK;C9B0zH7D;;Ac18HG;EgB2JF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GA2CpB;EA7CD;IAKI,oBAAW;IAAX,qBAAW;QAAX,iBAAW;YAAX,aAAW;GAuCZ;EA5CH;IAQM,eAAc;IACd,eAAc;GACf;EAVL;IrBlME,8BqBiNoC;IrBhNpC,2BqBgNoC;GAQ/B;EAvBP;IAkBU,2BAA0B;GAC3B;EAnBT;IAqBU,8BAA6B;GAC9B;EAtBT;IrBpLE,6BqB6MmC;IrB5MnC,0BqB4MmC;GAQ9B;EAjCP;IA4BU,0BAAyB;GAC1B;EA7BT;IA+BU,6BAA4B;GAC7B;EAhCT;IAoCQ,iBAAgB;GAMjB;EA1CP;;IAwCU,iBAAgB;GACjB;C9B+yHV;;Acn/HG;EgBiNF;IACE,wB3B0cyB;O2B1czB,qB3B0cyB;Y2B1czB,gB3B0cyB;I2BzczB,4B3B0c+B;O2B1c/B,yB3B0c+B;Y2B1c/B,oB3B0c+B;G2BnchC;EATD;IAKI,sBAAqB;IACrB,YAAW;IACX,uB3Bsb2B;G2Brb5B;C9BsyHJ;;AgCvjID;EACE,sB7B04BkC;E6Bz4BlC,oB7B0Ia;E6BzIb,iBAAgB;EAChB,0B7ByGiC;EMzG/B,uBN4T2B;C6BzT9B;;ACNC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ADIH;EACE,YAAW;CA2BZ;;AA5BD;EAKI,sBAAqB;EACrB,sB7B63BiC;E6B53BjC,qB7B43BiC;E6B33BjC,e7B2F+B;E6B1F/B,aAAiC;CAClC;;AAVH;EAmBI,2BAA0B;CAC3B;;AApBH;EAsBI,sBAAqB;CACtB;;AAvBH;EA0BI,e7ByE+B;C6BxEhC;;AEpCH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBN4T2B;C+B1T9B;;AAED;EAGM,eAAc;EzBoBhB,mCNiS2B;EMhS3B,gCNgS2B;C+BnT1B;;AALL;EzBSI,oCN+S2B;EM9S3B,iCN8S2B;C+B9S1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,oB/BibwC;E+BhbxC,uB/B8DS;E+B7DT,mB/BmoBuC;C+BloBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BqmB0C;E+BpmB1C,kBAAiB;EACjB,kB/BymBwC;E+BxmBxC,e/ByDc;E+BxDd,uB/BkDW;E+BjDX,uB/B2mByC;C+BnmB1C;;A9BjCG;E8B4BA,e/BmJ4C;E+BlJ5C,sBAAqB;EACrB,0B/B2D+B;E+B1D/B,mB/BymBuC;CCroBtC;;A+BpBH;EACE,wBhC6oBwC;EgC5oBxC,mBhCuPoB;CgCtPrB;;AAIG;E1BqBF,kCNkS0B;EMjS1B,+BNiS0B;CgCrTvB;;AAGD;E1BEF,mCNgT0B;EM/S1B,gCN+S0B;CgChTvB;;AAdL;EACE,wBhC2oBuC;EgC1oBvC,oBhCwPoB;CgCvPrB;;AAIG;E1BqBF,kCNmS0B;EMlS1B,+BNkS0B;CgCtTvB;;AAGD;E1BEF,mCNiT0B;EMhT1B,gCNgT0B;CgCjTvB;;ACZP;EACE,sBAAqB;EACrB,sBjCowBgC;EiCnwBhC,ejCiwB+B;EiChwB/B,kBjCwPqB;EiCvPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBN4T2B;CiC3S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCPG;EgCaA,YjC6DS;EiC5DT,sBAAqB;EACrB,gBAAe;ChCZd;;AgCqBL;EACE,qBjCiuBgC;EiChuBhC,oBjCguBgC;EM1wB9B,qBN6wB+B;CiCjuBlC;;AAMD;ECnDE,0BlCyGiC;CiCpDlC;;AhCpCG;EiCbE,0BAAqC;CjCgBtC;;AgCmCL;ECvDE,0BlCiGc;CiCxCf;;AhCxCG;EiCbE,0BAAqC;CjCgBtC;;AgCuCL;EC3DE,0BlCgGc;CiCnCf;;AhC5CG;EiCbE,0BAAqC;CjCgBtC;;AgC2CL;EC/DE,0BlCkGc;CiCjCf;;AhChDG;EiCbE,0BAAqC;CjCgBtC;;AgC+CL;ECnEE,0BlC8Fc;CiCzBf;;AhCpDG;EiCbE,0BAAqC;CjCgBtC;;AgCmDL;ECvEE,0BlC6Fc;CiCpBf;;AhCxDG;EiCbE,0BAAqC;CjCgBtC;;AkCvBL;EACE,mBAAoD;EACpD,oBnCuqBmC;EmCtqBnC,0BnC0GiC;EMzG/B,sBN6T0B;CmCxT7B;;AxB+CG;EwBxDJ;IAOI,mBnCkqBiC;GmChqBpC;CtCowIA;;AsClwID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCkzBmC;EoCjzBnC,oBpCsIa;EoCrIb,8BAA6C;E9BH3C,uBN4T2B;CoCvT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC8OqB;CoC7OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCyxBgC;EoCxxBhC,gBpCuxBiC;EoCtxBjC,yBpCsxBiC;EoCrxBjC,eAAc;CACf;;AAQH;ECxCE,0BrC+qBsC;EqC9qBtC,sBrC+qB4D;EqC9qB5D,erC4qBsC;CoCpoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BrCmrBsC;EqClrBtC,sBrCmrByD;EqClrBzD,erCgrBsC;CoCroBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BrCurBsC;EqCtrBtC,sBrCwrB4D;EqCvrB5D,erCorBsC;CoCtoBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BrC4rBsC;EqC3rBtC,sBrC4rB2D;EqC3rB3D,erCyrBsC;CoCxoBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACXH;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyCx2ID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCw0BoC;EsCv0BpC,kBtCs0BkC;EsCr0BlC,mBAAkB;EAClB,0BtCgGiC;EMzG/B,uBN4T2B;CsCjT9B;;AACD;EACE,atCg0BkC;EsC/zBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAGD;ECYE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDV7I,mCtCwzBkC;UsCxzBlC,2BtCwzBkC;CsCvzBnC;;AAGD;EACE,2DtC0zBgD;OsC1zBhD,sDtC0zBgD;UsC1zBhD,mDtC0zBgD;CsCzzBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,ezCiF+B;CyChFhC;;AxCNC;EwCUA,ezC6E+B;EyC5E/B,sBAAqB;EACrB,0BzC8E+B;CCvF9B;;AwCJL;EAiBI,ezCsE+B;EyCrE/B,0BzCwE+B;CyCvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBzC+yBsC;EyC7yBtC,oBzCoHgB;EyCnHhB,uBzCwCW;EyCvCX,uCzCwCW;CyCQZ;;AAzDD;EnCpCI,iCNsT2B;EMrT3B,gCNqT2B;CyCrQ5B;;AAbH;EAgBI,iBAAgB;EnCtChB,oCNwS2B;EMvS3B,mCNuS2B;CyChQ5B;;AxC5CC;EwC+CA,sBAAqB;CxC5CpB;;AwCuBL;EA0BI,ezCoC+B;EyCnC/B,oBzCuYwC;EyCtYxC,uBzCoBS;CyCXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,ezC2B6B;CyC1B9B;;AApCL;EAyCI,WAAU;EACV,YzCMS;EyCLT,0BzCWY;EyCVZ,sBzCUY;CyCEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,ezCqwB8D;CyCpwB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e1C6qBoC;E0C5qBpC,0B1C6qBoC;C0C5qBrC;;AAED;;EACE,e1CwqBoC;C0CxpBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CiqBkC;E0ChqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C2pBkC;E0C1pBlC,sB1C0pBkC;C0CzpBnC;;AArBH;EACE,e1CirBoC;E0ChrBpC,0B1CirBoC;C0ChrBrC;;AAED;;EACE,e1C4qBoC;C0C5pBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CqqBkC;E0CpqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C+pBkC;E0C9pBlC,sB1C8pBkC;C0C7pBnC;;AArBH;EACE,e1CqrBoC;E0CprBpC,0B1CqrBoC;C0CprBrC;;AAED;;EACE,e1CgrBoC;C0ChqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CyqBkC;E0CxqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CmqBkC;E0ClqBlC,sB1CkqBkC;C0CjqBnC;;AArBH;EACE,e1C0rBoC;E0CzrBpC,0B1C0rBoC;C0CzrBrC;;AAED;;EACE,e1CqrBoC;C0CrqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1C8qBkC;E0C7qBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1Cw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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0.5rem 1rem;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n color: #fff;\n background-color: #0275d8;\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-right-radius: calc(0.3rem - 1px);\n border-top-left-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-grid.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aEqMK;IFpML,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aEsMK;IFrML,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aEuMK;IFtML,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEwMM;IFvMN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe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AiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL2hCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap.css
New file
0,0 → 1,9320
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
@media print {
*,
*::before,
*::after,
p::first-letter,
div::first-letter,
blockquote::first-letter,
li::first-letter,
p::first-line,
div::first-line,
blockquote::first-line,
li::first-line {
text-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
 
h1, .h1 {
font-size: 2.5rem;
}
 
h2, .h2 {
font-size: 2rem;
}
 
h3, .h3 {
font-size: 1.75rem;
}
 
h4, .h4 {
font-size: 1.5rem;
}
 
h5, .h5 {
font-size: 1.25rem;
}
 
h6, .h6 {
font-size: 1rem;
}
 
.lead {
font-size: 1.25rem;
font-weight: 300;
}
 
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.1;
}
 
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
 
small,
.small {
font-size: 80%;
font-weight: normal;
}
 
mark,
.mark {
padding: 0.2em;
background-color: #fcf8e3;
}
 
.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: 5px;
}
 
.initialism {
font-size: 90%;
text-transform: uppercase;
}
 
.blockquote {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-left: 0.25rem solid #eceeef;
}
 
.blockquote-footer {
display: block;
font-size: 80%;
color: #636c72;
}
 
.blockquote-footer::before {
content: "\2014 \00A0";
}
 
.blockquote-reverse {
padding-right: 1rem;
padding-left: 0;
text-align: right;
border-right: 0.25rem solid #eceeef;
border-left: 0;
}
 
.blockquote-reverse .blockquote-footer::before {
content: "";
}
 
.blockquote-reverse .blockquote-footer::after {
content: "\00A0 \2014";
}
 
.img-fluid {
max-width: 100%;
height: auto;
}
 
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
max-width: 100%;
height: auto;
}
 
.figure {
display: inline-block;
}
 
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
 
.figure-caption {
font-size: 90%;
color: #636c72;
}
 
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
 
code {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
border-radius: 0.25rem;
}
 
a > code {
padding: 0;
color: inherit;
background-color: inherit;
}
 
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #292b2c;
border-radius: 0.2rem;
}
 
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
}
 
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 90%;
color: #292b2c;
}
 
pre code {
padding: 0;
font-size: inherit;
color: inherit;
background-color: transparent;
border-radius: 0;
}
 
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
 
.table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
}
 
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #eceeef;
}
 
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
 
.table tbody + tbody {
border-top: 2px solid #eceeef;
}
 
.table .table {
background-color: #fff;
}
 
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
 
.table-bordered {
border: 1px solid #eceeef;
}
 
.table-bordered th,
.table-bordered td {
border: 1px solid #eceeef;
}
 
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
 
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
 
.table-hover tbody tr:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-success,
.table-success > th,
.table-success > td {
background-color: #dff0d8;
}
 
.table-hover .table-success:hover {
background-color: #d0e9c6;
}
 
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #d0e9c6;
}
 
.table-info,
.table-info > th,
.table-info > td {
background-color: #d9edf7;
}
 
.table-hover .table-info:hover {
background-color: #c4e3f3;
}
 
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #c4e3f3;
}
 
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #fcf8e3;
}
 
.table-hover .table-warning:hover {
background-color: #faf2cc;
}
 
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #faf2cc;
}
 
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f2dede;
}
 
.table-hover .table-danger:hover {
background-color: #ebcccc;
}
 
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #ebcccc;
}
 
.thead-inverse th {
color: #fff;
background-color: #292b2c;
}
 
.thead-default th {
color: #464a4c;
background-color: #eceeef;
}
 
.table-inverse {
color: #fff;
background-color: #292b2c;
}
 
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
border-color: #fff;
}
 
.table-inverse.table-bordered {
border: 0;
}
 
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
 
.table-responsive.table-bordered {
border: 0;
}
 
.form-control {
display: block;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
background-color: #fff;
background-image: none;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}
 
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
 
.form-control:focus {
color: #464a4c;
background-color: #fff;
border-color: #5cb3fd;
outline: none;
}
 
.form-control::-webkit-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::-moz-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:-ms-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:disabled, .form-control[readonly] {
background-color: #eceeef;
opacity: 1;
}
 
.form-control:disabled {
cursor: not-allowed;
}
 
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
 
select.form-control:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.form-control-file,
.form-control-range {
display: block;
}
 
.col-form-label {
padding-top: calc(0.5rem - 1px * 2);
padding-bottom: calc(0.5rem - 1px * 2);
margin-bottom: 0;
}
 
.col-form-label-lg {
padding-top: calc(0.75rem - 1px * 2);
padding-bottom: calc(0.75rem - 1px * 2);
font-size: 1.25rem;
}
 
.col-form-label-sm {
padding-top: calc(0.25rem - 1px * 2);
padding-bottom: calc(0.25rem - 1px * 2);
font-size: 0.875rem;
}
 
.col-form-legend {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
font-size: 1rem;
}
 
.form-control-static {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
line-height: 1.25;
border: solid transparent;
border-width: 1px 0;
}
 
.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn {
padding-right: 0;
padding-left: 0;
}
 
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 1.8125rem;
}
 
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 3.166667rem;
}
 
.form-group {
margin-bottom: 1rem;
}
 
.form-text {
display: block;
margin-top: 0.25rem;
}
 
.form-check {
position: relative;
display: block;
margin-bottom: 0.5rem;
}
 
.form-check.disabled .form-check-label {
color: #636c72;
cursor: not-allowed;
}
 
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
cursor: pointer;
}
 
.form-check-input {
position: absolute;
margin-top: 0.25rem;
margin-left: -1.25rem;
}
 
.form-check-input:only-child {
position: static;
}
 
.form-check-inline {
display: inline-block;
}
 
.form-check-inline .form-check-label {
vertical-align: middle;
}
 
.form-check-inline + .form-check-inline {
margin-left: 0.75rem;
}
 
.form-control-feedback {
margin-top: 0.25rem;
}
 
.form-control-success,
.form-control-warning,
.form-control-danger {
padding-right: 2.25rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
background-size: 1.125rem 1.125rem;
}
 
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .col-form-label,
.has-success .form-check-label,
.has-success .custom-control {
color: #5cb85c;
}
 
.has-success .form-control {
border-color: #5cb85c;
}
 
.has-success .input-group-addon {
color: #5cb85c;
border-color: #5cb85c;
background-color: #eaf6ea;
}
 
.has-success .form-control-success {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
}
 
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .col-form-label,
.has-warning .form-check-label,
.has-warning .custom-control {
color: #f0ad4e;
}
 
.has-warning .form-control {
border-color: #f0ad4e;
}
 
.has-warning .input-group-addon {
color: #f0ad4e;
border-color: #f0ad4e;
background-color: white;
}
 
.has-warning .form-control-warning {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
 
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .col-form-label,
.has-danger .form-check-label,
.has-danger .custom-control {
color: #d9534f;
}
 
.has-danger .form-control {
border-color: #d9534f;
}
 
.has-danger .input-group-addon {
color: #d9534f;
border-color: #d9534f;
background-color: #fdf7f7;
}
 
.has-danger .form-control-danger {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}
 
.form-inline {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.form-inline .form-check {
width: 100%;
}
 
@media (min-width: 576px) {
.form-inline label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
width: auto;
}
.form-inline .form-control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-check {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
margin-top: 0;
margin-bottom: 0;
}
.form-inline .form-check-label {
padding-left: 0;
}
.form-inline .form-check-input {
position: relative;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0;
}
.form-inline .custom-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
}
.form-inline .custom-control-indicator {
position: static;
display: inline-block;
margin-right: 0.25rem;
vertical-align: text-bottom;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
 
.btn {
display: inline-block;
font-weight: normal;
line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
 
.btn:focus, .btn:hover {
text-decoration: none;
}
 
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
}
 
.btn.disabled, .btn:disabled {
cursor: not-allowed;
opacity: .65;
}
 
.btn:active, .btn.active {
background-image: none;
}
 
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
 
.btn-primary {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:hover {
color: #fff;
background-color: #025aa5;
border-color: #01549b;
}
 
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-primary.disabled, .btn-primary:disabled {
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #025aa5;
background-image: none;
border-color: #01549b;
}
 
.btn-secondary {
color: #292b2c;
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:hover {
color: #292b2c;
background-color: #e6e6e6;
border-color: #adadad;
}
 
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-secondary.disabled, .btn-secondary:disabled {
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #292b2c;
background-color: #e6e6e6;
background-image: none;
border-color: #adadad;
}
 
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #2aabd2;
}
 
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-info.disabled, .btn-info:disabled {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #31b0d5;
background-image: none;
border-color: #2aabd2;
}
 
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #419641;
}
 
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-success.disabled, .btn-success:disabled {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #449d44;
background-image: none;
border-color: #419641;
}
 
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #eb9316;
}
 
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-warning.disabled, .btn-warning:disabled {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #fff;
background-color: #ec971f;
background-image: none;
border-color: #eb9316;
}
 
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #c12e2a;
}
 
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-danger.disabled, .btn-danger:disabled {
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #c9302c;
background-image: none;
border-color: #c12e2a;
}
 
.btn-outline-primary {
color: #0275d8;
background-image: none;
background-color: transparent;
border-color: #0275d8;
}
 
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #0275d8;
background-color: transparent;
}
 
.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-secondary {
color: #ccc;
background-image: none;
background-color: transparent;
border-color: #ccc;
}
 
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #ccc;
background-color: transparent;
}
 
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-info {
color: #5bc0de;
background-image: none;
background-color: transparent;
border-color: #5bc0de;
}
 
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #5bc0de;
background-color: transparent;
}
 
.btn-outline-info:active, .btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-success {
color: #5cb85c;
background-image: none;
background-color: transparent;
border-color: #5cb85c;
}
 
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #5cb85c;
background-color: transparent;
}
 
.btn-outline-success:active, .btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-warning {
color: #f0ad4e;
background-image: none;
background-color: transparent;
border-color: #f0ad4e;
}
 
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #f0ad4e;
background-color: transparent;
}
 
.btn-outline-warning:active, .btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-danger {
color: #d9534f;
background-image: none;
background-color: transparent;
border-color: #d9534f;
}
 
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #d9534f;
background-color: transparent;
}
 
.btn-outline-danger:active, .btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-link {
font-weight: normal;
color: #0275d8;
border-radius: 0;
}
 
.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
background-color: transparent;
}
 
.btn-link, .btn-link:focus, .btn-link:active {
border-color: transparent;
}
 
.btn-link:hover {
border-color: transparent;
}
 
.btn-link:focus, .btn-link:hover {
color: #014c8c;
text-decoration: underline;
background-color: transparent;
}
 
.btn-link:disabled {
color: #636c72;
}
 
.btn-link:disabled:focus, .btn-link:disabled:hover {
text-decoration: none;
}
 
.btn-lg, .btn-group-lg > .btn {
padding: 0.75rem 1.5rem;
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;
}
 
.btn-block {
display: block;
width: 100%;
}
 
.btn-block + .btn-block {
margin-top: 0.5rem;
}
 
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
 
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
 
.fade.show {
opacity: 1;
}
 
.collapse {
display: none;
}
 
.collapse.show {
display: block;
}
 
tr.collapse.show {
display: table-row;
}
 
tbody.collapse.show {
display: table-row-group;
}
 
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
 
.dropup,
.dropdown {
position: relative;
}
 
.dropdown-toggle::after {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
 
.dropdown-toggle:focus {
outline: 0;
}
 
.dropup .dropdown-toggle::after {
border-top: 0;
border-bottom: 0.3em solid;
}
 
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
font-size: 1rem;
color: #292b2c;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.dropdown-divider {
height: 1px;
margin: 0.5rem 0;
overflow: hidden;
background-color: #eceeef;
}
 
.dropdown-item {
display: block;
width: 100%;
padding: 3px 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
text-align: inherit;
white-space: nowrap;
background: none;
border: 0;
}
 
.dropdown-item:focus, .dropdown-item:hover {
color: #1d1e1f;
text-decoration: none;
background-color: #f7f7f9;
}
 
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0275d8;
}
 
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: transparent;
}
 
.show > .dropdown-menu {
display: block;
}
 
.show > a {
outline: 0;
}
 
.dropdown-menu-right {
right: 0;
left: auto;
}
 
.dropdown-menu-left {
right: auto;
left: 0;
}
 
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #636c72;
white-space: nowrap;
}
 
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
 
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 0.125rem;
}
 
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
 
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
 
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
z-index: 2;
}
 
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
 
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.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-left: -1px;
}
 
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
 
.btn-toolbar .input-group {
width: auto;
}
 
.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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
 
.btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
 
.btn + .dropdown-toggle-split::after {
margin-left: 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: 1.125rem;
padding-left: 1.125rem;
}
 
.btn-group-vertical {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
width: 100%;
}
 
.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-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
 
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.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-right-radius: 0;
border-top-left-radius: 0;
}
 
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
 
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
}
 
.input-group .form-control {
position: relative;
z-index: 2;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0;
}
 
.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
z-index: 3;
}
 
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
 
.input-group-addon,
.input-group-btn {
white-space: nowrap;
vertical-align: middle;
}
 
.input-group-addon {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
line-height: 1.25;
color: #464a4c;
text-align: center;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
 
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.input-group-addon:not(:last-child) {
border-right: 0;
}
 
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.form-control + .input-group-addon:not(:first-child) {
border-left: 0;
}
 
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
 
.input-group-btn > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
 
.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
z-index: 3;
}
 
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
margin-right: -1px;
}
 
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
z-index: 2;
margin-left: -1px;
}
 
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
z-index: 3;
}
 
.custom-control {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
cursor: pointer;
}
 
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0;
}
 
.custom-control-input:checked ~ .custom-control-indicator {
color: #fff;
background-color: #0275d8;
}
 
.custom-control-input:focus ~ .custom-control-indicator {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
}
 
.custom-control-input:active ~ .custom-control-indicator {
color: #fff;
background-color: #8fcafe;
}
 
.custom-control-input:disabled ~ .custom-control-indicator {
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
cursor: not-allowed;
}
 
.custom-control-indicator {
position: absolute;
top: 0.25rem;
left: 0;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #ddd;
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
}
 
.custom-checkbox .custom-control-indicator {
border-radius: 0.25rem;
}
 
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
 
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
background-color: #0275d8;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
 
.custom-radio .custom-control-indicator {
border-radius: 50%;
}
 
.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
 
.custom-controls-stacked {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
 
.custom-controls-stacked .custom-control {
margin-bottom: 0.25rem;
}
 
.custom-controls-stacked .custom-control + .custom-control {
margin-left: 0;
}
 
.custom-select {
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.25;
color: #464a4c;
vertical-align: middle;
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
-webkit-background-size: 8px 10px;
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-moz-appearance: none;
-webkit-appearance: none;
}
 
.custom-select:focus {
border-color: #5cb3fd;
outline: none;
}
 
.custom-select:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.custom-select:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-select::-ms-expand {
opacity: 0;
}
 
.custom-select-sm {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
font-size: 75%;
}
 
.custom-file {
position: relative;
display: inline-block;
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
cursor: pointer;
}
 
.custom-file-input {
min-width: 14rem;
max-width: 100%;
height: 2.5rem;
margin: 0;
filter: alpha(opacity=0);
opacity: 0;
}
 
.custom-file-control {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 5;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
 
.custom-file-control::before {
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
z-index: 6;
display: block;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0 0.25rem 0.25rem 0;
}
 
.custom-file-control:lang(en)::before {
content: "Browse";
}
 
.nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.nav-link {
display: block;
padding: 0.5em 1em;
}
 
.nav-link:focus, .nav-link:hover {
text-decoration: none;
}
 
.nav-link.disabled {
color: #636c72;
cursor: not-allowed;
}
 
.nav-tabs {
border-bottom: 1px solid #ddd;
}
 
.nav-tabs .nav-item {
margin-bottom: -1px;
}
 
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
border-color: #eceeef #eceeef #ddd;
}
 
.nav-tabs .nav-link.disabled {
color: #636c72;
background-color: transparent;
border-color: transparent;
}
 
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #464a4c;
background-color: #fff;
border-color: #ddd #ddd #fff;
}
 
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.nav-pills .nav-link {
border-radius: 0.25rem;
}
 
.nav-pills .nav-link.active,
.nav-pills .nav-item.show .nav-link {
color: #fff;
cursor: default;
background-color: #0275d8;
}
 
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
 
.nav-justified .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
text-align: center;
}
 
.tab-content > .tab-pane {
display: none;
}
 
.tab-content > .active {
display: block;
}
 
.navbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 0.5rem 1rem;
}
 
.navbar-brand {
display: inline-block;
padding-top: .25rem;
padding-bottom: .25rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
 
.navbar-brand:focus, .navbar-brand:hover {
text-decoration: none;
}
 
.navbar-nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
 
.navbar-text {
display: inline-block;
padding-top: .425rem;
padding-bottom: .425rem;
}
 
.navbar-toggler {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
padding: 0.25rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.navbar-toggler:focus, .navbar-toggler:hover {
text-decoration: none;
}
 
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.navbar-toggler-left {
position: absolute;
left: 1rem;
}
 
.navbar-toggler-right {
position: absolute;
right: 1rem;
}
 
@media (max-width: 575px) {
.navbar-toggleable .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 576px) {
.navbar-toggleable {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable .navbar-toggler {
display: none;
}
}
 
@media (max-width: 767px) {
.navbar-toggleable-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 768px) {
.navbar-toggleable-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-sm > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-sm .navbar-toggler {
display: none;
}
}
 
@media (max-width: 991px) {
.navbar-toggleable-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-md > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 992px) {
.navbar-toggleable-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-md > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-md .navbar-toggler {
display: none;
}
}
 
@media (max-width: 1199px) {
.navbar-toggleable-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-lg > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 1200px) {
.navbar-toggleable-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-lg > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-lg .navbar-toggler {
display: none;
}
}
 
.navbar-toggleable-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
 
.navbar-toggleable-xl > .container {
padding-right: 0;
padding-left: 0;
}
 
.navbar-toggleable-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
 
.navbar-toggleable-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
 
.navbar-toggleable-xl > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
 
.navbar-toggleable-xl .navbar-toggler {
display: none;
}
 
.navbar-light .navbar-brand,
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
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 .open > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-toggler {
border-color: rgba(0, 0, 0, 0.1);
}
 
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-toggler {
color: white;
}
 
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-toggler:focus,
.navbar-inverse .navbar-toggler:hover {
color: white;
}
 
.navbar-inverse .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.5);
}
 
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
color: rgba(255, 255, 255, 0.75);
}
 
.navbar-inverse .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
 
.navbar-inverse .navbar-nav .open > .nav-link,
.navbar-inverse .navbar-nav .active > .nav-link,
.navbar-inverse .navbar-nav .nav-link.open,
.navbar-inverse .navbar-nav .nav-link.active {
color: white;
}
 
.navbar-inverse .navbar-toggler {
border-color: rgba(255, 255, 255, 0.1);
}
 
.navbar-inverse .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-inverse .navbar-text {
color: rgba(255, 255, 255, 0.5);
}
 
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
 
.card-block {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
}
 
.card-title {
margin-bottom: 0.75rem;
}
 
.card-subtitle {
margin-top: -0.375rem;
margin-bottom: 0;
}
 
.card-text:last-child {
margin-bottom: 0;
}
 
.card-link:hover {
text-decoration: none;
}
 
.card-link + .card-link {
margin-left: 1.25rem;
}
 
.card > .list-group:first-child .list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.card-header {
padding: 0.75rem 1.25rem;
margin-bottom: 0;
background-color: #f7f7f9;
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.75rem 1.25rem;
background-color: #f7f7f9;
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.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0;
}
 
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem;
}
 
.card-primary {
background-color: #0275d8;
border-color: #0275d8;
}
 
.card-primary .card-header,
.card-primary .card-footer {
background-color: transparent;
}
 
.card-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.card-success .card-header,
.card-success .card-footer {
background-color: transparent;
}
 
.card-info {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.card-info .card-header,
.card-info .card-footer {
background-color: transparent;
}
 
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.card-warning .card-header,
.card-warning .card-footer {
background-color: transparent;
}
 
.card-danger {
background-color: #d9534f;
border-color: #d9534f;
}
 
.card-danger .card-header,
.card-danger .card-footer {
background-color: transparent;
}
 
.card-outline-primary {
background-color: transparent;
border-color: #0275d8;
}
 
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
 
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
 
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
 
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
 
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
 
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-header,
.card-inverse .card-footer {
background-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
 
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff;
}
 
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-subtitle,
.card-inverse .card-blockquote .blockquote-footer {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-link:focus, .card-inverse .card-link:hover {
color: #fff;
}
 
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0;
}
 
.card-img {
border-radius: calc(0.25rem - 1px);
}
 
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
}
 
.card-img-top {
border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
 
.card-img-bottom {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
 
@media (min-width: 576px) {
.card-deck {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-deck .card {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.card-deck .card:not(:first-child) {
margin-left: 15px;
}
.card-deck .card:not(:last-child) {
margin-right: 15px;
}
}
 
@media (min-width: 576px) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
}
.card-group .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0;
}
}
 
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
}
.card-columns .card {
display: inline-block;
width: 100%;
margin-bottom: 0.75rem;
}
}
 
.breadcrumb {
padding: 0.75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.breadcrumb::after {
display: block;
content: "";
clear: both;
}
 
.breadcrumb-item {
float: left;
}
 
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
padding-left: 0.5rem;
color: #636c72;
content: "/";
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: underline;
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: none;
}
 
.breadcrumb-item.active {
color: #636c72;
}
 
.pagination {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: 0.25rem;
}
 
.page-item:first-child .page-link {
margin-left: 0;
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.page-item:last-child .page-link {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.page-item.active .page-link {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
 
.page-link {
position: relative;
display: block;
padding: 0.5rem 0.75rem;
margin-left: -1px;
line-height: 1.25;
color: #0275d8;
background-color: #fff;
border: 1px solid #ddd;
}
 
.page-link:focus, .page-link:hover {
color: #014c8c;
text-decoration: none;
background-color: #eceeef;
border-color: #ddd;
}
 
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
 
.pagination-lg .page-item:first-child .page-link {
border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
}
 
.pagination-lg .page-item:last-child .page-link {
border-bottom-right-radius: 0.3rem;
border-top-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-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
}
 
.pagination-sm .page-item:last-child .page-link {
border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
}
 
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
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;
}
 
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
 
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
 
.badge-default {
background-color: #636c72;
}
 
.badge-default[href]:focus, .badge-default[href]:hover {
background-color: #4b5257;
}
 
.badge-primary {
background-color: #0275d8;
}
 
.badge-primary[href]:focus, .badge-primary[href]:hover {
background-color: #025aa5;
}
 
.badge-success {
background-color: #5cb85c;
}
 
.badge-success[href]:focus, .badge-success[href]:hover {
background-color: #449d44;
}
 
.badge-info {
background-color: #5bc0de;
}
 
.badge-info[href]:focus, .badge-info[href]:hover {
background-color: #31b0d5;
}
 
.badge-warning {
background-color: #f0ad4e;
}
 
.badge-warning[href]:focus, .badge-warning[href]:hover {
background-color: #ec971f;
}
 
.badge-danger {
background-color: #d9534f;
}
 
.badge-danger[href]:focus, .badge-danger[href]:hover {
background-color: #c9302c;
}
 
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #eceeef;
border-radius: 0.3rem;
}
 
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem;
}
}
 
.jumbotron-hr {
border-top-color: #d0d5d8;
}
 
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0;
}
 
.alert {
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.alert-heading {
color: inherit;
}
 
.alert-link {
font-weight: bold;
}
 
.alert-dismissible .close {
position: relative;
top: -0.75rem;
right: -1.25rem;
padding: 0.75rem 1.25rem;
color: inherit;
}
 
.alert-success {
background-color: #dff0d8;
border-color: #d0e9c6;
color: #3c763d;
}
 
.alert-success hr {
border-top-color: #c1e2b3;
}
 
.alert-success .alert-link {
color: #2b542c;
}
 
.alert-info {
background-color: #d9edf7;
border-color: #bcdff1;
color: #31708f;
}
 
.alert-info hr {
border-top-color: #a6d5ec;
}
 
.alert-info .alert-link {
color: #245269;
}
 
.alert-warning {
background-color: #fcf8e3;
border-color: #faf2cc;
color: #8a6d3b;
}
 
.alert-warning hr {
border-top-color: #f7ecb5;
}
 
.alert-warning .alert-link {
color: #66512c;
}
 
.alert-danger {
background-color: #f2dede;
border-color: #ebcccc;
color: #a94442;
}
 
.alert-danger hr {
border-top-color: #e4b9b9;
}
 
.alert-danger .alert-link {
color: #843534;
}
 
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@-o-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
.progress {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
font-size: 0.75rem;
line-height: 1rem;
text-align: center;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.progress-bar {
height: 1rem;
color: #fff;
background-color: #0275d8;
}
 
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
 
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
-o-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
 
.media {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
 
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.list-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
}
 
.list-group-item-action {
width: 100%;
color: #464a4c;
text-align: inherit;
}
 
.list-group-item-action .list-group-item-heading {
color: #292b2c;
}
 
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
background-color: #f7f7f9;
}
 
.list-group-item-action:active {
color: #292b2c;
background-color: #eceeef;
}
 
.list-group-item {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
 
.list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.list-group-item:focus, .list-group-item:hover {
text-decoration: none;
}
 
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #fff;
}
 
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
color: inherit;
}
 
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
color: #636c72;
}
 
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.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 {
color: inherit;
}
 
.list-group-item.active .list-group-item-text {
color: #daeeff;
}
 
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
 
.list-group-flush:first-child .list-group-item:first-child {
border-top: 0;
}
 
.list-group-flush:last-child .list-group-item:last-child {
border-bottom: 0;
}
 
.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,
button.list-group-item-success.active {
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,
button.list-group-item-info.active {
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,
button.list-group-item-warning.active {
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,
button.list-group-item-danger.active {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
 
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
 
.embed-responsive::before {
display: block;
content: "";
}
 
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
 
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
 
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
 
.embed-responsive-4by3::before {
padding-top: 75%;
}
 
.embed-responsive-1by1::before {
padding-top: 100%;
}
 
.close {
float: right;
font-size: 1.5rem;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
}
 
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
 
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
 
.modal-open {
overflow: hidden;
}
 
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: hidden;
outline: 0;
}
 
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
}
 
.modal.show .modal-dialog {
-webkit-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;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
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;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
 
.modal-backdrop.fade {
opacity: 0;
}
 
.modal-backdrop.show {
opacity: 0.5;
}
 
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
 
.modal-title {
margin-bottom: 0;
line-height: 1.5;
}
 
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
}
 
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #eceeef;
}
 
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
 
.modal-footer > :not(:last-child) {
margin-right: .25rem;
}
 
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
 
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto;
}
.modal-sm {
max-width: 300px;
}
}
 
@media (min-width: 992px) {
.modal-lg {
max-width: 800px;
}
}
 
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
}
 
.tooltip.show {
opacity: 0.9;
}
 
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
padding: 5px 0;
margin-top: -3px;
}
 
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
bottom: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
 
.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
padding: 0 5px;
margin-left: 3px;
}
 
.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
top: 50%;
left: 0;
margin-top: -5px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
 
.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
padding: 5px 0;
margin-top: 3px;
}
 
.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
top: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
 
.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
padding: 0 5px;
margin-left: -3px;
}
 
.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
top: 50%;
right: 0;
margin-top: -5px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
 
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem;
}
 
.tooltip-inner::before {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: block;
max-width: 276px;
padding: 1px;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
 
.popover.popover-top, .popover.bs-tether-element-attached-bottom {
margin-top: -10px;
}
 
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
left: 50%;
border-bottom-width: 0;
}
 
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
 
.popover.popover-right, .popover.bs-tether-element-attached-left {
margin-left: 10px;
}
 
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
top: 50%;
border-left-width: 0;
}
 
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
 
.popover.popover-bottom, .popover.bs-tether-element-attached-top {
margin-top: 10px;
}
 
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
left: 50%;
border-top-width: 0;
}
 
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
top: -10px;
margin-left: -10px;
border-bottom-color: #f7f7f7;
}
 
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 20px;
margin-left: -10px;
content: "";
border-bottom: 1px solid #f7f7f7;
}
 
.popover.popover-left, .popover.bs-tether-element-attached-right {
margin-left: -10px;
}
 
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
top: 50%;
border-right-width: 0;
}
 
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
}
 
.popover-title {
padding: 8px 14px;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
 
.popover-title:empty {
display: none;
}
 
.popover-content {
padding: 9px 14px;
}
 
.popover::before,
.popover::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover::before {
content: "";
border-width: 11px;
}
 
.popover::after {
content: "";
border-width: 10px;
}
 
.carousel {
position: relative;
}
 
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
 
.carousel-item {
position: relative;
display: none;
width: 100%;
}
 
@media (-webkit-transform-3d) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
 
.carousel-item-next,
.carousel-item-prev {
position: absolute;
top: 0;
}
 
@media (-webkit-transform-3d) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: 0.5;
}
 
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9;
}
 
.carousel-control-prev {
left: 0;
}
 
.carousel-control-next {
right: 0;
}
 
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 20px;
height: 20px;
background: transparent no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
 
.carousel-control-next-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
 
.carousel-indicators {
position: absolute;
right: 0;
bottom: 10px;
left: 0;
z-index: 15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none;
}
 
.carousel-indicators li {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
max-width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
 
.carousel-indicators li::before {
position: absolute;
top: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators li::after {
position: absolute;
bottom: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators .active {
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;
}
 
.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;
}
 
.bg-faded {
background-color: #f7f7f7;
}
 
.bg-primary {
background-color: #0275d8 !important;
}
 
a.bg-primary:focus, a.bg-primary:hover {
background-color: #025aa5 !important;
}
 
.bg-success {
background-color: #5cb85c !important;
}
 
a.bg-success:focus, a.bg-success:hover {
background-color: #449d44 !important;
}
 
.bg-info {
background-color: #5bc0de !important;
}
 
a.bg-info:focus, a.bg-info:hover {
background-color: #31b0d5 !important;
}
 
.bg-warning {
background-color: #f0ad4e !important;
}
 
a.bg-warning:focus, a.bg-warning:hover {
background-color: #ec971f !important;
}
 
.bg-danger {
background-color: #d9534f !important;
}
 
a.bg-danger:focus, a.bg-danger:hover {
background-color: #c9302c !important;
}
 
.bg-inverse {
background-color: #292b2c !important;
}
 
a.bg-inverse:focus, a.bg-inverse:hover {
background-color: #101112 !important;
}
 
.border-0 {
border: 0 !important;
}
 
.border-top-0 {
border-top: 0 !important;
}
 
.border-right-0 {
border-right: 0 !important;
}
 
.border-bottom-0 {
border-bottom: 0 !important;
}
 
.border-left-0 {
border-left: 0 !important;
}
 
.rounded {
border-radius: 0.25rem;
}
 
.rounded-top {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-right {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.rounded-bottom {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.rounded-left {
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-circle {
border-radius: 50%;
}
 
.rounded-0 {
border-radius: 0;
}
 
.clearfix::after {
display: block;
content: "";
clear: both;
}
 
.d-none {
display: none !important;
}
 
.d-inline {
display: inline !important;
}
 
.d-inline-block {
display: inline-block !important;
}
 
.d-block {
display: block !important;
}
 
.d-table {
display: table !important;
}
 
.d-table-cell {
display: table-cell !important;
}
 
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
 
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
 
@media (min-width: 576px) {
.d-sm-none {
display: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 768px) {
.d-md-none {
display: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 992px) {
.d-lg-none {
display: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 1200px) {
.d-xl-none {
display: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
.flex-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
 
.flex-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
 
.flex-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
 
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
 
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
 
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
 
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
 
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
 
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
 
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
 
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
 
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
 
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
 
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
 
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
 
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
 
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
 
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
 
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
 
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
 
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
 
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
 
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
 
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
 
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
 
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
 
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
 
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
 
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
 
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
 
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
 
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
 
@media (min-width: 576px) {
.flex-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-sm-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 768px) {
.flex-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-md-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 992px) {
.flex-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-lg-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 1200px) {
.flex-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-xl-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
.float-left {
float: left !important;
}
 
.float-right {
float: right !important;
}
 
.float-none {
float: none !important;
}
 
@media (min-width: 576px) {
.float-sm-left {
float: left !important;
}
.float-sm-right {
float: right !important;
}
.float-sm-none {
float: none !important;
}
}
 
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
.float-md-right {
float: right !important;
}
.float-md-none {
float: none !important;
}
}
 
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
.float-lg-right {
float: right !important;
}
.float-lg-none {
float: none !important;
}
}
 
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
.float-xl-right {
float: right !important;
}
.float-xl-none {
float: none !important;
}
}
 
.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: 1030;
}
 
.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;
}
 
.w-25 {
width: 25% !important;
}
 
.w-50 {
width: 50% !important;
}
 
.w-75 {
width: 75% !important;
}
 
.w-100 {
width: 100% !important;
}
 
.h-25 {
height: 25% !important;
}
 
.h-50 {
height: 50% !important;
}
 
.h-75 {
height: 75% !important;
}
 
.h-100 {
height: 100% !important;
}
 
.mw-100 {
max-width: 100% !important;
}
 
.mh-100 {
max-height: 100% !important;
}
 
.m-0 {
margin: 0 0 !important;
}
 
.mt-0 {
margin-top: 0 !important;
}
 
.mr-0 {
margin-right: 0 !important;
}
 
.mb-0 {
margin-bottom: 0 !important;
}
 
.ml-0 {
margin-left: 0 !important;
}
 
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
 
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
 
.m-1 {
margin: 0.25rem 0.25rem !important;
}
 
.mt-1 {
margin-top: 0.25rem !important;
}
 
.mr-1 {
margin-right: 0.25rem !important;
}
 
.mb-1 {
margin-bottom: 0.25rem !important;
}
 
.ml-1 {
margin-left: 0.25rem !important;
}
 
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
 
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
 
.m-2 {
margin: 0.5rem 0.5rem !important;
}
 
.mt-2 {
margin-top: 0.5rem !important;
}
 
.mr-2 {
margin-right: 0.5rem !important;
}
 
.mb-2 {
margin-bottom: 0.5rem !important;
}
 
.ml-2 {
margin-left: 0.5rem !important;
}
 
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
 
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
 
.m-3 {
margin: 1rem 1rem !important;
}
 
.mt-3 {
margin-top: 1rem !important;
}
 
.mr-3 {
margin-right: 1rem !important;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
.ml-3 {
margin-left: 1rem !important;
}
 
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
 
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
 
.m-4 {
margin: 1.5rem 1.5rem !important;
}
 
.mt-4 {
margin-top: 1.5rem !important;
}
 
.mr-4 {
margin-right: 1.5rem !important;
}
 
.mb-4 {
margin-bottom: 1.5rem !important;
}
 
.ml-4 {
margin-left: 1.5rem !important;
}
 
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
 
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
 
.m-5 {
margin: 3rem 3rem !important;
}
 
.mt-5 {
margin-top: 3rem !important;
}
 
.mr-5 {
margin-right: 3rem !important;
}
 
.mb-5 {
margin-bottom: 3rem !important;
}
 
.ml-5 {
margin-left: 3rem !important;
}
 
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
 
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
 
.p-0 {
padding: 0 0 !important;
}
 
.pt-0 {
padding-top: 0 !important;
}
 
.pr-0 {
padding-right: 0 !important;
}
 
.pb-0 {
padding-bottom: 0 !important;
}
 
.pl-0 {
padding-left: 0 !important;
}
 
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
 
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
 
.p-1 {
padding: 0.25rem 0.25rem !important;
}
 
.pt-1 {
padding-top: 0.25rem !important;
}
 
.pr-1 {
padding-right: 0.25rem !important;
}
 
.pb-1 {
padding-bottom: 0.25rem !important;
}
 
.pl-1 {
padding-left: 0.25rem !important;
}
 
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
 
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
 
.p-2 {
padding: 0.5rem 0.5rem !important;
}
 
.pt-2 {
padding-top: 0.5rem !important;
}
 
.pr-2 {
padding-right: 0.5rem !important;
}
 
.pb-2 {
padding-bottom: 0.5rem !important;
}
 
.pl-2 {
padding-left: 0.5rem !important;
}
 
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
 
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
 
.p-3 {
padding: 1rem 1rem !important;
}
 
.pt-3 {
padding-top: 1rem !important;
}
 
.pr-3 {
padding-right: 1rem !important;
}
 
.pb-3 {
padding-bottom: 1rem !important;
}
 
.pl-3 {
padding-left: 1rem !important;
}
 
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
 
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
 
.p-4 {
padding: 1.5rem 1.5rem !important;
}
 
.pt-4 {
padding-top: 1.5rem !important;
}
 
.pr-4 {
padding-right: 1.5rem !important;
}
 
.pb-4 {
padding-bottom: 1.5rem !important;
}
 
.pl-4 {
padding-left: 1.5rem !important;
}
 
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
 
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
 
.p-5 {
padding: 3rem 3rem !important;
}
 
.pt-5 {
padding-top: 3rem !important;
}
 
.pr-5 {
padding-right: 3rem !important;
}
 
.pb-5 {
padding-bottom: 3rem !important;
}
 
.pl-5 {
padding-left: 3rem !important;
}
 
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
 
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
 
.m-auto {
margin: auto !important;
}
 
.mt-auto {
margin-top: auto !important;
}
 
.mr-auto {
margin-right: auto !important;
}
 
.mb-auto {
margin-bottom: auto !important;
}
 
.ml-auto {
margin-left: auto !important;
}
 
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
 
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
 
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mr-sm-0 {
margin-right: 0 !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.ml-sm-0 {
margin-left: 0 !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-sm-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mr-sm-1 {
margin-right: 0.25rem !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.ml-sm-1 {
margin-left: 0.25rem !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mr-sm-2 {
margin-right: 0.5rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.ml-sm-2 {
margin-left: 0.5rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mr-sm-3 {
margin-right: 1rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.ml-sm-3 {
margin-left: 1rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mr-sm-4 {
margin-right: 1.5rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.ml-sm-4 {
margin-left: 1.5rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mr-sm-5 {
margin-right: 3rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.ml-sm-5 {
margin-left: 3rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-sm-0 {
padding: 0 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pr-sm-0 {
padding-right: 0 !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pl-sm-0 {
padding-left: 0 !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-sm-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pr-sm-1 {
padding-right: 0.25rem !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pl-sm-1 {
padding-left: 0.25rem !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pr-sm-2 {
padding-right: 0.5rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pl-sm-2 {
padding-left: 0.5rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pr-sm-3 {
padding-right: 1rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pl-sm-3 {
padding-left: 1rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pr-sm-4 {
padding-right: 1.5rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pl-sm-4 {
padding-left: 1.5rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pr-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.pl-sm-5 {
padding-left: 3rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.mr-sm-auto {
margin-right: auto !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ml-sm-auto {
margin-left: auto !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 768px) {
.m-md-0 {
margin: 0 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mr-md-0 {
margin-right: 0 !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.ml-md-0 {
margin-left: 0 !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-md-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mr-md-1 {
margin-right: 0.25rem !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.ml-md-1 {
margin-left: 0.25rem !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mr-md-2 {
margin-right: 0.5rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.ml-md-2 {
margin-left: 0.5rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-md-3 {
margin: 1rem 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mr-md-3 {
margin-right: 1rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.ml-md-3 {
margin-left: 1rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-md-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mr-md-4 {
margin-right: 1.5rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.ml-md-4 {
margin-left: 1.5rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-md-5 {
margin: 3rem 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mr-md-5 {
margin-right: 3rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.ml-md-5 {
margin-left: 3rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-md-0 {
padding: 0 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pr-md-0 {
padding-right: 0 !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pl-md-0 {
padding-left: 0 !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-md-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pr-md-1 {
padding-right: 0.25rem !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pl-md-1 {
padding-left: 0.25rem !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pr-md-2 {
padding-right: 0.5rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pl-md-2 {
padding-left: 0.5rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-md-3 {
padding: 1rem 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pr-md-3 {
padding-right: 1rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pl-md-3 {
padding-left: 1rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-md-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pr-md-4 {
padding-right: 1.5rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pl-md-4 {
padding-left: 1.5rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-md-5 {
padding: 3rem 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pr-md-5 {
padding-right: 3rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.pl-md-5 {
padding-left: 3rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.mr-md-auto {
margin-right: auto !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ml-md-auto {
margin-left: auto !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mr-lg-0 {
margin-right: 0 !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.ml-lg-0 {
margin-left: 0 !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-lg-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mr-lg-1 {
margin-right: 0.25rem !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.ml-lg-1 {
margin-left: 0.25rem !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mr-lg-2 {
margin-right: 0.5rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.ml-lg-2 {
margin-left: 0.5rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mr-lg-3 {
margin-right: 1rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.ml-lg-3 {
margin-left: 1rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mr-lg-4 {
margin-right: 1.5rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.ml-lg-4 {
margin-left: 1.5rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mr-lg-5 {
margin-right: 3rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.ml-lg-5 {
margin-left: 3rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-lg-0 {
padding: 0 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pr-lg-0 {
padding-right: 0 !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pl-lg-0 {
padding-left: 0 !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-lg-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pr-lg-1 {
padding-right: 0.25rem !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pl-lg-1 {
padding-left: 0.25rem !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pr-lg-2 {
padding-right: 0.5rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pl-lg-2 {
padding-left: 0.5rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pr-lg-3 {
padding-right: 1rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pl-lg-3 {
padding-left: 1rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pr-lg-4 {
padding-right: 1.5rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pl-lg-4 {
padding-left: 1.5rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pr-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.pl-lg-5 {
padding-left: 3rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.mr-lg-auto {
margin-right: auto !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ml-lg-auto {
margin-left: auto !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mr-xl-0 {
margin-right: 0 !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.ml-xl-0 {
margin-left: 0 !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-xl-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mr-xl-1 {
margin-right: 0.25rem !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.ml-xl-1 {
margin-left: 0.25rem !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mr-xl-2 {
margin-right: 0.5rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.ml-xl-2 {
margin-left: 0.5rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mr-xl-3 {
margin-right: 1rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.ml-xl-3 {
margin-left: 1rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mr-xl-4 {
margin-right: 1.5rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.ml-xl-4 {
margin-left: 1.5rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mr-xl-5 {
margin-right: 3rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.ml-xl-5 {
margin-left: 3rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-xl-0 {
padding: 0 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pr-xl-0 {
padding-right: 0 !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pl-xl-0 {
padding-left: 0 !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-xl-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pr-xl-1 {
padding-right: 0.25rem !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pl-xl-1 {
padding-left: 0.25rem !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pr-xl-2 {
padding-right: 0.5rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pl-xl-2 {
padding-left: 0.5rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pr-xl-3 {
padding-right: 1rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pl-xl-3 {
padding-left: 1rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pr-xl-4 {
padding-right: 1.5rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pl-xl-4 {
padding-left: 1.5rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pr-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.pl-xl-5 {
padding-left: 3rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.mr-xl-auto {
margin-right: auto !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ml-xl-auto {
margin-left: auto !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
.text-justify {
text-align: justify !important;
}
 
.text-nowrap {
white-space: nowrap !important;
}
 
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
 
.text-left {
text-align: left !important;
}
 
.text-right {
text-align: right !important;
}
 
.text-center {
text-align: center !important;
}
 
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important;
}
.text-sm-right {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
 
@media (min-width: 768px) {
.text-md-left {
text-align: left !important;
}
.text-md-right {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
 
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important;
}
.text-lg-right {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
 
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important;
}
.text-xl-right {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
 
.text-lowercase {
text-transform: lowercase !important;
}
 
.text-uppercase {
text-transform: uppercase !important;
}
 
.text-capitalize {
text-transform: capitalize !important;
}
 
.font-weight-normal {
font-weight: normal;
}
 
.font-weight-bold {
font-weight: bold;
}
 
.font-italic {
font-style: italic;
}
 
.text-white {
color: #fff !important;
}
 
.text-muted {
color: #636c72 !important;
}
 
a.text-muted:focus, a.text-muted:hover {
color: #4b5257 !important;
}
 
.text-primary {
color: #0275d8 !important;
}
 
a.text-primary:focus, a.text-primary:hover {
color: #025aa5 !important;
}
 
.text-success {
color: #5cb85c !important;
}
 
a.text-success:focus, a.text-success:hover {
color: #449d44 !important;
}
 
.text-info {
color: #5bc0de !important;
}
 
a.text-info:focus, a.text-info:hover {
color: #31b0d5 !important;
}
 
.text-warning {
color: #f0ad4e !important;
}
 
a.text-warning:focus, a.text-warning:hover {
color: #ec971f !important;
}
 
.text-danger {
color: #d9534f !important;
}
 
a.text-danger:focus, a.text-danger:hover {
color: #c9302c !important;
}
 
.text-gray-dark {
color: #292b2c !important;
}
 
a.text-gray-dark:focus, a.text-gray-dark:hover {
color: #101112 !important;
}
 
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
 
.invisible {
visibility: hidden !important;
}
 
.hidden-xs-up {
display: none !important;
}
 
@media (max-width: 575px) {
.hidden-xs-down {
display: none !important;
}
}
 
@media (min-width: 576px) {
.hidden-sm-up {
display: none !important;
}
}
 
@media (max-width: 767px) {
.hidden-sm-down {
display: none !important;
}
}
 
@media (min-width: 768px) {
.hidden-md-up {
display: none !important;
}
}
 
@media (max-width: 991px) {
.hidden-md-down {
display: none !important;
}
}
 
@media (min-width: 992px) {
.hidden-lg-up {
display: none !important;
}
}
 
@media (max-width: 1199px) {
.hidden-lg-down {
display: none !important;
}
}
 
@media (min-width: 1200px) {
.hidden-xl-up {
display: none !important;
}
}
 
.hidden-xl-down {
display: none !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;
}
}
/*# sourceMappingURL=bootstrap.css.map */
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/js/bootstrap.js
New file
0,0 → 1,3535
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
 
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
 
+function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}(jQuery);
 
 
+function () {
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
 
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Util = function ($) {
 
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
 
var transition = false;
 
var MAX_UID = 1000000;
 
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
 
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
 
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
 
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
return undefined;
}
};
}
 
function transitionEndTest() {
if (window.QUnit) {
return false;
}
 
var el = document.createElement('bootstrap');
 
for (var name in TransitionEndEvent) {
if (el.style[name] !== undefined) {
return {
end: TransitionEndEvent[name]
};
}
}
 
return false;
}
 
function transitionEndEmulator(duration) {
var _this = this;
 
var called = false;
 
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
 
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
 
return this;
}
 
function setTransitionEndSupport() {
transition = transitionEndTest();
 
$.fn.emulateTransitionEnd = transitionEndEmulator;
 
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
 
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
 
var Util = {
 
TRANSITION_END: 'bsTransitionEnd',
 
getUID: function getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
 
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
 
return selector;
},
reflow: function reflow(element) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
 
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
 
setTransitionEndSupport();
 
return Util;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Alert = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'alert';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
 
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Alert = function () {
function Alert(element) {
_classCallCheck(this, Alert);
 
this._element = element;
}
 
// getters
 
// public
 
Alert.prototype.close = function close(element) {
element = element || this._element;
 
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
 
if (customEvent.isDefaultPrevented()) {
return;
}
 
this._removeElement(rootElement);
};
 
Alert.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Alert.prototype._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element);
var parent = false;
 
if (selector) {
parent = $(selector)[0];
}
 
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
 
return parent;
};
 
Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
 
$(element).trigger(closeEvent);
return closeEvent;
};
 
Alert.prototype._removeElement = function _removeElement(element) {
var _this2 = this;
 
$(element).removeClass(ClassName.SHOW);
 
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
 
$(element).one(Util.TRANSITION_END, function (event) {
return _this2._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Alert.prototype._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
};
 
// static
 
Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
 
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
 
if (config === 'close') {
data[config](this);
}
});
};
 
Alert._handleDismiss = function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
 
alertInstance.close(this);
};
};
 
_createClass(Alert, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Alert;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
 
return Alert;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Button = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'button';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
 
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
 
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Button = function () {
function Button(element) {
_classCallCheck(this, Button);
 
this._element = element;
}
 
// getters
 
// public
 
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
 
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
 
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
 
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
 
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
 
input.focus();
}
}
 
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
 
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
};
 
Button.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// static
 
Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
 
if (config === 'toggle') {
data[config]();
}
});
};
 
_createClass(Button, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Button;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
 
var button = event.target;
 
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
 
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
 
return Button;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Carousel = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'carousel';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
 
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
 
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
 
var Direction = {
NEXT: 'next',
PREV: 'prev',
LEFT: 'left',
RIGHT: 'right'
};
 
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'carousel-item-right',
LEFT: 'carousel-item-left',
NEXT: 'carousel-item-next',
PREV: 'carousel-item-prev',
ITEM: 'carousel-item'
};
 
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Carousel = function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
 
this._items = null;
this._interval = null;
this._activeElement = null;
 
this._isPaused = false;
this._isSliding = false;
 
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
 
this._addEventListeners();
}
 
// getters
 
// public
 
Carousel.prototype.next = function next() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.NEXT);
};
 
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
};
 
Carousel.prototype.prev = function prev() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.PREVIOUS);
};
 
Carousel.prototype.pause = function pause(event) {
if (!event) {
this._isPaused = true;
}
 
if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
 
clearInterval(this._interval);
this._interval = null;
};
 
Carousel.prototype.cycle = function cycle(event) {
if (!event) {
this._isPaused = false;
}
 
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
 
if (this._config.interval && !this._isPaused) {
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
 
Carousel.prototype.to = function to(index) {
var _this3 = this;
 
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
 
var activeIndex = this._getItemIndex(this._activeElement);
 
if (index > this._items.length - 1 || index < 0) {
return;
}
 
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this3.to(index);
});
return;
}
 
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
 
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
 
this._slide(direction, this._items[index]);
};
 
Carousel.prototype.dispose = function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
 
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
};
 
// private
 
Carousel.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Carousel.prototype._addEventListeners = function _addEventListeners() {
var _this4 = this;
 
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, function (event) {
return _this4._keydown(event);
});
}
 
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
}
};
 
Carousel.prototype._keydown = function _keydown(event) {
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
 
switch (event.which) {
case ARROW_LEFT_KEYCODE:
event.preventDefault();
this.prev();
break;
case ARROW_RIGHT_KEYCODE:
event.preventDefault();
this.next();
break;
default:
return;
}
};
 
Carousel.prototype._getItemIndex = function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
};
 
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
 
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
 
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
 
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName
});
 
$(this._element).trigger(slideEvent);
 
return slideEvent;
};
 
Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
};
 
Carousel.prototype._slide = function _slide(direction, element) {
var _this5 = this;
 
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
var isCycling = Boolean(this._interval);
 
var directionalClassName = void 0;
var orderClassName = void 0;
var eventDirectionName = void 0;
 
if (direction === Direction.NEXT) {
directionalClassName = ClassName.LEFT;
orderClassName = ClassName.NEXT;
eventDirectionName = Direction.LEFT;
} else {
directionalClassName = ClassName.RIGHT;
orderClassName = ClassName.PREV;
eventDirectionName = Direction.RIGHT;
}
 
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
 
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.isDefaultPrevented()) {
return;
}
 
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
 
this._isSliding = true;
 
if (isCycling) {
this.pause();
}
 
this._setActiveIndicatorElement(nextElement);
 
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: eventDirectionName
});
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
 
$(nextElement).addClass(orderClassName);
 
Util.reflow(nextElement);
 
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
 
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
 
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
 
_this5._isSliding = false;
 
setTimeout(function () {
return $(_this5._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
 
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
 
if (isCycling) {
this.cycle();
}
};
 
// static
 
Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
 
if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
$.extend(_config, config);
}
 
var action = typeof config === 'string' ? config : _config.slide;
 
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
};
 
Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
var selector = Util.getSelectorFromElement(this);
 
if (!selector) {
return;
}
 
var target = $(selector)[0];
 
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
 
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
 
if (slideIndex) {
config.interval = false;
}
 
Carousel._jQueryInterface.call($(target), config);
 
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
 
event.preventDefault();
};
 
_createClass(Carousel, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Carousel;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
 
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
 
return Carousel;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Collapse = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'collapse';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
 
var Default = {
toggle: true,
parent: ''
};
 
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
 
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SHOW: 'show',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
 
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
 
var Selector = {
ACTIVES: '.card > .show, .card > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Collapse = function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
 
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
 
this._parent = this._config.parent ? this._getParent() : null;
 
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
 
if (this._config.toggle) {
this.toggle();
}
}
 
// getters
 
// public
 
Collapse.prototype.toggle = function toggle() {
if ($(this._element).hasClass(ClassName.SHOW)) {
this.hide();
} else {
this.show();
}
};
 
Collapse.prototype.show = function show() {
var _this6 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if ($(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var actives = void 0;
var activesData = void 0;
 
if (this._parent) {
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
 
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
 
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
 
var dimension = this._getDimension();
 
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
 
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
 
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
 
_this6._element.style[dimension] = '';
 
_this6.setTransitioning(false);
 
$(_this6._element).trigger(Event.SHOWN);
};
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
 
this._element.style[dimension] = this._element[scrollSize] + 'px';
};
 
Collapse.prototype.hide = function hide() {
var _this7 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if (!$(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
 
this._element.style[dimension] = this._element[offsetDimension] + 'px';
 
Util.reflow(this._element);
 
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
 
this._element.setAttribute('aria-expanded', false);
 
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
_this7.setTransitioning(false);
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
 
this._element.style[dimension] = '';
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
};
 
Collapse.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
};
 
// private
 
Collapse.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Collapse.prototype._getDimension = function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
};
 
Collapse.prototype._getParent = function _getParent() {
var _this8 = this;
 
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
 
$(parent).find(selector).each(function (i, element) {
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
 
return parent;
};
 
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
element.setAttribute('aria-expanded', isOpen);
 
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
};
 
// static
 
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
};
 
Collapse._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
 
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Collapse, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Collapse;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
 
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
 
Collapse._jQueryInterface.call($(target), config);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
 
return Collapse;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Dropdown = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
 
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Dropdown = function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
 
this._element = element;
 
this._addEventListeners();
}
 
// getters
 
// public
 
Dropdown.prototype.toggle = function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
Dropdown._clearMenus();
 
if (isActive) {
return false;
}
 
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
 
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
 
var relatedTarget = {
relatedTarget: this
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
 
$(parent).trigger(showEvent);
 
if (showEvent.isDefaultPrevented()) {
return false;
}
 
this.focus();
this.setAttribute('aria-expanded', true);
 
$(parent).toggleClass(ClassName.SHOW);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
 
return false;
};
 
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
};
 
// private
 
Dropdown.prototype._addEventListeners = function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
};
 
// static
 
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Dropdown(this);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
};
 
Dropdown._clearMenus = function _clearMenus(event) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
 
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
 
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
 
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = {
relatedTarget: toggles[i]
};
 
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
 
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
continue;
}
 
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
 
toggles[i].setAttribute('aria-expanded', 'false');
 
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
 
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent = void 0;
var selector = Util.getSelectorFromElement(element);
 
if (selector) {
parent = $(selector)[0];
}
 
return parent || element.parentNode;
};
 
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
 
event.preventDefault();
event.stopPropagation();
 
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
 
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
 
$(this).trigger('click');
return;
}
 
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
 
if (!items.length) {
return;
}
 
var index = items.indexOf(event.target);
 
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
 
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}
 
if (index < 0) {
index = 0;
}
 
items[index].focus();
};
 
_createClass(Dropdown, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Dropdown;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
 
return Dropdown;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Modal = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'modal';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
 
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
 
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Modal = function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
 
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
 
// getters
 
// public
 
Modal.prototype.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
 
Modal.prototype.show = function show(relatedTarget) {
var _this9 = this;
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
 
$(this._element).trigger(showEvent);
 
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = true;
 
this._checkScrollbar();
this._setScrollbar();
 
$(document.body).addClass(ClassName.OPEN);
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
return _this9.hide(event);
});
 
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this9._element)) {
_this9._ignoreBackdropClick = true;
}
});
});
 
this._showBackdrop(function () {
return _this9._showElement(relatedTarget);
});
};
 
Modal.prototype.hide = function hide(event) {
var _this10 = this;
 
if (event) {
event.preventDefault();
}
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
}
 
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
 
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = false;
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(document).off(Event.FOCUSIN);
 
$(this._element).removeClass(ClassName.SHOW);
 
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
if (transition) {
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this10._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
};
 
Modal.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
 
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
 
// private
 
Modal.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Modal.prototype._showElement = function _showElement(relatedTarget) {
var _this11 = this;
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
 
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
 
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0;
 
if (transition) {
Util.reflow(this._element);
}
 
$(this._element).addClass(ClassName.SHOW);
 
if (this._config.focus) {
this._enforceFocus();
}
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
 
var transitionComplete = function transitionComplete() {
if (_this11._config.focus) {
_this11._element.focus();
}
_this11._isTransitioning = false;
$(_this11._element).trigger(shownEvent);
};
 
if (transition) {
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
};
 
Modal.prototype._enforceFocus = function _enforceFocus() {
var _this12 = this;
 
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
_this12._element.focus();
}
});
};
 
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
var _this13 = this;
 
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
_this13.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
};
 
Modal.prototype._setResizeEvent = function _setResizeEvent() {
var _this14 = this;
 
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
return _this14._handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
}
};
 
Modal.prototype._hideModal = function _hideModal() {
var _this15 = this;
 
this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this15._resetAdjustments();
_this15._resetScrollbar();
$(_this15._element).trigger(Event.HIDDEN);
});
};
 
Modal.prototype._removeBackdrop = function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
};
 
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
var _this16 = this;
 
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
 
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
 
if (animate) {
$(this._backdrop).addClass(animate);
}
 
$(this._backdrop).appendTo(document.body);
 
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this16._ignoreBackdropClick) {
_this16._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this16._config.backdrop === 'static') {
_this16._element.focus();
} else {
_this16.hide();
}
});
 
if (doAnimate) {
Util.reflow(this._backdrop);
}
 
$(this._backdrop).addClass(ClassName.SHOW);
 
if (!callback) {
return;
}
 
if (!doAnimate) {
callback();
return;
}
 
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
 
var callbackRemove = function callbackRemove() {
_this16._removeBackdrop();
if (callback) {
callback();
}
};
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
};
 
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
 
Modal.prototype._handleUpdate = function _handleUpdate() {
this._adjustDialog();
};
 
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
 
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetAdjustments = function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
};
 
Modal.prototype._checkScrollbar = function _checkScrollbar() {
this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
 
Modal.prototype._setScrollbar = function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
 
this._originalBodyPadding = document.body.style.paddingRight || '';
 
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetScrollbar = function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
};
 
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
 
// static
 
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
};
 
_createClass(Modal, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Modal;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this17 = this;
 
var target = void 0;
var selector = Util.getSelectorFromElement(this);
 
if (selector) {
target = $(selector)[0];
}
 
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
 
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
 
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
 
$target.one(Event.HIDDEN, function () {
if ($(_this17).is(':visible')) {
_this17.focus();
}
});
});
 
Modal._jQueryInterface.call($(target), config, this);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
 
return Modal;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var ScrollSpy = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = {
offset: 10,
method: 'auto',
target: ''
};
 
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
 
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
 
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
 
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var ScrollSpy = function () {
function ScrollSpy(element, config) {
var _this18 = this;
 
_classCallCheck(this, ScrollSpy);
 
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
 
$(this._scrollElement).on(Event.SCROLL, function (event) {
return _this18._process(event);
});
 
this.refresh();
this._process();
}
 
// getters
 
// public
 
ScrollSpy.prototype.refresh = function refresh() {
var _this19 = this;
 
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
 
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
 
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
 
this._offsets = [];
this._targets = [];
 
this._scrollHeight = this._getScrollHeight();
 
var targets = $.makeArray($(this._selector));
 
targets.map(function (element) {
var target = void 0;
var targetSelector = Util.getSelectorFromElement(element);
 
if (targetSelector) {
target = $(targetSelector)[0];
}
 
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
return null;
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this19._offsets.push(item[0]);
_this19._targets.push(item[1]);
});
};
 
ScrollSpy.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
 
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
};
 
// private
 
ScrollSpy.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
 
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = Util.getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
 
Util.typeCheckConfig(NAME, config, DefaultType);
 
return config;
};
 
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
 
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
};
 
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
};
 
ScrollSpy.prototype._process = function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
 
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
 
if (this._activeTarget !== target) {
this._activate(target);
}
return;
}
 
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
this._activeTarget = null;
this._clear();
return;
}
 
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
 
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
};
 
ScrollSpy.prototype._activate = function _activate(target) {
this._activeTarget = target;
 
this._clear();
 
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
 
var $link = $(queries.join(','));
 
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus...
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
 
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
};
 
ScrollSpy.prototype._clear = function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
};
 
// static
 
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(ScrollSpy, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return ScrollSpy;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
 
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
 
return ScrollSpy;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tab = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tab';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
DISABLED: 'disabled',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tab = function () {
function Tab(element) {
_classCallCheck(this, Tab);
 
this._element = element;
}
 
// getters
 
// public
 
Tab.prototype.show = function show() {
var _this20 = this;
 
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
 
var target = void 0;
var previous = void 0;
var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
 
if (listElement) {
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
 
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
 
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
 
if (previous) {
$(previous).trigger(hideEvent);
}
 
$(this._element).trigger(showEvent);
 
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
 
if (selector) {
target = $(selector)[0];
}
 
this._activate(this._element, listElement);
 
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this20._element
});
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
 
$(previous).trigger(hiddenEvent);
$(_this20._element).trigger(shownEvent);
};
 
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
};
 
Tab.prototype.dispose = function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Tab.prototype._activate = function _activate(element, container, callback) {
var _this21 = this;
 
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
 
var complete = function complete() {
return _this21._transitionComplete(element, active, isTransitioning, callback);
};
 
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
if (active) {
$(active).removeClass(ClassName.SHOW);
}
};
 
Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
 
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
 
active.setAttribute('aria-expanded', false);
}
 
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
 
if (isTransitioning) {
Util.reflow(element);
$(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
 
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
 
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
 
element.setAttribute('aria-expanded', true);
}
 
if (callback) {
callback();
}
};
 
// static
 
Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
 
if (!data) {
data = new Tab(this);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tab, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Tab;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
 
return Tab;
}(jQuery);
 
/* global Tether */
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tooltip = function ($) {
 
/**
* Check for Tether dependency
* Tether - http://tether.io/
*/
if (typeof Tether === 'undefined') {
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
}
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
 
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: [],
container: false
};
 
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array',
container: '(string|element|boolean)'
};
 
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
 
var HoverState = {
SHOW: 'show',
OUT: 'out'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
 
var TetherClass = {
element: false,
enabled: false
};
 
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tooltip = function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
 
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._isTransitioning = false;
this._tether = null;
 
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
 
this._setListeners();
}
 
// getters
 
// public
 
Tooltip.prototype.enable = function enable() {
this._isEnabled = true;
};
 
Tooltip.prototype.disable = function disable() {
this._isEnabled = false;
};
 
Tooltip.prototype.toggleEnabled = function toggleEnabled() {
this._isEnabled = !this._isEnabled;
};
 
Tooltip.prototype.toggle = function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
context._activeTrigger.click = !context._activeTrigger.click;
 
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
 
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
this._leave(null, this);
return;
}
 
this._enter(null, this);
}
};
 
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
 
this.cleanupTether();
 
$.removeData(this.element, this.constructor.DATA_KEY);
 
$(this.element).off(this.constructor.EVENT_KEY);
$(this.element).closest('.modal').off('hide.bs.modal');
 
if (this.tip) {
$(this.tip).remove();
}
 
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
 
this.element = null;
this.config = null;
this.tip = null;
};
 
Tooltip.prototype.show = function show() {
var _this22 = this;
 
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
 
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
$(this.element).trigger(showEvent);
 
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
 
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
 
var tip = this.getTipElement();
var tipId = Util.getUID(this.constructor.NAME);
 
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
 
this.setContent();
 
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
 
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
 
var attachment = this._getAttachment(placement);
 
var container = this.config.container === false ? document.body : $(this.config.container);
 
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
 
$(this.element).trigger(this.constructor.Event.INSERTED);
 
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
 
Util.reflow(tip);
this._tether.position();
 
$(tip).addClass(ClassName.SHOW);
 
var complete = function complete() {
var prevHoverState = _this22._hoverState;
_this22._hoverState = null;
_this22._isTransitioning = false;
 
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
 
if (prevHoverState === HoverState.OUT) {
_this22._leave(null, _this22);
}
};
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
 
complete();
}
};
 
Tooltip.prototype.hide = function hide(callback) {
var _this23 = this;
 
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
var complete = function complete() {
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
 
_this23.element.removeAttribute('aria-describedby');
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
_this23._isTransitioning = false;
_this23.cleanupTether();
 
if (callback) {
callback();
}
};
 
$(this.element).trigger(hideEvent);
 
if (hideEvent.isDefaultPrevented()) {
return;
}
 
$(tip).removeClass(ClassName.SHOW);
 
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
this._hoverState = '';
};
 
// protected
 
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
 
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
};
 
Tooltip.prototype.getTitle = function getTitle() {
var title = this.element.getAttribute('data-original-title');
 
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
 
return title;
};
 
Tooltip.prototype.cleanupTether = function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
};
 
// private
 
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
};
 
Tooltip.prototype._setListeners = function _setListeners() {
var _this24 = this;
 
var triggers = this.config.trigger.split(' ');
 
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
return _this24.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
 
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
return _this24._enter(event);
}).on(eventOut, _this24.config.selector, function (event) {
return _this24._leave(event);
});
}
 
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
return _this24.hide();
});
});
 
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
};
 
Tooltip.prototype._fixTitle = function _fixTitle() {
var titleType = _typeof(this.element.getAttribute('data-original-title'));
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
};
 
Tooltip.prototype._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
 
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW;
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.SHOW;
 
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.SHOW) {
context.show();
}
}, context.config.delay.show);
};
 
Tooltip.prototype._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
 
if (context._isWithActiveTrigger()) {
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.OUT;
 
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
};
 
Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
 
return false;
};
 
Tooltip.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
 
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
 
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 
return config;
};
 
Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
var config = {};
 
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
 
return config;
};
 
// static
 
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data && /dispose|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tooltip, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Tooltip;
}();
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
 
return Tooltip;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Popover = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'popover';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
 
var DefaultType = $.extend({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Popover = function (_Tooltip) {
_inherits(Popover, _Tooltip);
 
function Popover() {
_classCallCheck(this, Popover);
 
return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
}
 
// overrides
 
Popover.prototype.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
 
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Popover.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
// private
 
Popover.prototype._getContent = function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
 
// static
 
Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
 
if (!data && /destroy|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Popover, null, [{
key: 'VERSION',
 
 
// getters
 
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Popover;
}(Tooltip);
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
 
return Popover;
}(jQuery);
 
}();
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/bootstrap-4/js/bootstrap.min.js
New file
0,0 → 1,7
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="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},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.6",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.6",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.6",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API+" "+_.FOCUSIN_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;
if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.6",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.6",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.6",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}();
/branches/v3.01-serpe/widget/modules/apa/squelettes/css/apa.css
New file
0,0 → 1,799
@CHARSET "UTF-8";
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
}
 
#zone-appli {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.9);
margin-top: 2rem;
}
 
#zone-appli .zone-alerte{
width: 100%;
}
 
#logo {
max-width: 100%;
}
 
h1, h2, h3, h4, h5 {
font-family: Muli,sans-serif;
color: #606060;
font-weight: 700;
}
 
form {
font-family: Muli,sans-serif;
float: none;
}
 
h1 {
font-weight: 700;
font-size: 2rem;
}
 
#zone-appli .form-block {
margin-bottom: 2rem;
}
 
h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
h3 {
font-size: 1.2rem;
}
 
ul {
padding-inline-start: 0;
}
 
#zone-appli .obligatoire::before {
content: '*';
position: absolute;
left: 0;
}
 
.btn.focus,
.btn:focus {
box-shadow: none;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse {
color: #fff !important;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse,
.btn.btn-outline-primary,
.btn.btn-outline-info,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-inverse {
border-radius: 0.15rem;
}
 
button {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #a2b93b;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
border-bottom-style: none;
border-bottom-width: 0;
border-image-outset: 0 0 0 0;
border-image-repeat: stretch stretch;
border-image-slice: 100% 100% 100% 100%;
border-image-source: none;
border-image-width: 1 1 1 1;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: 0;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: 0;
border-top-color: currentcolor;
border-top-left-radius: 0.2rem;
border-top-right-radius: 0.2rem;
border-top-style: none;
border-top-width: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 1.5rem;
padding-bottom: 1.25rem;
padding-left: 2rem;
padding-right: 2rem;
padding-top: 1.25rem;
text-align: center;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-transform: uppercase;
transition-delay: 0s;
transition-duration: 0.2s;
transition-property: background;
transition-timing-function: ease;
}
 
.table tr,
.table td,
.table th,
.table thead {
border: none !important;
}
 
.mb2,
.mb-3 {
align-self: start;
}
 
label,
#zone-appli .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli .form-inline label,
#zone-appli .form-inline .list-label {
align-items: start;
align-self: start;
justify-content: left;
align-content: flex-start;
}
 
h1#widget-titre::before {
content: "";
display: block;
height: 100%;
left: -5rem;
position: absolute;
width: 0.4rem;
}
 
h1#widget-titre {
font-size: 2.6rem;
font-weight: 700;
line-height: 3.2rem;
margin-bottom: 0;
margin-left: 0;
margin-right: 0;
margin-top: 0;
position: relative;
color: #232323;
font-family: Ubuntu,sans-serif;
}
 
#zone-appli .hidden {
display: none !important;
}
 
#zone-appli .warning {
color: #ff5d55;
font-weight: 700;
}
 
#photos-conteneur label.label-file.error,
.control-group.error #connexion,
.control-group.error #bouton-inscription,
.control-group.error #bouton-anonyme,
.control-group.error .geoloc,
.control-group.error input,
.control-group.error select,
.control-group.error textarea,
.obs-erreur,
#releve-date.erreur {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
.control-group .erreur,
.control-group.error,
span.error {
color: #b94a48 !important;
}
 
#zone-appli .centre {
margin: 0 auto !important;
justify-content: center !important;
}
 
#zone-appli .droite {
float: right;
}
 
#zone-appli .info {
padding: 1rem;
background-color: #ccecf1;
border-color: #7ccedb;
color: #006979;
fill: #006979;
border-radius: 0.2rem;
}
 
#zone-appli .clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
 
#zone-appli .ui-widget{
font-family: Muli,sans-serif;
}
 
#zone-appli .form-inline .form-control {
width: 100%;
}
 
#zone-appli #logo_hires {
display: none;
}
#zone-appli .logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
#zone-appli .bloc-top {
border-top: 1px solid rgba(0,0,0,.1);
padding-top: 1rem;
}
 
#zone-appli .bloc-bottom {
border-bottom: 1px solid rgba(0,0,0,.1);
padding-bottom: 1rem;
}
 
.unstyled {
list-style-type: none;
}
 
#zone-appli #formulaire form {
margin-bottom: 1.5rem;
}
 
input[type="checkbox"],
input[type="radio"],
input.radio,
input.checkbox {
vertical-align:text-top;
padding: 0;
margin-right: 10px;
position:relative;
overflow:hidden;
top:2px;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkbox label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label,
#zone-appli #formulaire #form-supp #zone-supp .radio label {
align-items: center;
display: flex;
font-weight: 400;
}
 
/*************************************************************************/
 
form#form-observateur,
form#form-observation,
form#form-supp,
#tb-navigation,
#tb-navbar{
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
flex-direction: row;
}
 
#tb-navbar {
margin-bottom: 0;
}
 
.volet {
height: 5rem;
}
 
#anonyme {
height: auto;
}
 
#bouton-connexion,
#creation-compte {
display: -ms-flexbox;
display: flex;
height: 5rem;
-webkit-box-flex: 1;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
justify-content: left;
align-items: flex-start;
align-content: flex-middle;
}
 
.nav > .volet #bouton-anonyme,
.nav > .volet #bouton-inscription {
width: auto;
}
 
.nav > .volet > a {
margin-left: 0.2rem;
}
 
#bouton-poursuivre,
.charger-releve,
#soumettre-releve,
#connexion,
#ajouter-obs,
#transmettre-obs {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#bouton-poursuivre:focus,
#bouton-poursuivre:hover,
.charger-releve:focus,
.charger-releve:hover,
#soumettre-releve:focus,
#soumettre-releve:hover,
#connexion:focus,
#connexion:hover,
#transmettre-obs:focus,
#transmettre-obs:hover,
#ajouter-obs:focus,
#ajouter-obs:hover {
background-color: #a2b93b;
border: none;
}
 
#utilisateur-connecte.volet {
padding-left: 2rem;
}
 
#utilisateur-connecte.volet > a {
margin-left: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur,
#utilisateur-connecte.volet #deconnexion {
padding: 0 0.75rem;
margin: 0.2rem 0;
}
 
#utilisateur-connecte.volet .volet-menu a {
font-size: 0.8rem;
font-weight: 400;
color: #606060;
background: inherit;
text-decoration: none;
display: block;
width: 100%;
padding-left: 5px;
line-height: 25px;
outline: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur:hover,
#utilisateur-connecte.volet #deconnexion:hover,
#utilisateur-connecte.volet #profil-utilisateur:focus,
#utilisateur-connecte.volet #deconnexion:focus {
background: #b2cb43;
}
 
#utilisateur-connecte.volet .volet-menu a:hover,
#utilisateur-connecte.volet .volet-menu a:focus {
color: #fff;
}
 
#utilisateur-connecte .volet-menu {
position: absolute;
z-index: 1000;
min-width: auto;
list-style: none;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
 
.volet-menu div a {
color: #222;
}
 
#utilisateur-connecte .volet-toggle::after {
font-family: "Font Awesome 5 Free";
font-size: 0.8rem;
font-weight: 900;
content: '\f0d7'
}
 
.releve-info {
font-size: 0.8rem;
}
 
/*************************************************************************/
 
#zone-appli #formulaire #form-supp #zone-supp .multiselect.list-checkbox {
padding: 0;
margin: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp select,
#zone-appli #formulaire #form-supp #zone-supp .selectBox select {
background-color: #fff;
border: 1px solid #ced4da;
}
 
#form-supp select,
#form-supp .selectBox select{
border-radius: 0.3rem;
}
 
#form-supp .select-wrapper,
#zone-appli #formulaire #form-supp #zone-supp .selectBox {
position: relative;
z-index: 1000;
border-radius: 0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox .focus {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
 
#zone-appli #formulaire #form-supp #zone-supp .input-group .select-wrapper {
border:none;
}
 
#zone-appli #formulaire #form-supp #zone-supp .overSelect {
position: absolute;
z-index: 999;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes {
position: absolute;
z-index: 1001;
top: 120%;
left: 1rem;
right: 1rem;
background-color: #fff;
border: 1px solid #ced4da;
border-top: 0;
border-radius: 0 0 0.3rem 0.3rem;
margin-top: -0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .label label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label {
display: block;
padding: 0.5rem;
font-weight: 400;
margin:0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label:hover {
background: #1e90ff;
color: #fff;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox select option {
padding-block-start: 0;
padding-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .collect-other {
margin: 0.5rem;
width: 90%;
}
 
/*************************************************************************/
 
.range-values {
color: #606060;
}
 
.range-live-value {
padding-top: 1rem;
font-size: 1rem;
}
 
/*******************************************/
 
.label-file {
overflow: hidden;
position: relative;
cursor: pointer;
border-radius: 0.25rem;
font-weight: 400;
font-size: 0.9rem;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: .375rem .75rem;
line-height: 1.5;
transition:
color .15s ease-in-out,
background-color .15s ease-in-out,
border-color .15s ease-in-out,
box-shadow .15s ease-in-out;
margin: 0;
}
 
.label-file [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
 
.label-file [type=file] {
cursor: pointer;
}
 
/*************************************/
 
#miniatures .miniature {
position: relative;
display: inline-block;
 
}
 
#miniatures .miniature .miniature-img {
vertical-align: top;
width: 5rem;
height: 100%;
}
 
#miniatures .miniature .effacer-miniature {
display: flex;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
font-size: 2rem;
background-color: rgba(0, 0, 0, 0.3);
opacity: 0;
color: #ff5d55;
padding: 0;
margin: 0;
height: 100%;
width: 100%;
align-items:center;
justify-content: center;
cursor: pointer;
}
 
#miniatures .miniature .effacer-miniature:hover,
#miniatures .miniature .effacer-miniature:focus {
opacity: 1;
}
 
.obs {
height: 10rem;
padding: 1rem;
border-radius: 0.25rem;
background-color: #fbfbfb;
border: 1px solid #eee;
}
 
.obs .nom-sci {
font-size: 1rem;
}
 
.defilement-miniatures .defilement-miniatures-cache,
.defilement-miniatures .miniature-cachee {
display: none;
}
 
.defilement-miniatures {
display: flex;
align-items:center;
justify-content: center;
height: 8rem;
}
.defilement-miniatures figure {
display: inline-block;
min-height: 8rem;
line-height: 8rem;
text-align: center;
min-width: 80%;
width: 80%;
margin:0 auto;
padding: 0;
}
 
.miniature-selectionnee {
vertical-align: middle;
max-height: 8rem;
max-width: 80%;
}
 
.defilement-miniatures-gauche,
.defilement-miniatures-droite {
display: inline-block;
color: #5bc0de;
vertical-align: middle;
outline-style: none;
}
 
.defilement-miniatures-gauche:active,
.defilement-miniatures-droite:active,
.defilement-miniatures-gauche:focus,
.defilement-miniatures-droite:focus {
color: #499fb7;
}
 
.defilement-miniatures-gauche:hover,
.defilement-miniatures-droite:hover {
color: #499fb7;
}
 
#zone-prenom-nom #prenom,
#zone-prenom-nom #nom {
z-index: 0;
}
 
#transmettre-obs{
text-align: right;
}
 
#zone-liste-obs h2.transmission-title {
display: inline-block;
}
 
footer a {
display: inline-block;
}
 
.help-button {
float: right;
}
 
#image-fond {
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
min-width: 100%;
background-attachment: fixed;
margin: 0;
padding: 0;
}
 
.modal-open, body.modal-open {
overflow: inherit !important;
}
 
.custom-range {
border: none;
}
 
/*************************************/
#charger-form,
#zone-arbres,
#zone-plantes,
#zone-lichens {
min-width: 100%;
}
 
/*volet autocompletion des taxons*/
.ui-autocomplete {
z-index: 1000 !important;
}
 
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
#titre-projet {
font-size: 1.5rem;
}
 
h2 {
font-size: 1.3rem;
}
 
#logo {
max-width: 80%;
}
 
#bouton-connexion, #creation-compte {
display: block;
width: 100%;
position: static;
}
 
.nav {
flex-direction: column;
}
 
#transmettre-obs.droite {
float: none;
}
 
.obs {
height: auto;
}
 
.obs .unstyled {
font-size: 0.6rem;
}
 
.obs .nom-sci {
font-size: 0.8rem;
}
 
.supprimer-obs {
overflow: hidden;
}
 
#image-fond {
display: none;
}
}
 
 
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/index.html
New file
0,0 → 1,52
<!doctype html>
<html lang="">
 
<head>
<base href=".">
<meta charset="utf-8">
<title>TB Geolocation</title>
<link rel="stylesheet" href="./styles.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
 
<body>
<script src="./tb-geoloc-lib-app.js"></script>
<tb-geolocation-element
id="tb-geolocation"
layer='opentopomap'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="false"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
<form style="display:inline-flex;flex-direction:row;margin:5px;padding:5px;justify-content:space-between;width:80%;border:2px solid grey;">
<input id="locality" type="text" placeholder="locality">
<input id="postcode" type="text" placeholder="postcode">
<input id="latitude" type="text" placeholder="latitude">
<input id="longitude" type="text" placeholder="longitude">
<input id="altitude" type="text" placeholder="altitude">
</form>
<script>
var tbGeolocation = document.getElementById('tb-geolocation');
tbGeolocation.addEventListener("location", function(location) {
console.log(location.detail);
document.getElementById('locality').value = location.detail.locality;
document.getElementById('postcode').value = location.detail.osmPostcode;
document.getElementById('latitude').value = location.detail.geometry.coordinates[1];
document.getElementById('longitude').value = location.detail.geometry.coordinates[0];
document.getElementById('altitude').value = location.detail.elevation;
});
</script>
 
</body>
 
</html>
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/styles.css
New file
0,0 → 1,0
.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.mat-badge-small .mat-badge-content{outline:solid 1px;border-radius:0}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-accent .mat-badge-content{background:#ffd740;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{color:#fff;background:#673ab7;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary .mat-ripple-element,.mat-icon-button.mat-primary .mat-ripple-element,.mat-stroked-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element,.mat-icon-button.mat-accent .mat-ripple-element,.mat-stroked-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element,.mat-icon-button.mat-warn .mat-ripple-element,.mat-stroked-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#673ab7}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#ffd740}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media screen and (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}@media screen and (-ms-high-contrast:active){.mat-badge-large .mat-badge-content,.mat-badge-medium .mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,215,64,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(0,0,0,.87)}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-toggle-active{color:#673ab7}.mat-datepicker-toggle-active.mat-accent{color:#ffd740}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#673ab7}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#673ab7}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#673ab7}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ffd740}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-list-option.mat-list-item-focus,.mat-list-option:hover,.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#d1c4e9}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline:0;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container a.leaflet-active{outline:orange solid 2px}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:700 16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-.70710678, M22=.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #aaa;color:#fff;font:11px/28px "Helvetica Neue",Arial,Helvetica,sans-serif;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-bottom a,.leaflet-draw-actions-top a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:rgba(0,0,0,.5);border:1px solid transparent;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid rgba(0,0,0,.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,.1);border:4px dashed rgba(254,87,161,.6);border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js
New file
0,0 → 1,4
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+rLv":function(e,t,n){var r=n("dyZX").document;e.exports=r&&r.documentElement},"0/R4":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"0TWp":function(e,t,n){!function(e,t){t()}(0,function(){"use strict";!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(o||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var i,a=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(i,a){if(S.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!e["__Zone_disable_"+i]){var c="Zone:"+i;n(c),S[i]=a(e,t,D),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{P=P.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{P=P.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==_||e.type!==O&&e.type!==x){var r=e.state!=b;r&&e._transitionTo(b,k),e.runCount++;var o=j;j=e,P={parent:P,zone:this};try{e.type==x&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==_&&e.state!==T&&(e.type==O||e.data&&e.data.isPeriodic?r&&e._transitionTo(k,b):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(_,b,_))),P=P.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(m,_);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(T,m,_),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==m&&e._transitionTo(k,m),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new s(E,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new s(x,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new s(O,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(w,k,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(T,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(_,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t.__symbol__=C,t}(),c={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");d(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),s=function(){function t(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=n===O&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,u,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),Z++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==Z&&y(),Z--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(_,m)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==_&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),l=C("setTimeout"),f=C("Promise"),p=C("then"),h=[],v=!1;function d(t){if(0===Z&&0===h.length)if(i||e[f]&&(i=e[f].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,y)}else e[l](y,0);t&&h.push(t)}function y(){if(!v){for(v=!0;h.length;){var e=h;h=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){D.onUnhandledError(e)}}}D.microtaskDrainDone(),v=!1}}var g={name:"NO ZONE"},_="notScheduled",m="scheduling",k="scheduled",b="running",w="canceling",T="unknown",E="microTask",x="macroTask",O="eventTask",S={},D={symbol:C,currentZoneFrame:function(){return P},onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:d,showUncaughtError:function(){return!a[C("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:z,patchMethod:function(){return z},bindArguments:function(){return[]},patchThen:function(){return z},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(i=e.resolve(0))}},P={parent:null,zone:new a(null,null)},j=null,Z=0;function z(){}function C(e){return"__zone_symbol__"+e}r("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var e=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),l="__creationTrace__";r.onUnhandledError=function(e){if(r.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},r.microtaskDrainDone=function(){for(;c.length;)for(var e=function(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){p(e)}};c.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){r.onUnhandledError(e);try{var t=n[f];t&&"function"==typeof t&&t.call(this,e)}catch(e){}}function h(e){return e&&e.then}function v(e){return e}function d(e){return M.reject(e)}var y=a("state"),g=a("value"),_=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),b="Promise.then",w=null,T=!0,E=!1,x=0;function O(e,t){return function(n){try{j(e,t,n)}catch(t){j(e,!1,t)}}}var S=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",P=a("currentTaskTrace");function j(e,t,o){var a=S();if(e===o)throw new TypeError(D);if(e[y]===w){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(t){return a(function(){j(e,!1,t)})(),e}if(t!==E&&o instanceof M&&o.hasOwnProperty(y)&&o.hasOwnProperty(g)&&o[y]!==w)z(o),j(e,o[y],o[g]);else if(t!==E&&"function"==typeof u)try{u.call(o,a(O(e,t)),a(O(e,!1)))}catch(t){a(function(){j(e,!1,t)})()}else{e[y]=t;var s=e[g];if(e[g]=o,e[_]===_&&t===T&&(e[y]=e[k],e[g]=e[m]),t===E&&o instanceof Error){var f=n.currentTask&&n.currentTask.data&&n.currentTask.data[l];f&&i(o,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<s.length;)C(e,s[p++],s[p++],s[p++],s[p++]);if(0==s.length&&t==E){e[y]=x;try{throw new Error("Uncaught (in promise): "+function(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(t){var h=t;h.rejection=o,h.promise=e,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}return e}var Z=a("rejectionHandledHandler");function z(e){if(e[y]===x){try{var t=n[Z];t&&"function"==typeof t&&t.call(this,{rejection:e[g],promise:e})}catch(e){}e[y]=E;for(var r=0;r<c.length;r++)e===c[r].promise&&c.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[y],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=n&&_===n[_];o&&(n[m]=r,n[k]=i);var c=t.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);j(n,!0,c)}catch(e){j(n,!1,e)}},n)}var M=function(){function t(e){if(!(this instanceof t))throw new Error("Must be an instanceof Promise.");this[y]=w,this[g]=[];try{e&&e(O(this,T),O(this,E))}catch(e){j(this,!1,e)}}return t.toString=function(){return"function ZoneAwarePromise() { [native code] }"},t.resolve=function(e){return j(new this(null),T,e)},t.reject=function(e){return j(new this(null),E,e)},t.race=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t});function c(e){a&&(a=o(e))}function u(e){a&&(a=i(e))}try{for(var s=e(t),l=s.next();!l.done;l=s.next()){var f=l.value;h(f)||(f=this.resolve(f)),f.then(c,u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a},t.all=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),c=2,u=0,s=[],l=function(e){h(e)||(e=f.resolve(e));var t=u;e.then(function(e){s[t]=e,0==--c&&o(s)},i),c++,u++},f=this;try{for(var p=e(t),v=p.next();!v.done;v=p.next())l(v.value)}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(s),a},t.prototype.then=function(e,t){var r=new this.constructor(null),o=n.current;return this[y]==w?this[g].push(o,r,e,t):C(this,o,r,e,t),r},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){var t=new this.constructor(null);t[_]=_;var r=n.current;return this[y]==w?this[g].push(r,t,e,e):C(this,r,t,e,e),t},t}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise"),R=o(t,"Promise");R&&!R.configurable||(R&&delete R.writable,R&&delete R.value,R||(R={configurable:!0,enumerable:!0}),R.get=function(){return t[F]?t[F]:t[u]},R.set=function(e){e===M?t[F]=e:(t[u]=e,e.prototype[s]||A(e),r.setNativePromise(e))},i(t,"Promise",R)),t.Promise=M;var L=a("thenPatched");function A(e){var t=e.prototype,n=o(t,"then");if(!n||!1!==n.writable&&n.configurable){var r=t.then;t[s]=r,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){r.call(n,e,t)}).then(e,t)},e[L]=!0}}return r.patchThen=A,I&&A(I),Promise[n.__symbol__("uncaughtPromiseErrors")]=c,M}),Zone.__load_patch("fetch",function(e,t,n){var r=e.fetch,o=e.Promise,i=n.symbol("thenPatched"),a=n.symbol("fetchTaskScheduling"),c=n.symbol("fetchTaskAborting");if("function"==typeof r){var u=e.AbortController,s="function"==typeof u,l=null;s&&(e.AbortController=function(){var e=new u;return e.signal.abortController=e,e},l=n.patchMethod(u.prototype,"abort",function(e){return function(t,n){return t.task?t.task.zone.cancelTask(t.task):e.apply(t,n)}}));var f=function(){};e.fetch=function(){var e=this,u=Array.prototype.slice.call(arguments),p=u.length>1?u[1]:null,h=p&&p.signal;return new Promise(function(p,v){var d=t.current.scheduleMacroTask("fetch",f,u,function(){var c,s=t.current;try{s[a]=!0,c=r.apply(e,u)}catch(e){return void v(e)}finally{s[a]=!1}if(!(c instanceof o)){var l=c.constructor;l[i]||n.patchThen(l)}c.then(function(e){"notScheduled"!==d.state&&d.invoke(),p(e)},function(e){"notScheduled"!==d.state&&d.invoke(),v(e)})},function(){if(s)if(h&&h.abortController&&!h.aborted&&"function"==typeof h.abortController.abort&&l)try{t.current[c]=!0,l.call(h.abortController)}finally{t.current[c]=!1}else v("cancel fetch need a AbortController.signal");else v("No AbortController supported, can not cancel fetch")});h&&h.abortController&&(h.abortController.task=d)})}}});var t=Object.getOwnPropertyDescriptor,n=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",u=Zone.__symbol__(a),s=Zone.__symbol__(c),l="true",f="false",p="__zone_symbol__";function h(e,t){return Zone.current.wrap(e,t)}function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,y="undefined"!=typeof window,g=y?window:void 0,_=y&&g||"object"==typeof self&&self||global,m="removeAttribute",k=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=h(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),x=!E&&!T&&!(!y||!g.HTMLElement),O=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!y||!g.HTMLElement),S={},D=function(e){if(e=e||_.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||_,o=r[t];return x&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():void 0==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function P(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!e.hasOwnProperty(a)||!e[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=S[s];l||(l=S[s]=d("ON_PROPERTY"+s)),i.set=function(t){var n=this;n||e!==_||(n=_),n&&(n[l]&&n.removeEventListener(s,D),u&&u.apply(n,k),"function"==typeof t?(n[l]=t,n.addEventListener(s,D,!1)):n[l]=null)},i.get=function(){var t=this;if(t||e!==_||(t=_),!t)return null;var n=t[l];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},n(e,r,i),e[a]=!0}}}function j(e,t,n){if(t)for(var r=0;r<t.length;r++)P(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)P(e,o[a],n)}}var Z=d("originalInstance");function z(e){var t=_[e];if(t){_[d(e)]=t,_[e]=function(){var n=b(arguments,e);switch(n.length){case 0:this[Z]=new t;break;case 1:this[Z]=new t(n[0]);break;case 2:this[Z]=new t(n[0],n[1]);break;case 3:this[Z]=new t(n[0],n[1],n[2]);break;case 4:this[Z]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},I(_[e],t);var r,o=new t(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof o[t]?_[e].prototype[t]=function(){return this[Z][t].apply(this[Z],arguments)}:n(_[e].prototype,t,{set:function(n){"function"==typeof n?(this[Z][t]=h(n,e+"."+t),I(this[Z][t],n)):this[Z][t]=n},get:function(){return this[Z][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(_[e][r]=t[r])}}var C=!1;function M(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&(i=e);var a=d(n),c=null;if(i&&!(c=i[a])&&(c=i[a]=i[n],w(i&&t(i,n)))){var u=o(c,a,n);i[n]=function(){return u(this,arguments)},I(i[n],c),C&&function(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,i[n])}return c}function I(e,t){e[d("OriginalDelegate")]=t}var F=!1,R=!1;function L(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(F)return R;F=!0;try{var e=g.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(R=!0),R}catch(e){}}Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.apply(this[n],arguments):Object.prototype.toString.call(i);if(this===Promise){var a=e[r];if(a)return t.apply(a,arguments)}if(this===Error){var c=e[o];if(c)return t.apply(c,arguments)}}return t.apply(this,arguments)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.apply(this,arguments)}});var q=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){q=!1}var H={useG:!0},W={},K={},U=/^__zone_symbol__(\w+)(true|false)$/,X="__zone_symbol__propagationStopped";function B(e,t,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",y="prependListener",g="."+y+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][f]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}};function b(t,n){if(!t)return!1;var a=!0;n&&void 0!==n.useG&&(a=n.useG);var c=n&&n.vh,_=!0;n&&void 0!==n.chkDup&&(_=n.chkDup);var b=!1;n&&void 0!==n.rt&&(b=n.rt);for(var w=t;w&&!w.hasOwnProperty(o);)w=r(w);if(!w&&t[o]&&(w=t),!w)return!1;if(w[h])return!1;var T,x=n&&n.eventNameToString,O={},S=w[h]=w[o],D=w[d(i)]=w[i],P=w[d(u)]=w[u],j=w[d(s)]=w[s];function Z(e){q||"boolean"==typeof O.options||void 0===O.options||null===O.options||(e.options=!!O.options.capture,O.options=e.options)}n&&n.prepend&&(T=w[d(n.prepend)]=w[n.prepend]);var z=a?function(e){if(!O.isExisting)return Z(e),S.call(O.target,O.eventName,O.capture?k:m,O.options)}:function(e){return Z(e),S.call(O.target,O.eventName,e.invoke,O.options)},C=a?function(e){if(!e.isRemoved){var t=W[e.eventName],n=void 0;t&&(n=t[e.capture?l:f]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:m,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},M=n&&n.diff?n.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},F=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],R=function(t,n,r,o,i,u){return void 0===i&&(i=!1),void 0===u&&(u=!1),function(){var s=this||e,h=arguments[0],v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);d=!0}if(!c||c(t,v,s,arguments)){var y,g=arguments[2];if(F)for(var m=0;m<F.length;m++)if(h===F[m])return t.apply(this,arguments);var k=!1;void 0===g?y=!1:!0===g?y=!0:!1===g?y=!1:(y=!!g&&!!g.capture,k=!!g&&!!g.once);var b,w=Zone.current,T=W[h];if(T)b=T[y?l:f];else{var S=(x?x(h):h)+f,D=(x?x(h):h)+l,P=p+S,j=p+D;W[h]={},W[h][f]=P,W[h][l]=j,b=y?j:P}var Z,z=s[b],C=!1;if(z){if(C=!0,_)for(m=0;m<z.length;m++)if(M(z[m],v))return}else z=s[b]=[];var I=s.constructor.name,R=K[I];R&&(Z=R[h]),Z||(Z=I+n+(x?x(h):h)),O.options=g,k&&(O.options.once=!1),O.target=s,O.capture=y,O.eventName=h,O.isExisting=C;var L=a?H:void 0;L&&(L.taskData=O);var A=w.scheduleEventTask(Z,v,L,r,o);return O.target=null,L&&(L.taskData=null),k&&(g.once=!0),(q||"boolean"!=typeof A.options)&&(A.options=g),A.target=s,A.capture=y,A.eventName=h,d&&(A.originalDelegate=v),u?z.unshift(A):z.push(A),i?s:void 0}}};return w[o]=R(S,v,z,C,b),T&&(w[y]=R(T,g,function(e){return T.call(O.target,O.eventName,e.invoke,O.options)},C,b,!0)),w[i]=function(){var t,n=this||e,r=arguments[0],o=arguments[2];t=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);var i=arguments[1];if(!i)return D.apply(this,arguments);if(!c||c(D,i,n,arguments)){var a,u=W[r];u&&(a=u[t?l:f]);var s=a&&n[a];if(s)for(var p=0;p<s.length;p++){var h=s[p];if(M(h,i))return s.splice(p,1),h.isRemoved=!0,0===s.length&&(h.allRemoved=!0,n[a]=null),h.zone.cancelTask(h),b?n:void 0}return D.apply(this,arguments)}},w[u]=function(){for(var t=arguments[0],n=[],r=Y(this||e,x?x(t):t),o=0;o<r.length;o++){var i=r[o];n.push(i.originalDelegate?i.originalDelegate:i.callback)}return n},w[s]=function(){var t=this||e,n=arguments[0];if(n){var r=W[n];if(r){var o=t[r[f]],a=t[r[l]];if(o){var c=o.slice();for(h=0;h<c.length;h++)this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}if(a)for(c=a.slice(),h=0;h<c.length;h++){var u;this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}}}else{for(var p=Object.keys(t),h=0;h<p.length;h++){var v=U.exec(p[h]),d=v&&v[1];d&&"removeListener"!==d&&this[s].call(this,d)}this[s].call(this,"removeListener")}if(b)return this},I(w[o],S),I(w[i],D),j&&I(w[s],j),P&&I(w[u],P),!0}for(var w=[],T=0;T<t.length;T++)w[T]=b(t[T],n);return w}function Y(e,t){var n=[];for(var r in e){var o=U.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var c=0;c<a.length;c++)n.push(a[c])}}return n}var J=d("zoneTask");function V(e,t,n,r){var o=null,i=null;n+=r;var a={};function c(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[J]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=v(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var l=s.data.handleId;return"number"==typeof l?a[l]=s:l&&(l[J]=s),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(s.ref=l.ref.bind(l),s.unref=l.unref.bind(l)),"number"==typeof l||l?l:s}return n.apply(e,i)}}),i=M(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[J])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[J]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}var G=Object[d("defineProperty")]=Object.defineProperty,Q=Object[d("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=d("unconfigurables");function te(e,t){return e&&e[ee]&&e[ee][t]}function ne(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||G(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function re(e,t,n,r){try{return G(e,t,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return G(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}var oe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ie=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ce=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],le=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],pe=["error","message"],he=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],oe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ve(e,t,n,r){e&&j(e,function(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}(e,t,n),r)}function de(e,u){if(!E||O){var s="undefined"!=typeof WebSocket;if(function(){if((x||O)&&!t(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=t(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var r=XMLHttpRequest.prototype,o=t(r,"onreadystatechange");if(o){n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var i=!!(c=new XMLHttpRequest).onreadystatechange;return n(r,"onreadystatechange",o||{}),i}var a=d("fake");n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[a]},set:function(e){this[a]=e}});var c,u=function(){};return(c=new XMLHttpRequest).onreadystatechange=u,i=c[a]===u,c.onreadystatechange=null,i}()){var l=u.__Zone_ignore_on_properties;if(x){var f=window,p=L?[{target:f,ignoreProperties:["error"]}]:[];ve(f,he.concat(["messageerror"]),l?l.concat(p):l,r(f)),ve(Document.prototype,he,l),void 0!==f.SVGElement&&ve(f.SVGElement.prototype,he,l),ve(Element.prototype,he,l),ve(HTMLElement.prototype,he,l),ve(HTMLMediaElement.prototype,ie,l),ve(HTMLFrameSetElement.prototype,oe.concat(ce),l),ve(HTMLBodyElement.prototype,oe.concat(ce),l),ve(HTMLFrameElement.prototype,ae,l),ve(HTMLIFrameElement.prototype,ae,l);var v=f.HTMLMarqueeElement;v&&ve(v.prototype,ue,l);var y=f.Worker;y&&ve(y.prototype,pe,l)}ve(XMLHttpRequest.prototype,se,l);var g=u.XMLHttpRequestEventTarget;g&&ve(g&&g.prototype,se,l),"undefined"!=typeof IDBIndex&&(ve(IDBIndex.prototype,le,l),ve(IDBRequest.prototype,le,l),ve(IDBOpenDBRequest.prototype,le,l),ve(IDBDatabase.prototype,le,l),ve(IDBTransaction.prototype,le,l),ve(IDBCursor.prototype,le,l)),s&&ve(WebSocket.prototype,fe,l)}else!function(){for(var e=function(e){var t=he[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][ye]&&((t=h(o[n],r))[ye]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<he.length;t++)e(t)}(),z("XMLHttpRequest"),s&&function(e,n){var r=n.WebSocket;n.EventTarget||B(n,[r.prototype]),n.WebSocket=function(e,n){var u,s,l=arguments.length>1?new r(e,n):new r(e),f=t(l,"onmessage");return f&&!1===f.configurable?(u=o(l),s=l,[a,c,"send","close"].forEach(function(e){u[e]=function(){var t=i.call(arguments);if(e===a||e===c){var n=t.length>0?t[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);l[r]=u[r]}}return l[e].apply(l,t)}})):u=l,j(u,["close","error","message","open"],s),u};var u=n.WebSocket;for(var s in r)u[s]=r[s]}(0,u)}}var ye=d("unbound");function ge(e,n,r,o){var i=Zone.__symbol__(r);if(!e[i]){var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t(i,e);a&&a.value?(a.value=h(a.value,o),function(t,n,r){var o=a.configurable;re(t,e,ne(t,e,a),o)}(c.prototype)):i[e]=h(i[e],o)}else i[e]&&(i[e]=h(i[e],o))}),a.call(e,i,c,u)},I(e[r],a)}}Zone.__load_patch("util",function(e,t,n){n.patchOnProperties=j,n.patchMethod=M,n.bindArguments=b}),Zone.__load_patch("timers",function(e){V(e,"set","clear","Timeout"),V(e,"set","clear","Interval"),V(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){V(e,"request","cancel","AnimationFrame"),V(e,"mozRequest","mozCancel","AnimationFrame"),V(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,i){return t.current.run(n,e,i,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){var r=t.__symbol__("BLACK_LISTED_EVENTS");e[r]&&(t[r]=e[r]),function(e,t){!function(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[X]=!0,e&&e.apply(t,n)}})}(e,t)}(e,n),function(e,t){var n="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",r="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),o=[],i=e.wtf,a=n.split(",");i?o=a.map(function(e){return"HTML"+e+"Element"}).concat(r):e.EventTarget?o.push("EventTarget"):o=r;for(var c=e.__Zone_disable_IE_check||!1,u=e.__Zone_enable_cross_context_check||!1,s=A(),h="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v=0;v<he.length;v++){var d=p+((k=he[v])+f),y=p+(k+l);W[k]={},W[k][f]=d,W[k][l]=y}for(v=0;v<n.length;v++)for(var g=a[v],_=K[g]={},m=0;m<he.length;m++){var k;_[k=he[m]]=g+".addEventListener:"+k}var b=[];for(v=0;v<o.length;v++){var w=e[o[v]];b.push(w&&w.prototype)}B(e,b,{vh:function(e,t,n,r){if(!c&&s){if(u)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}else if(u)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0}}),t.patchEventTarget=B}(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){de(0,e),Object.defineProperty=function(e,t,n){if(te(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ne(e,t,n)),re(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ne(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&te(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(e,t,n){(x||O)&&"registerElement"in e.document&&ge(document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"]),(x||O)&&"customElements"in e&&ge(e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}),Zone.__load_patch("canvas",function(e){var t=e.HTMLCanvasElement;void 0!==t&&t.prototype&&t.prototype.toBlob&&function(e,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=M(t.prototype,"toBlob",function(e){return function(t,n){var r=function(e,t){return{name:"HTMLCanvasElement.toBlob",target:e,cbIdx:0,args:t}}(t,n);return r.cbIdx>=0&&"function"==typeof n[r.cbIdx]?v(r.name,n[r.cbIdx],r,i):e.apply(t,n)}})}()}),Zone.__load_patch("XHR",function(e,t){!function(l){var f=XMLHttpRequest.prototype,p=f[u],h=f[s];if(!p){var y=e.XMLHttpRequestEventTarget;if(y){var g=y.prototype;p=g[u],h=g[s]}}var _="readystatechange",m="scheduled";function k(e){var t=e.data,r=t.target;r[i]=!1,r[c]=!1;var a=r[o];p||(p=r[u],h=r[s]),a&&h.call(r,_,a);var l=r[o]=function(){if(r.readyState===r.DONE)if(!t.aborted&&r[i]&&e.state===m){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=e.invoke;e.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i<n.length;i++)n[i]===e&&n.splice(i,1);t.aborted||e.state!==m||o.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==r[i]||(r[c]=!0)};return p.call(r,_,l),r[n]||(r[n]=e),O.apply(r,t.args),r[i]=!0,e}function b(){}function w(e){var t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}var T=M(f,"open",function(){return function(e,t){return e[r]=0==t[2],e[a]=t[1],T.apply(e,t)}}),E=d("fetchTaskAborting"),x=d("fetchTaskScheduling"),O=M(f,"send",function(){return function(e,n){if(!0===t.current[x])return O.apply(e,n);if(e[r])return O.apply(e,n);var o={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},i=v("XMLHttpRequest.send",b,o,k,w);e&&!0===e[c]&&!o.aborted&&i.state===m&&i.invoke()}}),S=M(f,"abort",function(){return function(e,r){var o=e[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[E])return S.apply(e,r)}})}();var n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),a=d("xhrURL"),c=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(e){e.navigator&&e.navigator.geolocation&&function(e,n){for(var r=e.constructor.name,o=function(o){var i=n[o],a=e[i];if(a){if(!w(t(e,i)))return"continue";e[i]=function(e){var t=function(){return e.apply(this,b(arguments,r+"."+i))};return I(t,e),t}(a)}},i=0;i<n.length;i++)o(i)}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){Y(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var i=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})})},1:function(e,t,n){e.exports=n("hN/g")},"1TsA":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"2OiF":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"3Lyj":function(e,t,n){var r=n("KroJ");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},"45Tv":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(e,t,n){if(a(e,t,n))return c(e,t,n);var r=i(t);return null!==r?s(e,r,n):void 0};r.exp({getMetadata:function(e,t){return s(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},"49D4":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},"4LiD":function(e,t,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");e.exports=function(e,t,n,d,y,g){var _=r[e],m=_,k=y?"set":"add",b=m&&m.prototype,w={},T=function(e){var t=b[e];i(b,e,"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof m&&(g||b.forEach&&!f(function(){(new m).entries().next()}))){var E=new m,x=E[k](g?{}:-0,1)!=E,O=f(function(){E.has(1)}),S=p(function(e){new m(e)}),D=!g&&f(function(){for(var e=new m,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((m=t(function(t,n){s(t,m,e);var r=v(new _,t,m);return void 0!=n&&u(n,y,r[k],r),r})).prototype=b,b.constructor=m),(O||D)&&(T("delete"),T("has"),y&&T("get")),(D||x)&&T(k),g&&b.clear&&delete b.clear}else m=d.getConstructor(t,e,y,k),a(m.prototype,n),c.NEED=!0;return h(m,e),w[e]=m,o(o.G+o.W+o.F*(m!=_),w),g||d.setStrong(m,e,y),m}},"4R4u":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"6FMO":function(e,t,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},"7Dlh":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},"9AAn":function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},"9gX7":function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},Afnz:function(e,t,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,v,d,y,g){u(n,t,v);var _,m,k,b=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",T="values"==d,E=!1,x=e.prototype,O=x[f]||x["@@iterator"]||d&&x[d],S=O||b(d),D=d?T?b("entries"):S:void 0,P="Array"==t&&x.entries||O;if(P&&(k=l(P.call(new e)))!==Object.prototype&&k.next&&(s(k,w,!0),r||"function"==typeof k[f]||a(k,f,h)),T&&O&&"values"!==O.name&&(E=!0,S=function(){return O.call(this)}),r&&!g||!p&&!E&&x[f]||a(x,f,S),c[t]=S,c[w]=h,d)if(_={values:T?S:b("values"),keys:y?S:b("keys"),entries:D},g)for(m in _)m in x||i(x,m,_[m]);else o(o.P+o.F*(p||E),t,_);return _}},BqfV:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},CkkT:function(e,t,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");e.exports=function(e,t){var n=1==e,u=2==e,s=3==e,l=4==e,f=6==e,p=5==e||f,h=t||c;return function(t,c,v){for(var d,y,g=i(t),_=o(g),m=r(c,v,3),k=a(_.length),b=0,w=n?h(t,k):u?h(t,0):void 0;k>b;b++)if((p||b in _)&&(y=m(d=_[b],b,g),e))if(n)w[b]=y;else if(y)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(l)return!1;return f?-1:s||l?l:w}}},DVgA:function(e,t,n){var r=n("zhAb"),o=n("4R4u");e.exports=Object.keys||function(e){return r(e,o)}},EK0E:function(e,t,n){"use strict";var r,o=n("CkkT")(0),i=n("KroJ"),a=n("Z6vF"),c=n("czNK"),u=n("ZD67"),s=n("0/R4"),l=n("eeVq"),f=n("s5qY"),p=a.getWeak,h=Object.isExtensible,v=u.ufstore,d={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(s(e)){var t=p(e);return!0===t?v(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},_=e.exports=n("4LiD")("WeakMap",y,g,u,!0,!0);l(function(){return 7!=(new _).set((Object.freeze||Object)(d),7).get(d)})&&(c((r=u.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(e){var t=_.prototype,n=t[e];i(t,e,function(t,o){if(s(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},EWmC:function(e,t,n){var r=n("LZWt");e.exports=Array.isArray||function(e){return"Array"==r(e)}},EemH:function(e,t,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;t.f=n("nh4g")?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},FJW5:function(e,t,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");e.exports=n("nh4g")?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},FZcq:function(e,t,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),e.exports=n("g3g5").Reflect},H6hf:function(e,t,n){var r=n("y3w9");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},"I8a+":function(e,t,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},Iw71:function(e,t,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"J+6e":function(e,t,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");e.exports=n("g3g5").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},JiEa:function(e,t){t.f=Object.getOwnPropertySymbols},K0xU:function(e,t,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},KroJ:function(e,t,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=Function.toString,u=(""+c).split("toString");n("g3g5").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(s&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||c.call(this)})},Kuth:function(e,t,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var e,t=n("Iw71")("iframe"),r=i.length;for(t.style.display="none",n("+rLv").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},LQAc:function(e,t){e.exports=!1},LZWt:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},M6Qj:function(e,t,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},Mukb:function(e,t,n){var r=n("hswa"),o=n("RjD/");e.exports=n("nh4g")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},N6cJ:function(e,t,n){var r=n("9AAn"),o=n("XKFU"),i=n("VTer")("metadata"),a=i.store||(i.store=new(n("EK0E"))),c=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i};e.exports={store:a,map:c,has:function(e,t,n){var r=c(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=c(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){c(n,r,!0).set(e,t)},keys:function(e,t){var n=c(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){o(o.S,"Reflect",e)}}},OP3Y:function(e,t,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},Opxb:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("2OiF"),a=r.key,c=r.set;r.exp({metadata:function(e,t){return function(n,r){c(e,t,(void 0!==r?o:i)(n),a(r))}}})},Q3ne:function(e,t,n){var r=n("SlkY");e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},QaDb:function(e,t,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},RYi7:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"RjD/":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"S/j/":function(e,t,n){var r=n("vhPU");e.exports=function(e){return Object(r(e))}},SlkY:function(e,t,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(t=e.exports=function(e,t,n,f,p){var h,v,d,y,g=p?function(){return e}:u(e),_=r(n,f,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=c(e.length);h>m;m++)if((y=t?_(a(v=e[m])[0],v[1]):_(e[m]))===s||y===l)return y}else for(d=g.call(e);!(v=d.next()).done;)if((y=o(d,_,v.value,t))===s||y===l)return y}).BREAK=s,t.RETURN=l},T39b:function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,"Set"),e=0===e?0:e,e)}},r)},UqcF:function(e,t){t.f={}.propertyIsEnumerable},VTer:function(e,t,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},XKFU:function(e,t,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(e,t,n){var s,l,f,p,h=e&u.F,v=e&u.G,d=e&u.P,y=e&u.B,g=v?r:e&u.S?r[t]||(r[t]={}):(r[t]||{}).prototype,_=v?o:o[t]||(o[t]={}),m=_.prototype||(_.prototype={});for(s in v&&(n=t),n)f=((l=!h&&g&&void 0!==g[s])?g:n)[s],p=y&&l?c(f,r):d&&"function"==typeof f?c(Function.call,f):f,g&&a(g,s,f,e&u.U),_[s]!=f&&i(_,s,p),d&&m[s]!=f&&(m[s]=f)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},XMVh:function(e,t,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},Xbzi:function(e,t,n){var r=n("0/R4"),o=n("i5dc").set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},YTvA:function(e,t,n){var r=n("VTer")("keys"),o=n("ylqs");e.exports=function(e){return r[e]||(r[e]=o(e))}},Ymqv:function(e,t,n){var r=n("LZWt");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},Z6vF:function(e,t,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return s&&f.NEED&&u(e)&&!i(e,r)&&l(e),e}}},ZD67:function(e,t,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),h=s(6),v=0,d=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var s=e(function(e,r){c(e,s,t,"_i"),e._t=t,e._i=v++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(s.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).has(e):n&&l(n,this._i)}}),s},def:function(e,t,n){var r=o(i(t),!0);return!0===r?d(e).set(t,n):r[e._i]=n,e},ufstore:d}},aCFj:function(e,t,n){var r=n("Ymqv"),o=n("vhPU");e.exports=function(e){return r(o(e))}},aagx:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},apmT:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},czNK:function(e,t,n){"use strict";var r=n("DVgA"),o=n("JiEa"),i=n("UqcF"),a=n("S/j/"),c=n("Ymqv"),u=Object.assign;e.exports=!u||n("eeVq")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,s=1,l=o.f,f=i.f;u>s;)for(var p,h=c(arguments[s++]),v=l?r(h).concat(l(h)):r(h),d=v.length,y=0;d>y;)f.call(h,p=v[y++])&&(n[p]=h[p]);return n}:u},"d/Gc":function(e,t,n){var r=n("RYi7"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},dyZX:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eeVq:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},elZq:function(e,t,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},"fN/3":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},fyDq:function(e,t,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},g3g5:function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},"hN/g":function(e,t,n){"use strict";n.r(t),n("FZcq"),n("0TWp")},hPIQ:function(e,t){e.exports={}},hswa:function(e,t,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;t.f=n("nh4g")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},i5dc:function(e,t,n){var r=n("0/R4"),o=n("y3w9"),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},"iW+S":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=i(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:c(arguments[2]))}})},m0Pp:function(e,t,n){var r=n("2OiF");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},ne8i:function(e,t,n){var r=n("RYi7"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},nh4g:function(e,t,n){e.exports=!n("eeVq")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},s5qY:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},uAtd:function(e,t,n){var r=n("T39b"),o=n("Q3ne"),i=n("N6cJ"),a=n("y3w9"),c=n("OP3Y"),u=i.keys,s=i.key,l=function(e,t){var n=u(e,t),i=c(e);if(null===i)return n;var a=l(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return l(a(e),arguments.length<2?void 0:s(arguments[1]))}})},vhPU:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},w2a5:function(e,t,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");e.exports=function(e){return function(t,n,a){var c,u=r(t),s=o(u.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},wmvG:function(e,t,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),h=n("Z6vF").fastKey,v=n("s5qY"),d=p?"_s":"size",y=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){c(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[d]=0,void 0!=r&&u(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=v(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[d]=0},delete:function(e){var n=v(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(e){v(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(v(this,t),e)}}),p&&r(l.prototype,"size",{get:function(){return v(this,t)[d]}}),l},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[d]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){s(e,t,function(e,n){this._t=v(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},xpql:function(e,t,n){e.exports=!n("nh4g")&&!n("eeVq")(function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a})},y3w9:function(e,t,n){var r=n("0/R4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ylqs:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},zRwo:function(e,t,n){var r=n("6FMO");e.exports=function(e,t){return new(r(e))(t)}},zhAb:function(e,t,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(s,n)||s.push(n));return s}},"zq+C":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=c.get(t);return u.delete(n),!!u.size||c.delete(t)}})}},[[1,0]]]);
!function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for($e=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n<r;n++)d(e[n],t)}function o(e){return function(t){Pe(t)&&(d(t,e),oe.length&&r(t.querySelectorAll(oe),e))}}function l(e){var t=xe.call(e,"is"),n=e.nodeName.toUpperCase(),r=ae.call(ne,t?J+t.toUpperCase():Y+n);return t&&-1<r&&!a(n,t)?-1:r}function a(e,t){return-1<oe.indexOf(e+'[is="'+t+'"]')}function i(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,o=e.target,l=e[K]||2,a=e[X]||3;!tt||o&&o!==t||!t[q]||"style"===r||e.prevValue===e.newValue&&(""!==e.newValue||n!==l&&n!==a)||t[q](r,n===l?null:e.prevValue,n===a?null:e.newValue)}function u(e){var t=o(e);return function(e){C.push(t,e.target),$e&&clearTimeout($e),$e=setTimeout(n,1)}}function c(e){et&&(et=!1,e.currentTarget.removeEventListener(Q,c)),oe.length&&r((e.target||g).querySelectorAll(oe),e.detail===_?_:U),Se&&function(){for(var e,t=0,n=Re.length;t<n;t++)le.contains(e=Re[t])||(n--,Re.splice(t--,1),d(e,_))}()}function s(e,t){var n=this;Ze.call(n,e,t),w.call(n,{target:n})}function m(e,t,n){var r=t.apply(e,n),o=l(r);return-1<o&&F(r,re[o]),n.pop()&&oe.length&&function(e){for(var t,n=0,r=e.length;n<r;n++)F(t=e[n],re[l(t)])}(r.querySelectorAll(oe)),r}function f(e,t){Ne(e,t),N?N.observe(e,Ke):(Je&&(e.setAttribute=s,e[P]=O(e),e[R](W,w)),e[R]($,i)),e[G]&&tt&&(e.created=!0,e[G](),e.created=!1)}function p(e){throw new Error("A "+e+" type is already registered")}function d(e,t){var n,r,o=l(e);-1<o&&(I(e,re[o]),o=0,t!==U||e[U]?t!==_||e[_]||(e[U]=!1,e[_]=!0,r="disconnected",o=1):(e[_]=!1,e[U]=!0,r="connected",o=1,Se&&ae.call(Re,e)<0&&Re.push(e)),o&&(n=e[t+k]||e[r+k])&&n.call(e))}function h(){}function T(e,t,n){var r=n&&n[x]||"",o=t.prototype,l=Oe(o),a=t.observedAttributes||me,i={prototype:l};Ve(l,G,{value:function(){if(be)be=!1;else if(!this[Le]){this[Le]=!0,new t(this),o[G]&&o[G].call(this);var e=ye[we.get(t)];(!Ee||e.create.length>1)&&E(this)}}}),Ve(l,q,{value:function(e){-1<ae.call(a,e)&&o[q]&&o[q].apply(this,arguments)}}),o[Z]&&Ve(l,B,{value:o[Z]}),o[j]&&Ve(l,z,{value:o[j]}),r&&(i[x]=r),e=e.toUpperCase(),ye[e]={constructor:t,create:r?[r,Ae(e)]:[e]},we.set(t,e),g[V](e.toLowerCase(),i),v(e),Ce[e].r()}function L(e){var t=ye[e.toUpperCase()];return t&&t.constructor}function M(e){return"string"==typeof e?e:e&&e.is||""}function E(e){for(var t,n=e[q],r=n?e.attributes:me,o=r.length;o--;)n.call(e,(t=r[o]).name||t.nodeName,null,t.value||t.nodeValue)}function v(e){return(e=e.toUpperCase())in Ce||(Ce[e]={},Ce[e].p=new ge(function(t){Ce[e].r=t})),Ce[e].p}function H(){Me&&delete e.customElements,se(e,"customElements",{configurable:!0,value:new h}),se(e,"CustomElementRegistry",{configurable:!0,value:h});for(var t=y.get(/^HTML[A-Z]*[a-z]/),n=t.length;n--;function(t){var n=e[t];if(n){e[t]=function(e){var t,r;return e||(e=this),e[Le]||(be=!0,t=ye[we.get(e.constructor)],(e=(r=Ee&&1===t.create.length)?Reflect.construct(n,me,t.constructor):g.createElement.apply(g,t.create))[Le]=!0,be=!1,r||E(e)),e},e[t].prototype=n.prototype;try{n.prototype.constructor=e[t]}catch(r){se(n,Le,{value:e[t]})}}}(t[n]));g.createElement=function(e,t){var n=M(t);return n?ze.call(this,e,Ae(n)):ze.call(this,e)},Qe||(Ye=!0,g[V](""))}var g=e.document,b=e.Object,y=function(e){var t,n,r,o,l=/^[A-Z]+[a-z]/,a=function(e,t){(t=t.toLowerCase())in i||(i[e]=(i[e]||[]).concat(t),i[t]=i[t.toUpperCase()]=e)},i=(b.create||b)(null),u={};for(n in e)for(o in e[n])for(i[o]=r=e[n][o],t=0;t<r.length;t++)i[r[t].toLowerCase()]=i[r[t].toUpperCase()]=o;return u.get=function(e){return"string"==typeof e?i[e]||(l.test(e)?[]:""):function(e){var t,n=[];for(t in i)e.test(t)&&n.push(t);return n}(e)},u.set=function(e,t){return l.test(e)?a(e,t):a(t,e),u},u}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});"object"!=typeof t&&(t={type:t||"auto"});var C,w,A,O,N,D,I,F,S,V="registerElement",P="__"+V+(1e5*e.Math.random()>>0),R="addEventListener",U="attached",k="Callback",_="detached",x="extends",q="attributeChanged"+k,B=U+k,Z="connected"+k,j="disconnected"+k,G="created"+k,z=_+k,K="ADDITION",X="REMOVAL",$="DOMAttrModified",Q="DOMContentLoaded",W="DOMSubtreeModified",Y="<",J="=",ee=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,te=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ne=[],re=[],oe="",le=g.documentElement,ae=ne.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ie=b.prototype,ue=ie.hasOwnProperty,ce=ie.isPrototypeOf,se=b.defineProperty,me=[],fe=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,de=b.getPrototypeOf,he=b.setPrototypeOf,Te=!!b.__proto__,Le="__dreCEv1",Me=e.customElements,Ee=!/^force/.test(t.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),ve=b.create||b,He=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ae.call(t,e)]},set:function(r,o){(e=ae.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},ge=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},be=!1,ye=ve(null),Ce=ve(null),we=new He,Ae=function(e){return e.toLowerCase()},Oe=b.create||function e(t){return t?(e.prototype=t,new e):this},Ne=he||(Te?function(e,t){return e.__proto__=t,e}:pe&&fe?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o<l;o++)ue.call(e,n=r[o])||se(e,n,fe(t,n))}return function(t,n){do{e(t,n)}while((n=de(n))&&!ce.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),De=e.MutationObserver||e.WebKitMutationObserver,Ie=e.HTMLAnchorElement,Fe=(e.HTMLElement||e.Element||e.Node).prototype,Se=!ce.call(Fe,le),Ve=Se?function(e,t,n){return e[t]=n.value,e}:se,Pe=Se?function(e){return 1===e.nodeType}:function(e){return ce.call(Fe,e)},Re=Se&&[],Ue=Fe.attachShadow,ke=Fe.cloneNode,_e=Fe.dispatchEvent,xe=Fe.getAttribute,qe=Fe.hasAttribute,Be=Fe.removeAttribute,Ze=Fe.setAttribute,je=g.createElement,Ge=g.importNode,ze=je,Ke=De&&{attributes:!0,characterData:!0,attributeOldValue:!0},Xe=De||function(e){Je=!1,le.removeEventListener($,Xe)},$e=0,Qe=V in g&&!/^force-all/.test(t.type),We=!0,Ye=!1,Je=!0,et=!0,tt=!0;if(De&&((S=g.createElement("div")).innerHTML="<div><div></div></div>",new De(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=fe(Fe,"innerHTML"))&&S.set;n&&se(Fe,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Qe||(he||Te?(I=function(e,t){ce.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[P]||(e[P]=b(!0),f(e,t))},Se?(Je=!1,function(){var e=fe(Fe,R),t=e.value,n=function(e){var t=new CustomEvent($,{bubbles:!0});t.attrName=e,t.prevValue=xe.call(this,e),t.newValue=null,t[X]=t.attrChange=2,Be.call(this,e),_e.call(this,t)},r=function(e,t){var n=qe.call(this,e),r=n&&xe.call(this,e),o=new CustomEvent($,{bubbles:!0});Ze.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[K]=o.attrChange=0,_e.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[P],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent($,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[K]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,_e.call(n,t))};e.value=function(e,l,a){e===$&&this[q]&&this.setAttribute!==r&&(this[P]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},se(Fe,R,e)}()):De||(le[R]($,Xe),le.setAttribute(P,1),le.removeAttribute(P),Je&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[P],o[P]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],K);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],X)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l<a;l++)"setAttribute"!==(n=(t=o[l]).name)&&(r[n]=t.value);return r})),g[V]=function(e,t){if(n=e.toUpperCase(),We&&(We=!1,De?(N=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new De(function(r){for(var o,l,a,i=0,u=r.length;i<u;i++)"childList"===(o=r[i]).type?(n(o.addedNodes,e),n(o.removedNodes,t)):(l=o.target,tt&&l[q]&&"style"!==o.attributeName&&(a=xe.call(l,o.attributeName))!==o.oldValue&&l[q](o.attributeName,o.oldValue,a))})}(o(U),o(_)),(D=function(e){return N.observe(e,{childList:!0,subtree:!0}),e})(g),Ue&&(Fe.attachShadow=function(){return D(Ue.apply(this,arguments))})):(C=[],g[R]("DOMNodeInserted",u(U)),g[R]("DOMNodeRemoved",u(_))),g[R](Q,c),g[R]("readystatechange",c),g.importNode=function(e,t){switch(e.nodeType){case 1:return m(g,Ge,[e,!!t]);case 11:for(var n=g.createDocumentFragment(),r=e.childNodes,o=r.length,l=0;l<o;l++)n.appendChild(g.importNode(r[l],!!t));return n;default:return ke.call(e,!!t)}},Fe.cloneNode=function(e){return m(this,ke,[!!e])}),Ye)return Ye=!1;if(-2<ae.call(ne,J+n)+ae.call(ne,Y+n)&&p(e),!ee.test(n)||-1<ae.call(te,n))throw new Error("The type "+e+" is invalid");var n,l,a=function(){return s?g.createElement(f,n):g.createElement(f)},i=t||ie,s=ue.call(i,x),f=s?t[x].toUpperCase():n;return s&&-1<ae.call(ne,Y+f)&&p(f),l=ne.push((s?J:Y)+n)-1,oe=oe.concat(oe.length?",":"",s?f+'[is="'+e.toLowerCase()+'"]':f),a.prototype=re[l]=ue.call(i,"prototype")?i.prototype:Oe(Fe),oe.length&&r(g.querySelectorAll(oe),U),a},g.createElement=ze=function(e,t){var n=M(t),r=n?je.call(g,e,Ae(n)):je.call(g,e),o=""+e,l=ae.call(ne,(n?J:Y)+(n||o).toUpperCase()),i=-1<l;return n&&(r.setAttribute("is",n=n.toLowerCase()),i&&(i=a(o.toUpperCase(),n))),tt=!g.createElement.innerHTMLHelper,i&&F(r,re[l]),r}),h.prototype={constructor:h,define:Ee?function(e,t,n){if(n)T(e,t,n);else{var r=e.toUpperCase();ye[r]={constructor:t,create:[r]},we.set(t,r),Me.define(e,t)}}:T,get:Ee?function(e){return Me.get(e)||L(e)}:L,whenDefined:Ee?function(e){return ge.race([Me.whenDefined(e),v(e)])}:v},!Me||/^force/.test(t.type))H();else if(!t.noBuiltIn)try{!function(t,n,r){var o=new RegExp("^<a\\s+is=('|\")"+r+"\\1></a>$");if(n[x]="a",(t.prototype=Oe(Ie.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ie,[],e)},{},"document-register-element-a")}catch(e){H()}if(!t.noBuiltIn)try{if(je.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Ae=function(e){return{is:e.toLowerCase()}}}}(window);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(t,e,n){t.exports=n("zUnb")},"4R65":function(t,e,n){!function(t){"use strict";var e=Object.freeze;function n(t){var e,n,i,s;for(n=1,i=arguments.length;n<i;n++)for(e in s=arguments[n])t[e]=s[e];return t}Object.freeze=function(t){return t};var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function s(t,e){var n=Array.prototype.slice;if(t.bind)return t.bind.apply(t,n.call(arguments,1));var i=n.call(arguments,2);return function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)}}var o=0;function r(t){return t._leaflet_id=t._leaflet_id||++o,t._leaflet_id}function a(t,e,n){var i,s,o,r;return r=function(){i=!1,s&&(o.apply(n,s),s=!1)},o=function(){i?s=arguments:(t.apply(n,arguments),setTimeout(r,e),i=!0)}}function l(t,e,n){var i=e[1],s=e[0],o=i-s;return t===i&&n?t:((t-s)%o+o)%o+s}function h(){return!1}function u(t,e){var n=Math.pow(10,void 0===e?6:e);return Math.round(t*n)/n}function c(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return c(t).split(/\s+/)}function p(t,e){for(var n in t.hasOwnProperty("options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function m(t,e,n){var i=[];for(var s in t)i.push(encodeURIComponent(n?s.toUpperCase():s)+"="+encodeURIComponent(t[s]));return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")}var f=/\{ *([\w_-]+) *\}/g;function _(t,e){return t.replace(f,function(t,n){var i=e[n];if(void 0===i)throw new Error("No value provided for variable "+t);return"function"==typeof i&&(i=i(e)),i})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function b(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function x(t){var e=+new Date,n=Math.max(0,16-(e-w));return w=e+n,window.setTimeout(t,n)}var E=window.requestAnimationFrame||b("RequestAnimationFrame")||x,C=window.cancelAnimationFrame||b("CancelAnimationFrame")||b("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,n){if(!n||E!==x)return E.call(window,s(t,e));t.call(e)}function S(t){t&&C.call(window,t)}var T=(Object.freeze||Object)({freeze:e,extend:n,create:i,bind:s,lastId:o,stamp:r,throttle:a,wrapNum:l,falseFn:h,formatNum:u,trim:c,splitWords:d,setOptions:p,getParamString:m,template:_,isArray:g,indexOf:y,emptyImageUrl:v,requestFn:E,cancelFn:C,requestAnimFrame:k,cancelAnimFrame:S});function I(){}I.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},s=e.__super__=this.prototype,o=i(s);for(var r in o.constructor=e,e.prototype=o,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(e[r]=this[r]);return t.statics&&(n(e,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),n.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=n(i(o.options),t.options)),n(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){s.callInitHooks&&s.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},I.include=function(t){return n(this.prototype,t),this},I.mergeOptions=function(t){return n(this.prototype.options,t),this},I.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),n="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};var P={on:function(t,e,n){if("object"==typeof t)for(var i in t)this._on(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._on(t[s],e,n);return this},off:function(t,e,n){if(t)if("object"==typeof t)for(var i in t)this._off(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._off(t[s],e,n);else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var i=this._events[t];i||(this._events[t]=i=[]),n===this&&(n=void 0);for(var s={fn:e,ctx:n},o=i,r=0,a=o.length;r<a;r++)if(o[r].fn===e&&o[r].ctx===n)return;o.push(s)},_off:function(t,e,n){var i,s,o;if(this._events&&(i=this._events[t]))if(e){if(n===this&&(n=void 0),i)for(s=0,o=i.length;s<o;s++){var r=i[s];if(r.ctx===n&&r.fn===e)return r.fn=h,this._firingCount&&(this._events[t]=i=i.slice()),void i.splice(s,1)}}else{for(s=0,o=i.length;s<o;s++)i[s].fn=h;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var s=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var r=0,a=o.length;r<a;r++){var l=o[r];l.fn.call(l.ctx||this,s)}this._firingCount--}}return i&&this._propagateEvent(s),this},listens:function(t,e){var n=this._events&&this._events[t];if(n&&n.length)return!0;if(e)for(var i in this._eventParents)if(this._eventParents[i].listens(t,e))return!0;return!1},once:function(t,e,n){if("object"==typeof t){for(var i in t)this.once(i,t[i],e);return this}var o=s(function(){this.off(t,e,n).off(t,o,n)},this);return this.on(t,e,n).on(t,o,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[r(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[r(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};P.addEventListener=P.on,P.removeEventListener=P.clearAllEventListeners=P.off,P.addOneTimeEventListener=P.once,P.fireEvent=P.fire,P.hasEventListeners=P.listens;var M=I.extend(P);function D(t,e,n){this.x=n?Math.round(t):t,this.y=n?Math.round(e):e}var A=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,n){return t instanceof D?t:g(t)?new D(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,n)}function R(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function N(t,e){return!t||t instanceof R?t:new R(t,e)}function F(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function z(t,e){return t instanceof F?t:new F(t,e)}function V(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==n&&(this.alt=+n)}function B(t,e,n){return t instanceof V?t:g(t)&&"object"!=typeof t[0]?3===t.length?new V(t[0],t[1],t[2]):2===t.length?new V(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new V(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new V(t,e,n)}D.prototype={clone:function(){return new D(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new D(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new D(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=A(this.x),this.y=A(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,n=t.y-this.y;return Math.sqrt(e*e+n*n)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+u(this.x)+", "+u(this.y)+")"}},R.prototype={extend:function(t){return t=O(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new D((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new D(this.min.x,this.max.y)},getTopRight:function(){return new D(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,n;return(t="number"==typeof t[0]||t instanceof D?O(t):N(t))instanceof R?(e=t.min,n=t.max):e=n=t,e.x>=this.min.x&&n.x<=this.max.x&&e.y>=this.min.y&&n.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>=e.x&&i.x<=n.x&&s.y>=e.y&&i.y<=n.y},overlaps:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>e.x&&i.x<n.x&&s.y>e.y&&i.y<n.y},isValid:function(){return!(!this.min||!this.max)}},F.prototype={extend:function(t){var e,n,i=this._southWest,s=this._northEast;if(t instanceof V)e=t,n=t;else{if(!(t instanceof F))return t?this.extend(B(t)||z(t)):this;if(n=t._northEast,!(e=t._southWest)||!n)return this}return i||s?(i.lat=Math.min(e.lat,i.lat),i.lng=Math.min(e.lng,i.lng),s.lat=Math.max(n.lat,s.lat),s.lng=Math.max(n.lng,s.lng)):(this._southWest=new V(e.lat,e.lng),this._northEast=new V(n.lat,n.lng)),this},pad:function(t){var e=this._southWest,n=this._northEast,i=Math.abs(e.lat-n.lat)*t,s=Math.abs(e.lng-n.lng)*t;return new F(new V(e.lat-i,e.lng-s),new V(n.lat+i,n.lng+s))},getCenter:function(){return new V((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new V(this.getNorth(),this.getWest())},getSouthEast:function(){return new V(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof V||"lat"in t?B(t):z(t);var e,n,i=this._southWest,s=this._northEast;return t instanceof F?(e=t.getSouthWest(),n=t.getNorthEast()):e=n=t,e.lat>=i.lat&&n.lat<=s.lat&&e.lng>=i.lng&&n.lng<=s.lng},intersects:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&i.lat<=n.lat&&s.lng>=e.lng&&i.lng<=n.lng},overlaps:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&i.lat<n.lat&&s.lng>e.lng&&i.lng<n.lng},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},V.prototype={equals:function(t,e){return!!t&&(t=B(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+u(this.lat,t)+", "+u(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,B(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,n=e/Math.cos(Math.PI/180*this.lat);return z([this.lat-e,this.lng-n],[this.lat+e,this.lng+n])},clone:function(){return new V(this.lat,this.lng,this.alt)}};var j={latLngToPoint:function(t,e){var n=this.projection.project(t),i=this.scale(e);return this.transformation._transform(n,i)},pointToLatLng:function(t,e){var n=this.scale(e),i=this.transformation.untransform(t,n);return this.projection.unproject(i)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,n=this.scale(t);return new R(this.transformation.transform(e.min,n),this.transformation.transform(e.max,n))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?l(t.lng,this.wrapLng,!0):t.lng;return new V(this.wrapLat?l(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),n=this.wrapLatLng(e),i=e.lat-n.lat,s=e.lng-n.lng;if(0===i&&0===s)return t;var o=t.getSouthWest(),r=t.getNorthEast();return new F(new V(o.lat-i,o.lng-s),new V(r.lat-i,r.lng-s))}},H=n({},j,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var n=Math.PI/180,i=t.lat*n,s=e.lat*n,o=Math.sin((e.lat-t.lat)*n/2),r=Math.sin((e.lng-t.lng)*n/2),a=o*o+Math.cos(i)*Math.cos(s)*r*r,l=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*l}}),Z={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,n=this.MAX_LATITUDE,i=Math.max(Math.min(n,t.lat),-n),s=Math.sin(i*e);return new D(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new V((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return new R([-t,-t],[t,t])}()};function U(t,e,n,i){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=n,this._d=i}function G(t,e,n,i){return new U(t,e,n,i)}U.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new D((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var $=n({},H,{code:"EPSG:3857",projection:Z,transformation:function(){var t=.5/(Math.PI*Z.R);return G(t,.5,-t,.5)}()}),q=n({},$,{code:"EPSG:900913"});function W(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function K(t,e){var n,i,s,o,r,a,l="";for(n=0,s=t.length;n<s;n++){for(i=0,o=(r=t[n]).length;i<o;i++)a=r[i],l+=(i?"L":"M")+a.x+" "+a.y;l+=e?kt?"z":"x":""}return l||"M0 0"}var Y=document.documentElement.style,Q="ActiveXObject"in window,X=Q&&!document.addEventListener,J="msLaunchUri"in navigator&&!("documentMode"in document),tt=Tt("webkit"),et=Tt("android"),nt=Tt("android 2")||Tt("android 3"),it=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),st=et&&Tt("Google")&&it<537&&!("AudioNode"in window),ot=!!window.opera,rt=Tt("chrome"),at=Tt("gecko")&&!tt&&!ot&&!Q,lt=!rt&&Tt("safari"),ht=Tt("phantom"),ut="OTransition"in Y,ct=0===navigator.platform.indexOf("Win"),dt=Q&&"transition"in Y,pt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,mt="MozPerspective"in Y,ft=!window.L_DISABLE_3D&&(dt||pt||mt)&&!ut&&!ht,_t="undefined"!=typeof orientation||Tt("mobile"),gt=_t&&tt,yt=_t&&pt,vt=!window.PointerEvent&&window.MSPointerEvent,bt=!(!window.PointerEvent&&!vt),wt=!window.L_NO_TOUCH&&(bt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),xt=_t&&ot,Et=_t&&at,Ct=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Lt=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!W("svg").createSVGRect),St=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Tt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It=(Object.freeze||Object)({ie:Q,ielt9:X,edge:J,webkit:tt,android:et,android23:nt,androidStock:st,opera:ot,chrome:rt,gecko:at,safari:lt,phantom:ht,opera12:ut,win:ct,ie3d:dt,webkit3d:pt,gecko3d:mt,any3d:ft,mobile:_t,mobileWebkit:gt,mobileWebkit3d:yt,msPointer:vt,pointer:bt,touch:wt,mobileOpera:xt,mobileGecko:Et,retina:Ct,canvas:Lt,svg:kt,vml:St}),Pt=vt?"MSPointerDown":"pointerdown",Mt=vt?"MSPointerMove":"pointermove",Dt=vt?"MSPointerUp":"pointerup",At=vt?"MSPointerCancel":"pointercancel",Ot=["INPUT","SELECT","OPTION"],Rt={},Nt=!1,Ft=0;function zt(t){Rt[t.pointerId]=t,Ft++}function Vt(t){Rt[t.pointerId]&&(Rt[t.pointerId]=t)}function Bt(t){delete Rt[t.pointerId],Ft--}function jt(t,e){for(var n in t.touches=[],Rt)t.touches.push(Rt[n]);t.changedTouches=[t],e(t)}var Ht=vt?"MSPointerDown":bt?"pointerdown":"touchstart",Zt=vt?"MSPointerUp":bt?"pointerup":"touchend",Ut="_leaflet_";function Gt(t,e,n){var i,s,o=!1,r=250;function a(t){var e;if(bt){if(!J||"mouse"===t.pointerType)return;e=Ft}else e=t.touches.length;if(!(e>1)){var n=Date.now(),a=n-(i||n);s=t.touches?t.touches[0]:t,o=a>0&&a<=r,i=n}}function l(t){if(o&&!s.cancelBubble){if(bt){if(!J||"mouse"===t.pointerType)return;var n,r,a={};for(r in s)a[r]=(n=s[r])&&n.bind?n.bind(s):n;s=a}s.type="dblclick",e(s),i=null}}return t[Ut+Ht+n]=a,t[Ut+Zt+n]=l,t[Ut+"dblclick"+n]=e,t.addEventListener(Ht,a,!1),t.addEventListener(Zt,l,!1),t.addEventListener("dblclick",e,!1),this}function $t(t,e){var n=t[Ut+Zt+e],i=t[Ut+"dblclick"+e];return t.removeEventListener(Ht,t[Ut+Ht+e],!1),t.removeEventListener(Zt,n,!1),J||t.removeEventListener("dblclick",i,!1),this}var qt,Wt,Kt,Yt,Qt,Xt=me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jt=me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),te="webkitTransition"===Jt||"OTransition"===Jt?Jt+"End":"transitionend";function ee(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var n=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!n||"auto"===n)&&document.defaultView){var i=document.defaultView.getComputedStyle(t,null);n=i?i[e]:null}return"auto"===n?null:n}function ie(t,e,n){var i=document.createElement(t);return i.className=e||"",n&&n.appendChild(i),i}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function oe(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function re(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ae(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=de(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)}function he(t,e){if(void 0!==t.classList)for(var n=d(e),i=0,s=n.length;i<s;i++)t.classList.add(n[i]);else if(!le(t,e)){var o=de(t);ce(t,(o?o+" ":"")+e)}}function ue(t,e){void 0!==t.classList?t.classList.remove(e):ce(t,c((" "+de(t)+" ").replace(" "+e+" "," ")))}function ce(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function de(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function pe(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var n=!1,i="DXImageTransform.Microsoft.Alpha";try{n=t.filters.item(i)}catch(t){if(1===e)return}e=Math.round(100*e),n?(n.Enabled=100!==e,n.Opacity=e):t.style.filter+=" progid:"+i+"(opacity="+e+")"}(t,e)}function me(t){for(var e=document.documentElement.style,n=0;n<t.length;n++)if(t[n]in e)return t[n];return!1}function fe(t,e,n){var i=e||new D(0,0);t.style[Xt]=(dt?"translate("+i.x+"px,"+i.y+"px)":"translate3d("+i.x+"px,"+i.y+"px,0)")+(n?" scale("+n+")":"")}function _e(t,e){t._leaflet_pos=e,ft?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ge(t){return t._leaflet_pos||new D(0,0)}if("onselectstart"in document)qt=function(){ke(window,"selectstart",Oe)},Wt=function(){Te(window,"selectstart",Oe)};else{var ye=me(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);qt=function(){if(ye){var t=document.documentElement.style;Kt=t[ye],t[ye]="none"}},Wt=function(){ye&&(document.documentElement.style[ye]=Kt,Kt=void 0)}}function ve(){ke(window,"dragstart",Oe)}function be(){Te(window,"dragstart",Oe)}function we(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(xe(),Yt=t,Qt=t.style.outline,t.style.outline="none",ke(window,"keydown",xe))}function xe(){Yt&&(Yt.style.outline=Qt,Yt=void 0,Qt=void 0,Te(window,"keydown",xe))}function Ee(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function Ce(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Le=(Object.freeze||Object)({TRANSFORM:Xt,TRANSITION:Jt,TRANSITION_END:te,get:ee,getStyle:ne,create:ie,remove:se,empty:oe,toFront:re,toBack:ae,hasClass:le,addClass:he,removeClass:ue,setClass:ce,getClass:de,setOpacity:pe,testProp:me,setTransform:fe,setPosition:_e,getPosition:ge,disableTextSelection:qt,enableTextSelection:Wt,disableImageDrag:ve,enableImageDrag:be,preventOutline:we,restoreOutline:xe,getSizedParentNode:Ee,getScale:Ce});function ke(t,e,n,i){if("object"==typeof e)for(var s in e)Ie(t,s,e[s],n);else for(var o=0,r=(e=d(e)).length;o<r;o++)Ie(t,e[o],n,i);return this}var Se="_leaflet_events";function Te(t,e,n,i){if("object"==typeof e)for(var s in e)Pe(t,s,e[s],n);else if(e)for(var o=0,r=(e=d(e)).length;o<r;o++)Pe(t,e[o],n,i);else{for(var a in t[Se])Pe(t,a,t[Se][a]);delete t[Se]}return this}function Ie(t,e,n,i){var o=e+r(n)+(i?"_"+r(i):"");if(t[Se]&&t[Se][o])return this;var a=function(e){return n.call(i||t,e||window.event)},l=a;bt&&0===e.indexOf("touch")?function(t,e,n,i){"touchstart"===e?function(t,e,n){var i=s(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Ot.indexOf(t.target.tagName)<0))return;Oe(t)}jt(t,e)});t["_leaflet_touchstart"+n]=i,t.addEventListener(Pt,i,!1),Nt||(document.documentElement.addEventListener(Pt,zt,!0),document.documentElement.addEventListener(Mt,Vt,!0),document.documentElement.addEventListener(Dt,Bt,!0),document.documentElement.addEventListener(At,Bt,!0),Nt=!0)}(t,n,i):"touchmove"===e?function(t,e,n){var i=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&jt(t,e)};t["_leaflet_touchmove"+n]=i,t.addEventListener(Mt,i,!1)}(t,n,i):"touchend"===e&&function(t,e,n){var i=function(t){jt(t,e)};t["_leaflet_touchend"+n]=i,t.addEventListener(Dt,i,!1),t.addEventListener(At,i,!1)}(t,n,i)}(t,e,a,o):!wt||"dblclick"!==e||!Gt||bt&&rt?"addEventListener"in t?"mousewheel"===e?t.addEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):"mouseenter"===e||"mouseleave"===e?(a=function(e){e=e||window.event,Ze(t,e)&&l(e)},t.addEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1)):("click"===e&&et&&(a=function(t){!function(t,e){var n=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,i=Ve&&n-Ve;i&&i>100&&i<500||t.target._simulatedClick&&!t._simulated?Re(t):(Ve=n,e(t))}(t,l)}),t.addEventListener(e,a,!1)):"attachEvent"in t&&t.attachEvent("on"+e,a):Gt(t,a,o),t[Se]=t[Se]||{},t[Se][o]=a}function Pe(t,e,n,i){var s=e+r(n)+(i?"_"+r(i):""),o=t[Se]&&t[Se][s];if(!o)return this;bt&&0===e.indexOf("touch")?function(t,e,n){var i=t["_leaflet_"+e+n];"touchstart"===e?t.removeEventListener(Pt,i,!1):"touchmove"===e?t.removeEventListener(Mt,i,!1):"touchend"===e&&(t.removeEventListener(Dt,i,!1),t.removeEventListener(At,i,!1))}(t,e,s):!wt||"dblclick"!==e||!$t||bt&&rt?"removeEventListener"in t?t.removeEventListener("mousewheel"===e?"onwheel"in t?"wheel":"mousewheel":"mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,o,!1):"detachEvent"in t&&t.detachEvent("on"+e,o):$t(t,s),t[Se][s]=null}function Me(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,He(t),this}function De(t){return Ie(t,"mousewheel",Me),this}function Ae(t){return ke(t,"mousedown touchstart dblclick",Me),Ie(t,"click",je),this}function Oe(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Oe(t),Me(t),this}function Ne(t,e){if(!e)return new D(t.clientX,t.clientY);var n=Ce(e),i=n.boundingClientRect;return new D((t.clientX-i.left)/n.x-e.clientLeft,(t.clientY-i.top)/n.y-e.clientTop)}var Fe=ct&&rt?2*window.devicePixelRatio:at?window.devicePixelRatio:1;function ze(t){return J?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ve,Be={};function je(t){Be[t.type]=!0}function He(t){var e=Be[t.type];return Be[t.type]=!1,e}function Ze(t,e){var n=e.relatedTarget;if(!n)return!0;try{for(;n&&n!==t;)n=n.parentNode}catch(t){return!1}return n!==t}var Ue=(Object.freeze||Object)({on:ke,off:Te,stopPropagation:Me,disableScrollPropagation:De,disableClickPropagation:Ae,preventDefault:Oe,stop:Re,getMousePosition:Ne,getWheelDelta:ze,fakeStop:je,skipped:He,isExternalTarget:Ze,addListener:ke,removeListener:Te}),Ge=M.extend({run:function(t,e,n,i){this.stop(),this._el=t,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(i||.5,.2),this._startPos=ge(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,n=1e3*this._duration;e<n?this._runFrame(this._easeOut(e/n),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var n=this._startPos.add(this._offset.multiplyBy(t));e&&n._round(),_e(this._el,n),this.fire("step")},_complete:function(){S(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),$e=M.extend({options:{crs:$,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=p(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=s(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(B(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jt&&ft&&!xt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ke(this._proxy,te,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(B(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t=t||(ft?this.options.zoomDelta:1)),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t=t||(ft?this.options.zoomDelta:1)),e)},setZoomAround:function(t,e,n){var i=this.getZoomScale(e),s=this.getSize().divideBy(2),o=(t instanceof D?t:this.latLngToContainerPoint(t)).subtract(s).multiplyBy(1-1/i),r=this.containerPointToLatLng(s.add(o));return this.setView(r,e,{zoom:n})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():z(t);var n=O(e.paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,n.add(i));if((s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s)===1/0)return{center:t.getCenter(),zoom:s};var o=i.subtract(n).divideBy(2),r=this.project(t.getSouthWest(),s),a=this.project(t.getNorthEast(),s);return{center:this.unproject(r.add(a).divideBy(2).add(o),s),zoom:s}},fitBounds:function(t,e){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var n=this._getBoundsCenterZoom(t,e);return this.setView(n.center,n.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=O(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Ge,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){he(this._mapPane,"leaflet-pan-anim");var n=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,n,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){if(!1===(n=n||{}).animate||!ft)return this.setView(t,e,n);this._stop();var i=this.project(this.getCenter()),s=this.project(t),o=this.getSize(),r=this._zoom;t=B(t),e=void 0===e?r:e;var a=Math.max(o.x,o.y),l=a*this.getZoomScale(r,e),h=s.distanceTo(i)||1,u=2.0164;function c(t){var e=(l*l-a*a+(t?-1:1)*u*u*h*h)/(2*(t?l:a)*u*h),n=Math.sqrt(e*e+1)-e;return n<1e-9?-18:Math.log(n)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=c(0),f=Date.now(),_=(c(1)-m)/1.42,g=n.duration?1e3*n.duration:1e3*_*.8;return this._moveStart(!0,n.noMoveStart),(function n(){var o=(Date.now()-f)/g,l=function(t){return 1-Math.pow(1-t,1.5)}(o)*_;o<=1?(this._flyToFrame=k(n,this),this._move(this.unproject(i.add(s.subtract(i).multiplyBy(function(t){return a*(p(m)*function(t){return d(t)/p(t)}(m+1.42*t)-d(m))/u}(l)/h)),r),this.getScaleZoom(a/function(t){return a*(p(m)/p(m+1.42*t))}(l),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}).call(this),this},flyToBounds:function(t,e){var n=this._getBoundsCenterZoom(t,e);return this.flyTo(n.center,n.zoom,e)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var n=this.getCenter(),i=this._limitCenter(n,this._zoom,z(t));return n.equals(i)||this.panTo(i,e),this._enforcingBounds=!1,this},panInside:function(t,e){var n=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getCenter(),o=this.project(s),r=this.project(t),a=this.getPixelBounds(),l=a.getSize().divideBy(2),h=N([a.min.add(n),a.max.subtract(i)]);if(!h.contains(r)){this._enforcingBounds=!0;var u=o.subtract(r),c=O(r.x+u.x,r.y+u.y);(r.x<h.min.x||r.x>h.max.x)&&(c.x=o.x-u.x,u.x>0?c.x+=l.x-n.x:c.x-=l.x-i.x),(r.y<h.min.y||r.y>h.max.y)&&(c.y=o.y-u.y,u.y>0?c.y+=l.y-n.y:c.y-=l.y-i.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),a=o.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(s(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=s(this._handleGeolocationResponse,this),i=s(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,n=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+n+"."})},_handleGeolocationResponse:function(t){var e=new V(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),i=this._locateOptions;if(i.setView){var s=this.getBoundsZoom(n);this.setView(e,i.maxZoom?Math.min(s,i.maxZoom):s)}var o={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(o[r]=t.coords[r]);this.fire("locationfound",o)},addHandler:function(t,e){if(!e)return this;var n=this[t]=new e(this);return this._handlers.push(n),this.options[t]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=ie("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new F(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,n){t=z(t),n=O(n||[0,0]);var i=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(n),h=N(this.project(a,i),this.project(r,i)).getSize(),u=ft?this.options.zoomSnap:1,c=l.x/h.x,d=l.y/h.y,p=e?Math.max(c,d):Math.min(c,d);return i=this.getScaleZoom(p,i),u&&(i=Math.round(i/(u/100))*(u/100),i=e?Math.ceil(i/u)*u:Math.floor(i/u)*u),Math.max(s,Math.min(o,i))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var n=this._getTopLeftPoint(t,e);return new R(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=void 0===e?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs,i=n.zoom(t*n.scale(e=void 0===e?this._zoom:e));return isNaN(i)?1/0:i},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(B(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(B(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(B(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,e){return this.options.crs.distance(B(t),B(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(B(t)))},mouseEventToContainerPoint:function(t){return Ne(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ee(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");ke(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ft,he(t,"leaflet-container"+(wt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(X?" leaflet-oldie":"")+(lt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(he(t.markerPane,"leaflet-zoom-hide"),he(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){_e(this._mapPane,new D(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var i=this._zoom!==e;this._moveStart(i,!1)._move(t,e)._moveEnd(i),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,n){void 0===e&&(e=this._zoom);var i=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(i||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){_e(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Te:ke;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),ft&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=k(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,o=t.target||t.srcElement,a=!1;o;){if((n=this._targets[r(o)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(n)){a=!0;break}if(n&&n.listens(e,!0)){if(s&&!Ze(o,t))break;if(i.push(n),s)break}if(o===this._container)break;o=o.parentNode}return i.length||a||s||!Ze(o,t)||(i=[this]),i},_handleDOMEvent:function(t){if(this._loaded&&!He(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e||we(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var s=n({},t);s.type="preclick",this._fireDOMEvent(s,s.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&Oe(t);var r={originalEvent:t};if("keypress"!==t.type){var a=o.getLatLng&&(!o._radius||o._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?o.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var l=0;l<i.length;l++)if(i[l].fire(e,r,!0),r.originalEvent._stopped||!1===i[l].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ge(this._mapPane)||new D(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var n=this.getSize()._divideBy(2);return this.project(t,e)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return N([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,n){if(!n)return t;var i=this.project(t,e),s=this.getSize().divideBy(2),o=new R(i.subtract(s),i.add(s)),r=this._getBoundsOffset(o,n,e);return r.round().equals([0,0])?t:this.unproject(i.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var n=this.getPixelBounds(),i=new R(n.min.add(t),n.max.add(t));return t.add(this._getBoundsOffset(i,e))},_getBoundsOffset:function(t,e,n){var i=N(this.project(e.getNorthEast(),n),this.project(e.getSouthWest(),n)),s=i.min.subtract(t.min),o=i.max.subtract(t.max);return new D(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),n=this.getMaxZoom(),i=ft?this.options.zoomSnap:1;return i&&(t=Math.round(t/i)*i),Math.max(e,Math.min(n,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ue(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var n=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(n)||(this.panBy(n,e),0))},_createAnimProxy:function(){var t=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=Xt,n=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),n===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,n){if(this._animatingZoom)return!0;if(n=n||{},!this._zoomAnimated||!1===n.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var i=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/i);return!(!0!==n.animate&&!this.getSize().contains(s)||(k(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,n,i){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,he(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:i}),setTimeout(s(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ue(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),k(function(){this._moveEnd(!0)},this))}}),qe=I.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),n=this.getPosition(),i=t._controlCorners[n];return he(e,"leaflet-control"),-1!==n.indexOf("bottom")?i.insertBefore(e,i.firstChild):i.appendChild(e),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),We=function(t){return new qe(t)};$e.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",n=this._controlContainer=ie("div",e+"control-container",this._container);function i(i,s){t[i+s]=ie("div",e+i+" "+e+s,n)}i("top","left"),i("top","right"),i("bottom","left"),i("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=qe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,n,i){return n<i?-1:i<n?1:0}},initialize:function(t,e,n){for(var i in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[i],i);for(i in e)this._addLayer(e[i],i,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return qe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(r(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){he(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(he(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ue(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ue(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ie("div",t),n=this.options.collapsed;e.setAttribute("aria-haspopup",!0),Ae(e),De(e);var i=this._section=ie("section",t+"-list");n&&(this._map.on("click",this.collapse,this),et||ke(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=ie("a",t+"-toggle",e);s.href="#",s.title="Layers",wt?(ke(s,"click",Re),ke(s,"click",this.expand,this)):ke(s,"focus",this.expand,this),n||this.expand(),this._baseLayersList=ie("div",t+"-base",i),this._separator=ie("div",t+"-separator",i),this._overlaysList=ie("div",t+"-overlays",i),e.appendChild(i)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&r(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:n}),this.options.sortLayers&&this._layers.sort(s(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;oe(this._baseLayersList),oe(this._overlaysList),this._layerControlInputs=[];var t,e,n,i,s=0;for(n=0;n<this._layers.length;n++)this._addItem(i=this._layers[n]),e=e||i.overlay,t=t||!i.overlay,s+=i.overlay?0:1;return this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&s>1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),n=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;n&&this._map.fire(n,e)},_createRadioElement:function(t,e){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=n,i.firstChild},_addItem:function(t){var e,n=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=i):e=this._createRadioElement("leaflet-base-layers",i),this._layerControlInputs.push(e),e.layerId=r(t.layer),ke(e,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var o=document.createElement("div");return n.appendChild(o),o.appendChild(e),o.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,n=this._layerControlInputs,i=[],s=[];this._handlingClick=!0;for(var o=n.length-1;o>=0;o--)e=this._getLayer((t=n[o]).layerId).layer,t.checked?i.push(e):t.checked||s.push(e);for(o=0;o<s.length;o++)this._map.hasLayer(s[o])&&this._map.removeLayer(s[o]);for(o=0;o<i.length;o++)this._map.hasLayer(i[o])||this._map.addLayer(i[o]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._layerControlInputs,i=this._map.getZoom(),s=n.length-1;s>=0;s--)e=this._getLayer((t=n[s]).layerId).layer,t.disabled=void 0!==e.options.minZoom&&i<e.options.minZoom||void 0!==e.options.maxZoom&&i>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Ye=qe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",n=ie("div",e+" leaflet-bar"),i=this.options;return this._zoomInButton=this._createButton(i.zoomInText,i.zoomInTitle,e+"-in",n,this._zoomIn),this._zoomOutButton=this._createButton(i.zoomOutText,i.zoomOutTitle,e+"-out",n,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),n},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,n,i,s){var o=ie("a",n,i);return o.innerHTML=t,o.href="#",o.title=e,o.setAttribute("role","button"),o.setAttribute("aria-label",e),Ae(o),ke(o,"click",Re),ke(o,"click",s,this),ke(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ue(this._zoomInButton,e),ue(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&he(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&he(this._zoomInButton,e)}});$e.mergeOptions({zoomControl:!0}),$e.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Qe=qe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=ie("div","leaflet-control-scale"),n=this.options;return this._addScales(n,"leaflet-control-scale-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,n){t.metric&&(this._mScale=ie("div",e,n)),t.imperial&&(this._iScale=ie("div",e,n))},_update:function(){var t=this._map,e=t.getSize().y/2,n=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(n)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,n,i,s=3.2808399*t;s>5280?(n=this._getRoundNum(e=s/5280),this._updateScale(this._iScale,n+" mi",n/e)):(i=this._getRoundNum(s),this._updateScale(this._iScale,i+" ft",i/s))},_updateScale:function(t,e,n){t.style.width=Math.round(this.options.maxWidth*n)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),n=t/e;return e*(n>=10?10:n>=5?5:n>=3?3:n>=2?2:1)}}),Xe=qe.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),Ae(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var n=[];this.options.prefix&&n.push(this.options.prefix),t.length&&n.push(t.join(", ")),this._container.innerHTML=n.join(" | ")}}});$e.mergeOptions({attributionControl:!0}),$e.addInitHook(function(){this.options.attributionControl&&(new Xe).addTo(this)}),qe.Layers=Ke,qe.Zoom=Ye,qe.Scale=Qe,qe.Attribution=Xe,We.layers=function(t,e,n){return new Ke(t,e,n)},We.zoom=function(t){return new Ye(t)},We.scale=function(t){return new Qe(t)},We.attribution=function(t){return new Xe(t)};var Je=I.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Je.addTo=function(t,e){return t.addHandler(e,this),this};var tn,en={Events:P},nn=wt?"touchstart mousedown":"mousedown",sn={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},on={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},rn=M.extend({options:{clickTolerance:3},initialize:function(t,e,n,i){p(this,i),this._element=t,this._dragStartTarget=e||t,this._preventOutline=n},enable:function(){this._enabled||(ke(this._dragStartTarget,nn,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(rn._dragging===this&&this.finishDrag(),Te(this._dragStartTarget,nn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")&&!(rn._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(rn._dragging=this,this._preventOutline&&we(this._element),ve(),qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,n=Ee(this._element);this._startPoint=new D(e.clientX,e.clientY),this._parentScale=Ce(n),ke(document,on[t.type],this._onMove,this),ke(document,sn[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,n=new D(e.clientX,e.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,Oe(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ge(this._element).subtract(n),he(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),he(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(n),this._moving=!0,S(this._animRequest),this._lastEvent=t,this._animRequest=k(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),_e(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in ue(document.body,"leaflet-dragging"),this._lastTarget&&(ue(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),on)Te(document,on[t],this._onMove,this),Te(document,sn[t],this._onUp,this);be(),Wt(),this._moved&&this._moving&&(S(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,rn._dragging=!1}});function an(t,e){if(!e||!t.length)return t.slice();var n=e*e;return function(t,e){var n=t.length,i=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);i[0]=i[n-1]=1,function t(e,n,i,s,o){var r,a,l,h=0;for(a=s+1;a<=o-1;a++)(l=pn(e[a],e[s],e[o],!0))>h&&(r=a,h=l);h>i&&(n[r]=1,t(e,n,i,s,r),t(e,n,i,r,o))}(t,i,e,0,n-1);var s,o=[];for(s=0;s<n;s++)i[s]&&o.push(t[s]);return o}(t=function(t,e){for(var n=[t[0]],i=1,s=0,o=t.length;i<o;i++)dn(t[i],t[s])>e&&(n.push(t[i]),s=i);return s<o-1&&n.push(t[o-1]),n}(t,n),n)}function ln(t,e,n){return Math.sqrt(pn(t,e,n,!0))}function hn(t,e,n,i,s){var o,r,a,l=i?tn:cn(t,n),h=cn(e,n);for(tn=h;;){if(!(l|h))return[t,e];if(l&h)return!1;a=cn(r=un(t,e,o=l||h,n,s),n),o===l?(t=r,l=a):(e=r,h=a)}}function un(t,e,n,i,s){var o,r,a=e.x-t.x,l=e.y-t.y,h=i.min,u=i.max;return 8&n?(o=t.x+a*(u.y-t.y)/l,r=u.y):4&n?(o=t.x+a*(h.y-t.y)/l,r=h.y):2&n?(o=u.x,r=t.y+l*(u.x-t.x)/a):1&n&&(o=h.x,r=t.y+l*(h.x-t.x)/a),new D(o,r,s)}function cn(t,e){var n=0;return t.x<e.min.x?n|=1:t.x>e.max.x&&(n|=2),t.y<e.min.y?n|=4:t.y>e.max.y&&(n|=8),n}function dn(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}function pn(t,e,n,i){var s,o=e.x,r=e.y,a=n.x-o,l=n.y-r,h=a*a+l*l;return h>0&&((s=((t.x-o)*a+(t.y-r)*l)/h)>1?(o=n.x,r=n.y):s>0&&(o+=a*s,r+=l*s)),a=t.x-o,l=t.y-r,i?a*a+l*l:new D(o,r)}function mn(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function fn(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),mn(t)}var _n=(Object.freeze||Object)({simplify:an,pointToSegmentDistance:ln,closestPointOnSegment:function(t,e,n){return pn(t,e,n)},clipSegment:hn,_getEdgeIntersection:un,_getBitCode:cn,_sqClosestPointOnSegment:pn,isFlat:mn,_flat:fn});function gn(t,e,n){var i,s,o,r,a,l,h,u,c,d=[1,4,2,8];for(s=0,h=t.length;s<h;s++)t[s]._code=cn(t[s],e);for(r=0;r<4;r++){for(u=d[r],i=[],s=0,o=(h=t.length)-1;s<h;o=s++)l=t[o],(a=t[s])._code&u?l._code&u||((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)):(l._code&u&&((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)),i.push(a));t=i}return t}var yn=(Object.freeze||Object)({clipPolygon:gn}),vn={project:function(t){return new D(t.lng,t.lat)},unproject:function(t){return new V(t.y,t.x)},bounds:new R([-180,-90],[180,90])},bn={R:6378137,R_MINOR:6356752.314245179,bounds:new R([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,n=this.R,i=t.lat*e,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=o*Math.sin(i),a=Math.tan(Math.PI/4-i/2)/Math.pow((1-r)/(1+r),o/2);return i=-n*Math.log(Math.max(a,1e-10)),new D(t.lng*e*n,i)},unproject:function(t){for(var e,n=180/Math.PI,i=this.R,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=Math.exp(-t.y/i),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)e=o*Math.sin(a),e=Math.pow((1-e)/(1+e),o/2),a+=h=Math.PI/2-2*Math.atan(r*e)-a;return new V(a*n,t.x*n/i)}},wn=(Object.freeze||Object)({LonLat:vn,Mercator:bn,SphericalMercator:Z}),xn=n({},H,{code:"EPSG:3395",projection:bn,transformation:function(){var t=.5/(Math.PI*bn.R);return G(t,.5,-t,.5)}()}),En=n({},H,{code:"EPSG:4326",projection:vn,transformation:G(1/180,1,-1/180,.5)}),Cn=n({},j,{projection:vn,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var n=e.lng-t.lng,i=e.lat-t.lat;return Math.sqrt(n*n+i*i)},infinite:!0});j.Earth=H,j.EPSG3395=xn,j.EPSG3857=$,j.EPSG900913=q,j.EPSG4326=En,j.Simple=Cn;var Ln=M.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var n=this.getEvents();e.on(n,this),this.once("remove",function(){e.off(n,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});$e.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},_addLayers:function(t){for(var e=0,n=(t=t?g(t)?t:[t]:[]).length;e<n;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[r(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=r(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,n=this._getZoomSpan();for(var i in this._zoomBoundLayers){var s=this._zoomBoundLayers[i].options;t=void 0===s.minZoom?t:Math.min(t,s.minZoom),e=void 0===s.maxZoom?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var kn=Ln.extend({initialize:function(t,e){var n,i;if(p(this,e),this._layers={},t)for(n=0,i=t.length;n<i;n++)this.addLayer(t[n])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,n,i=Array.prototype.slice.call(arguments,1);for(e in this._layers)(n=this._layers[e])[t]&&n[t].apply(n,i);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return r(t)}}),Sn=kn.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),kn.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),kn.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new F;for(var e in this._layers){var n=this._layers[e];t.extend(n.getBounds?n.getBounds():n.getLatLng())}return t}}),Tn=I.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var n=this._getIconUrl(t);if(!n){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(n,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var n=this.options,i=n[e+"Size"];"number"==typeof i&&(i=[i,i]);var s=O(i),o=O("shadow"===e&&n.shadowAnchor||n.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(n.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),In=Tn.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return In.imagePath||(In.imagePath=this._detectIconPath()),(this.options.imagePath||In.imagePath)+Tn.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ie("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");return document.body.removeChild(t),null===e||0!==e.indexOf("url")?"":e.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Pn=Je.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new rn(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),he(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ue(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,n=e._map,i=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,o=ge(e._icon),r=n.getPixelBounds(),a=n.getPixelOrigin(),l=N(r.min._subtract(a).add(s),r.max._subtract(a).subtract(s));if(!l.contains(o)){var h=O((Math.max(l.max.x,o.x)-l.max.x)/(r.max.x-l.max.x)-(Math.min(l.min.x,o.x)-l.min.x)/(r.min.x-l.min.x),(Math.max(l.max.y,o.y)-l.max.y)/(r.max.y-l.max.y)-(Math.min(l.min.y,o.y)-l.min.y)/(r.min.y-l.min.y)).multiplyBy(i);n.panBy(h,{animate:!1}),this._draggable._newPos._add(h),this._draggable._startPos._add(h),_e(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(S(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,n=e._shadow,i=ge(e._icon),s=e._map.layerPointToLatLng(i);n&&_e(n,i),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){S(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Mn=Ln.extend({options:{icon:new In,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){p(this,e),this._latlng=B(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=B(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),n=t.icon.createIcon(this._icon),i=!1;n!==this._icon&&(this._icon&&this._removeIcon(),i=!0,t.title&&(n.title=t.title),"IMG"===n.tagName&&(n.alt=t.alt||"")),he(n,e),t.keyboard&&(n.tabIndex="0"),this._icon=n,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),o=!1;s!==this._shadow&&(this._removeShadow(),o=!0),s&&(he(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),i&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&o&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){_e(this._icon,t),this._shadow&&_e(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(he(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Pn)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Pn(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;pe(this._icon,t),this._shadow&&pe(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Dn=Ln.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),An=Dn.extend({options:{fill:!0,radius:10},initialize:function(t,e){p(this,e),this._latlng=B(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=B(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Dn.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,n=this._clickTolerance(),i=[t+n,e+n];this._pxBounds=new R(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),On=An.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=n({},i,{radius:e})),p(this,e),this._latlng=B(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new F(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Dn.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,n=this._map,i=n.options.crs;if(i.distance===H.distance){var s=Math.PI/180,o=this._mRadius/H.R/s,r=n.project([e+o,t]),a=n.project([e-o,t]),l=r.add(a).divideBy(2),h=n.unproject(l).lat,u=Math.acos((Math.cos(o*s)-Math.sin(e*s)*Math.sin(h*s))/(Math.cos(e*s)*Math.cos(h*s)))/s;(isNaN(u)||0===u)&&(u=o/Math.cos(Math.PI/180*e)),this._point=l.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:l.x-n.project([h,t-u]).x,this._radiusY=l.y-r.y}else{var c=i.unproject(i.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x}this._updateBounds()}}),Rn=Dn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){p(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,n,i=1/0,s=null,o=pn,r=0,a=this._parts.length;r<a;r++)for(var l=this._parts[r],h=1,u=l.length;h<u;h++){var c=o(t,e=l[h-1],n=l[h],!0);c<i&&(i=c,s=o(t,e,n))}return s&&(s.distance=Math.sqrt(i)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a=this._rings[0],l=a.length;if(!l)return null;for(t=0,e=0;t<l-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,i=0;t<l-1;t++)if((i+=n=(s=a[t]).distanceTo(o=a[t+1]))>e)return this._map.layerPointToLatLng([o.x-(r=(i-e)/n)*(o.x-s.x),o.y-r*(o.y-s.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=B(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new F,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return mn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],n=mn(t),i=0,s=t.length;i<s;i++)n?(e[i]=B(t[i]),this._bounds.extend(e[i])):e[i]=this._convertLatLngs(t[i]);return e},_project:function(){var t=new R;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),n=new D(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(n),t.max._add(n),this._pxBounds=t)},_projectLatlngs:function(t,e,n){var i,s,o=t.length;if(t[0]instanceof V){for(s=[],i=0;i<o;i++)s[i]=this._map.latLngToLayerPoint(t[i]),n.extend(s[i]);e.push(s)}else for(i=0;i<o;i++)this._projectLatlngs(t[i],e,n)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,n,i,s,o,r,a,l=this._parts;for(e=0,i=0,s=this._rings.length;e<s;e++)for(n=0,o=(a=this._rings[e]).length;n<o-1;n++)(r=hn(a[n],a[n+1],t,n,!0))&&(l[i]=l[i]||[],l[i].push(r[0]),r[1]===a[n+1]&&n!==o-2||(l[i].push(r[1]),i++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,n=0,i=t.length;n<i;n++)t[n]=an(t[n],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var n,i,s,o,r,a,l=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,o=this._parts.length;n<o;n++)for(i=0,s=(r=(a=this._parts[n]).length)-1;i<r;s=i++)if((e||0!==i)&&ln(t,a[s],a[i])<=l)return!0;return!1}});Rn._flat=fn;var Nn=Rn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a,l=this._rings[0],h=l.length;if(!h)return null;for(o=r=a=0,t=0,e=h-1;t<h;e=t++)r+=((n=l[t]).x+(i=l[e]).x)*(s=n.y*i.x-i.y*n.x),a+=(n.y+i.y)*s,o+=3*s;return this._map.layerPointToLatLng(0===o?l[0]:[r/o,a/o])},_convertLatLngs:function(t){var e=Rn.prototype._convertLatLngs.call(this,t),n=e.length;return n>=2&&e[0]instanceof V&&e[0].equals(e[n-1])&&e.pop(),e},_setLatLngs:function(t){Rn.prototype._setLatLngs.call(this,t),mn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return mn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,n=new D(e,e);if(t=new R(t.min.subtract(n),t.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,s=0,o=this._rings.length;s<o;s++)(i=gn(this._rings[s],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,n,i,s,o,r,a,l,h=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(s=0,a=this._parts.length;s<a;s++)for(o=0,r=(l=(e=this._parts[s]).length)-1;o<l;r=o++)(n=e[o]).y>t.y!=(i=e[r]).y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(h=!h);return h||Rn.prototype._containsPoint.call(this,t,!0)}}),Fn=Sn.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,n,i,s=g(t)?t:t.features;if(s){for(e=0,n=s.length;e<n;e++)((i=s[e]).geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var o=this.options;if(o.filter&&!o.filter(t))return this;var r=zn(t,o);return r?(r.feature=Un(t),r.defaultOptions=r.options,this.resetStyle(r),o.onEachFeature&&o.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}});function zn(t,e){var n,i,s,o,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,l=[],h=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Vn;if(!a&&!r)return null;switch(r.type){case"Point":return n=u(a),h?h(t,n):new Mn(n);case"MultiPoint":for(s=0,o=a.length;s<o;s++)n=u(a[s]),l.push(h?h(t,n):new Mn(n));return new Sn(l);case"LineString":case"MultiLineString":return i=Bn(a,"LineString"===r.type?0:1,u),new Rn(i,e);case"Polygon":case"MultiPolygon":return i=Bn(a,"Polygon"===r.type?1:2,u),new Nn(i,e);case"GeometryCollection":for(s=0,o=r.geometries.length;s<o;s++){var c=zn({geometry:r.geometries[s],type:"Feature",properties:t.properties},e);c&&l.push(c)}return new Sn(l);default:throw new Error("Invalid GeoJSON object.")}}function Vn(t){return new V(t[1],t[0],t[2])}function Bn(t,e,n){for(var i,s=[],o=0,r=t.length;o<r;o++)i=e?Bn(t[o],e-1,n):(n||Vn)(t[o]),s.push(i);return s}function jn(t,e){return e="number"==typeof e?e:6,void 0!==t.alt?[u(t.lng,e),u(t.lat,e),u(t.alt,e)]:[u(t.lng,e),u(t.lat,e)]}function Hn(t,e,n,i){for(var s=[],o=0,r=t.length;o<r;o++)s.push(e?Hn(t[o],e-1,n,i):jn(t[o],i));return!e&&n&&s.push(s[0]),s}function Zn(t,e){return t.feature?n({},t.feature,{geometry:e}):Un(e)}function Un(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Gn={toGeoJSON:function(t){return Zn(this,{type:"Point",coordinates:jn(this.getLatLng(),t)})}};function $n(t,e){return new Fn(t,e)}Mn.include(Gn),On.include(Gn),An.include(Gn),Rn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=Hn(this._latlngs,e?1:0,!1,t);return Zn(this,{type:(e?"Multi":"")+"LineString",coordinates:n})}}),Nn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=e&&!mn(this._latlngs[0]),i=Hn(this._latlngs,n?2:e?1:0,!0,t);return e||(i=[i]),Zn(this,{type:(n?"Multi":"")+"Polygon",coordinates:i})}}),kn.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(n){e.push(n.toGeoJSON(t).geometry.coordinates)}),Zn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var n="GeometryCollection"===e,i=[];return this.eachLayer(function(e){if(e.toGeoJSON){var s=e.toGeoJSON(t);if(n)i.push(s.geometry);else{var o=Un(s);"FeatureCollection"===o.type?i.push.apply(i,o.features):i.push(o)}}}),n?Zn(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}});var qn=$n,Wn=Ln.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,n){this._url=t,this._bounds=z(e),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(he(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&re(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ie("img");he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),this.options.className&&he(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=s(this.fire,this,"load"),e.onerror=s(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,n,e)},_reset:function(){var t=this._image,e=new R(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=e.getSize();_e(t,e.min),t.style.width=n.x+"px",t.style.height=n.y+"px"},_updateOpacity:function(){pe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Kn=Wn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ie("video");if(he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=s(this.fire,this,"load"),t){for(var n=e.getElementsByTagName("source"),i=[],o=0;o<n.length;o++)i.push(n[o].src);this._url=n.length>0?i:[e.src]}else{g(this._url)||(this._url=[this._url]),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop;for(var r=0;r<this._url.length;r++){var a=ie("source");a.src=this._url[r],e.appendChild(a)}}}}),Yn=Ln.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){p(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&pe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&pe(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(pe(this._container,0),this._removeTimeout=setTimeout(s(se,void 0,this._container),200)):se(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=B(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&re(this._container),this},bringToBack:function(){return this._map&&ae(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),n=this._getAnchor();this._zoomAnimated?_e(this._container,t.add(n)):e=e.add(t).add(n);var i=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=i+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),Qn=Yn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Yn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Dn||this._source.on("preclick",Me))},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Dn||this._source.off("preclick",Me))},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=ie("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=ie("div",t+"-content-wrapper",e);if(this._contentNode=ie("div",t+"-content",n),Ae(n),De(this._contentNode),ke(n,"contextmenu",Me),this._tipContainer=ie("div",t+"-tip-container",e),this._tip=ie("div",t+"-tip",this._tipContainer),this.options.closeButton){var i=this._closeButton=ie("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",ke(i,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var n=t.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),e.width=n+1+"px",e.whiteSpace="",e.height="";var i=this.options.maxHeight;i&&t.offsetHeight>i?(e.height=i+"px",he(t,"leaflet-popup-scrolled")):ue(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),n=this._getAnchor();_e(this._container,e.add(n))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+e,i=this._containerWidth,s=new D(this._containerLeft,-n-this._containerBottom);s._add(ge(this._container));var o=t.layerPointToContainerPoint(s),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),l=O(this.options.autoPanPaddingBottomRight||r),h=t.getSize(),u=0,c=0;o.x+i+l.x>h.x&&(u=o.x+i-h.x+l.x),o.x-u-a.x<0&&(u=o.x-a.x),o.y+n+l.y>h.y&&(c=o.y+n-h.y+l.y),o.y-c-a.y<0&&(c=o.y-a.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),Re(t)},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});$e.mergeOptions({closePopupOnClick:!0}),$e.include({openPopup:function(t,e,n){return t instanceof Qn||(t=new Qn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ln.include({bindPopup:function(t,e){return t instanceof Qn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Qn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Re(t),e instanceof Dn?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xn=Yn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){this._contentNode=this._container=ie("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,n=this._container,i=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),o=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,l=O(this.options.offset),h=this._getAnchor();"top"===o?t=t.add(O(-r/2+l.x,-a+l.y+h.y,!0)):"bottom"===o?t=t.subtract(O(r/2-l.x,-l.y,!0)):"center"===o?t=t.subtract(O(r/2+l.x,a/2-h.y+l.y,!0)):"right"===o||"auto"===o&&s.x<i.x?(o="right",t=t.add(O(l.x+h.x,h.y-a/2+l.y,!0))):(o="left",t=t.subtract(O(r+h.x-l.x,a/2-h.y-l.y,!0))),ue(n,"leaflet-tooltip-right"),ue(n,"leaflet-tooltip-left"),ue(n,"leaflet-tooltip-top"),ue(n,"leaflet-tooltip-bottom"),he(n,"leaflet-tooltip-"+o),_e(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&pe(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});$e.include({openTooltip:function(t,e,n){return t instanceof Xn||(t=new Xn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ln.include({bindTooltip:function(t,e){return t instanceof Xn?(p(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=new Xn(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),wt&&(n.click=this._openTooltip)),this[e](n),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(he(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(ue(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){this._tooltip&&this._map&&this.openTooltip(t.layer||t.target,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,n,i=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),n=this._map.containerPointToLayerPoint(e),i=this._map.layerPointToLatLng(n)),this._tooltip.setLatLng(i)}});var Jn=Tn.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;if(e.innerHTML=!1!==n.html?n.html:"",n.bgPos){var i=O(n.bgPos);e.style.backgroundPosition=-i.x+"px "+-i.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Tn.Default=In;var ti=Ln.extend({options:{tileSize:256,opacity:1,updateWhenIdle:_t,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(re(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=a(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof D?t:new D(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,n=this.getPane().children,i=-t(-1/0,1/0),s=0,o=n.length;s<o;s++)e=n[s].style.zIndex,n[s]!==this._container&&e&&(i=t(i,+e));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X){pe(this._container,this.options.opacity);var t=+new Date,e=!1,n=!1;for(var i in this._tiles){var s=this._tiles[i];if(s.current&&s.loaded){var o=Math.min(1,(t-s.loaded)/200);pe(s.el,o),o<1?e=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),e&&(S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var n in this._levels)this._levels[n].el.children.length||n===t?(this._levels[n].el.style.zIndex=e-Math.abs(t-n),this._onUpdateLevel(n)):(se(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var i=this._levels[t],s=this._map;return i||((i=this._levels[t]={}).el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),i.el.style.zIndex=e,i.origin=s.project(s.unproject(s.getPixelOrigin()),t).round(),i.zoom=t,this._setZoomTransform(i,s.getCenter(),s.getZoom()),this._onCreateLevel(i)),this._level=i,i}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var i=e.coords;this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,n,i){var s=Math.floor(t/2),o=Math.floor(e/2),r=n-1,a=new D(+s,+o);a.z=+r;var l=this._tileCoordsToKey(a),h=this._tiles[l];return h&&h.active?(h.retain=!0,!0):(h&&h.loaded&&(h.retain=!0),r>i&&this._retainParent(s,o,r,i))},_retainChildren:function(t,e,n,i){for(var s=2*t;s<2*t+2;s++)for(var o=2*e;o<2*e+2;o++){var r=new D(s,o);r.z=n+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),n+1<i&&this._retainChildren(s,o,n+1,i))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,n,i){var s=this._clampZoom(Math.round(e));(void 0!==this.options.maxZoom&&s>this.options.maxZoom||void 0!==this.options.minZoom&&s<this.options.minZoom)&&(s=void 0),i&&!(this.options.updateWhenZooming&&s!==this._tileZoom)||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==s&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var n in this._levels)this._setZoomTransform(this._levels[n],t,e)},_setZoomTransform:function(t,e,n){var i=this._map.getZoomScale(n,t.zoom),s=t.origin.multiplyBy(i).subtract(this._map._getNewPixelOrigin(e,n)).round();ft?fe(t.el,s,i):_e(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,n=this._tileSize=this.getTileSize(),i=this._tileZoom,s=this._map.getPixelWorldBounds(this._tileZoom);s&&(this._globalTileRange=this._pxBoundsToTileRange(s)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],i).x/n.x),Math.ceil(t.project([0,e.wrapLng[1]],i).x/n.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],i).y/n.x),Math.ceil(t.project([e.wrapLat[1],0],i).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,n=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(n,this._tileZoom),s=e.project(t,this._tileZoom).floor(),o=e.getSize().divideBy(2*i);return new R(s.subtract(o),s.add(o))},_update:function(t){var e=this._map;if(e){var n=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var i=this._getTiledPixelBounds(t),s=this._pxBoundsToTileRange(i),o=s.getCenter(),r=[],a=this.options.keepBuffer,l=new R(s.getBottomLeft().subtract([a,-a]),s.getTopRight().add([a,-a]));if(!(isFinite(s.min.x)&&isFinite(s.min.y)&&isFinite(s.max.x)&&isFinite(s.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var h in this._tiles){var u=this._tiles[h].coords;u.z===this._tileZoom&&l.contains(new D(u.x,u.y))||(this._tiles[h].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(t,n);else{for(var c=s.min.y;c<=s.max.y;c++)for(var d=s.min.x;d<=s.max.x;d++){var p=new D(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort(function(t,e){return t.distanceTo(o)-e.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],f);this._level.el.appendChild(f)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var n=this._globalTileRange;if(!e.wrapLng&&(t.x<n.min.x||t.x>n.max.x)||!e.wrapLat&&(t.y<n.min.y||t.y>n.max.y))return!1}if(!this.options.bounds)return!0;var i=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(i)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,n=this.getTileSize(),i=t.scaleBy(n),s=i.add(n);return[e.unproject(i,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),n=new F(e[0],e[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),n=new D(+e[0],+e[1]);return n.z=+e[2],n},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){he(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,X&&this.options.opacity<1&&pe(t,this.options.opacity),et&&!nt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var n=this._getTilePos(t),i=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),s(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&k(s(this._tileReady,this,t,null,o)),_e(o,n),this._tiles[i]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,n){e&&this.fire("tileerror",{error:e,tile:n,coords:t});var i=this._tileCoordsToKey(t);(n=this._tiles[i])&&(n.loaded=+new Date,this._map._fadeAnimated?(pe(n.el,0),S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),e||(he(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(s(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new R(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ei=ti.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Ct&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),et||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var n=document.createElement("img");return ke(n,"load",s(this._tileOnLoad,this,e,n)),ke(n,"error",s(this._tileOnError,this,e,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return _(this._url,n(e,this.options))},_tileOnLoad:function(t,e){X?setTimeout(s(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,n){var i=this.options.errorTileUrl;i&&e.getAttribute("src")!==i&&(e.src=i),t(n,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,e.complete||(e.src=v,se(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return st||e.el.setAttribute("src",v),ti.prototype._removeTile.call(this,t)},_tileReady:function(t,e,n){if(this._map&&(!n||n.getAttribute("src")!==v))return ti.prototype._tileReady.call(this,t,e,n)}});function ni(t,e){return new ei(t,e)}var ii=ei.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var s in e)s in this.options||(i[s]=e[s]);var o=(e=p(this,e)).detectRetina&&Ct?2:1,r=this.getTileSize();i.width=r.x*o,i.height=r.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,ei.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),n=this._crs,i=N(n.project(e[0]),n.project(e[1])),s=i.min,o=i.max,r=(this._wmsVersion>=1.3&&this._crs===En?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ei.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});ei.WMS=ii,ni.wms=function(t,e){return new ii(t,e)};var si=Ln.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&he(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var n=this._map.getZoomScale(e,this._zoom),i=ge(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),r=this._map.project(t,e).subtract(o),a=s.multiplyBy(-n).add(i).add(s).subtract(r);ft?fe(this._container,a,n):_e(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),n=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new R(n,n.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),oi=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){si.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ke(t,"mousemove",a(this._onMouseMove,32,this),this),ke(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ke(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,se(this._container),Te(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=this._container,n=t.getSize(),i=Ct?2:1;_e(e,t.min),e.width=i*n.x,e.height=i*n.y,e.style.width=n.x+"px",e.style.height=n.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){si.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,n=e.next,i=e.prev;n?n.prev=i:this._drawLast=i,i?i.next=n:this._drawFirst=n,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,n,i=t.options.dashArray.split(/[, ]+/),s=[];for(n=0;n<i.length;n++){if(e=Number(i[n]),isNaN(e))return;s.push(e)}t.options._dashArray=s}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new R,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var n=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var i=this._drawFirst;i;i=i.next)t=i.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var n,i,s,o,r=t._parts,a=r.length,l=this._ctx;if(a){for(l.beginPath(),n=0;n<a;n++){for(i=0,s=r[n].length;i<s;i++)o=r[n][i],l[i?"lineTo":"moveTo"](o.x,o.y);e&&l.closePath()}this._fillStroke(l,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,n=this._ctx,i=Math.max(Math.round(t._radius),1),s=(Math.max(Math.round(t._radiusY),1)||i)/i;1!==s&&(n.save(),n.scale(1,s)),n.beginPath(),n.arc(e.x,e.y/s,i,0,2*Math.PI,!1),1!==s&&n.restore(),this._fillStroke(n,t)}},_fillStroke:function(t,e){var n=e.options;n.fill&&(t.globalAlpha=n.fillOpacity,t.fillStyle=n.fillColor||n.color,t.fill(n.fillRule||"evenodd")),n.stroke&&0!==n.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=n.opacity,t.lineWidth=n.weight,t.strokeStyle=n.color,t.lineCap=n.lineCap,t.lineJoin=n.lineJoin,t.stroke())},_onClick:function(t){for(var e,n,i=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)(e=s.layer).options.interactive&&e._containsPoint(i)&&!this._map._draggableMoved(e)&&(n=e);n&&(je(t),this._fireEvent([n],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ue(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var n,i,s=this._drawFirst;s;s=s.next)(n=s.layer).options.interactive&&n._containsPoint(e)&&(i=n);i!==this._hoveredLayer&&(this._handleMouseOut(t),i&&(he(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseover"),this._hoveredLayer=i)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,n){this._map._fireDOMEvent(e,n||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;n&&(n.prev=i,i?i.next=n:n&&(this._drawFirst=n),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;i&&(i.next=n,n?n.prev=i:i&&(this._drawLast=i),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function ri(t){return Lt?new oi(t):null}var ai=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),li={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(si.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ai("shape");he(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ai("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,n=t._fill,i=t.options,s=t._container;s.stroked=!!i.stroke,s.filled=!!i.fill,i.stroke?(e||(e=t._stroke=ai("stroke")),s.appendChild(e),e.weight=i.weight+"px",e.color=i.color,e.opacity=i.opacity,e.dashStyle=i.dashArray?g(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):"",e.endcap=i.lineCap.replace("butt","flat"),e.joinstyle=i.lineJoin):e&&(s.removeChild(e),t._stroke=null),i.fill?(n||(n=t._fill=ai("fill")),s.appendChild(n),n.color=i.fillColor||i.color,n.opacity=i.fillOpacity):n&&(s.removeChild(n),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),n=Math.round(t._radius),i=Math.round(t._radiusY||n);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+n+","+i+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){re(t._container)},_bringToBack:function(t){ae(t._container)}},hi=St?ai:W,ui=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=hi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=hi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Te(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=t.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,n.setAttribute("width",e.x),n.setAttribute("height",e.y)),_e(n,t.min),n.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=hi("path");t.options.className&&he(e,t.options.className),t.options.interactive&&he(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,n=t.options;e&&(n.stroke?(e.setAttribute("stroke",n.color),e.setAttribute("stroke-opacity",n.opacity),e.setAttribute("stroke-width",n.weight),e.setAttribute("stroke-linecap",n.lineCap),e.setAttribute("stroke-linejoin",n.lineJoin),n.dashArray?e.setAttribute("stroke-dasharray",n.dashArray):e.removeAttribute("stroke-dasharray"),n.dashOffset?e.setAttribute("stroke-dashoffset",n.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),n.fill?(e.setAttribute("fill",n.fillColor||n.color),e.setAttribute("fill-opacity",n.fillOpacity),e.setAttribute("fill-rule",n.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,K(t._parts,e))},_updateCircle:function(t){var e=t._point,n=Math.max(Math.round(t._radius),1),i="a"+n+","+(Math.max(Math.round(t._radiusY),1)||n)+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-n)+","+e.y+i+2*n+",0 "+i+2*-n+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){re(t._path)},_bringToBack:function(t){ae(t._path)}});function ci(t){return kt||St?new ui(t):null}St&&ui.include(li),$e.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&ri(t)||ci(t)}});var di=Nn.extend({initialize:function(t,e){Nn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=z(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ui.create=hi,ui.pointsToPath=K,Fn.geometryToLayer=zn,Fn.coordsToLatLng=Vn,Fn.coordsToLatLngs=Bn,Fn.latLngToCoords=jn,Fn.latLngsToCoords=Hn,Fn.getFeature=Zn,Fn.asFeature=Un,$e.mergeOptions({boxZoom:!0});var pi=Je.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Te(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),qt(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(t),ke(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),he(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new R(this._point,this._startPoint),n=e.getSize();_e(this._box,e.min),this._box.style.width=n.x+"px",this._box.style.height=n.y+"px"},_finish:function(){this._moved&&(se(this._box),ue(this._container,"leaflet-crosshair")),Wt(),be(),Te(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(s(this._resetState,this),0);var e=new F(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});$e.addInitHook("addHandler","boxZoom",pi),$e.mergeOptions({doubleClickZoom:!0});var mi=Je.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,n=e.getZoom(),i=e.options.zoomDelta,s=t.originalEvent.shiftKey?n-i:n+i;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});$e.addInitHook("addHandler","doubleClickZoom",mi),$e.mergeOptions({dragging:!0,inertia:!nt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=Je.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new rn(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}he(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ue(this._map._container,"leaflet-grab"),ue(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=z(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),n=this._initialWorldOffset,i=this._draggable._newPos.x,s=(i-e+n)%t+e-n,o=(i+e+n)%t-e-n,r=Math.abs(s+n)<Math.abs(o+n)?s:o;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,n=e.options,i=!n.inertia||this._times.length<2;if(e.fire("dragend",t),i)e.fire("moveend");else{this._prunePositions(+new Date);var s=this._lastPos.subtract(this._positions[0]),o=n.easeLinearity,r=s.multiplyBy(o/((this._lastTime-this._times[0])/1e3)),a=r.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,a),h=r.multiplyBy(l/a),u=l/(n.inertiaDeceleration*o),c=h.multiplyBy(-u/2).round();c.x||c.y?(c=e._limitOffset(c,e.options.maxBounds),k(function(){e.panBy(c,{duration:u,easeLinearity:o,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}});$e.addInitHook("addHandler","dragging",fi),$e.mergeOptions({keyboard:!0,keyboardPanDelta:80});var _i=Je.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),ke(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Te(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,n=t.scrollTop||e.scrollTop,i=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(i,n)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,n,i=this._panKeys={},s=this.keyCodes;for(e=0,n=s.left.length;e<n;e++)i[s.left[e]]=[-1*t,0];for(e=0,n=s.right.length;e<n;e++)i[s.right[e]]=[t,0];for(e=0,n=s.down.length;e<n;e++)i[s.down[e]]=[0,t];for(e=0,n=s.up.length;e<n;e++)i[s.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,n,i=this._zoomKeys={},s=this.keyCodes;for(e=0,n=s.zoomIn.length;e<n;e++)i[s.zoomIn[e]]=t;for(e=0,n=s.zoomOut.length;e<n;e++)i[s.zoomOut[e]]=-t},_addHooks:function(){ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Te(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,n=t.keyCode,i=this._map;if(n in this._panKeys)i._panAnim&&i._panAnim._inProgress||(e=this._panKeys[n],t.shiftKey&&(e=O(e).multiplyBy(3)),i.panBy(e),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds));else if(n in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!i._popup||!i._popup.options.closeOnEscapeKey)return;i.closePopup()}Re(t)}}});$e.addInitHook("addHandler","keyboard",_i),$e.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var gi=Je.extend({addHooks:function(){ke(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Te(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=ze(t),n=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(s(this._performZoom,this),i),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),n=this._map.options.zoomSnap||0;t._stop();var i=4*Math.log(2/(1+Math.exp(-Math.abs(this._delta/(4*this._map.options.wheelPxPerZoomLevel)))))/Math.LN2,s=n?Math.ceil(i/n)*n:i,o=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,o&&("center"===t.options.scrollWheelZoom?t.setZoom(e+o):t.setZoomAround(this._lastMousePos,e+o))}});$e.addInitHook("addHandler","scrollWheelZoom",gi),$e.mergeOptions({tap:!0,tapTolerance:15});var yi=Je.extend({addHooks:function(){ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Te(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Oe(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],n=e.target;this._startPos=this._newPos=new D(e.clientX,e.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&he(n,"leaflet-active"),this._holdTimeout=setTimeout(s(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),ke(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Te(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],n=e.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&ue(n,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var n=document.createEvent("MouseEvents");n._simulated=!0,e.target._simulatedClick=!0,n.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(n)}});wt&&!bt&&$e.addInitHook("addHandler","tap",yi),$e.mergeOptions({touchZoom:wt&&!nt,bounceAtZoomLimits:!0});var vi=Je.extend({addHooks:function(){he(this._map._container,"leaflet-touch-zoom"),ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Te(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(n.add(i)._divideBy(2))),this._startDist=n.distanceTo(i),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ke(document,"touchmove",this._onTouchMove,this),ke(document,"touchend",this._onTouchEnd,this),Oe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]),o=n.distanceTo(i)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var r=n._add(i)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=s(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=k(a,this,!0),Oe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),Te(document,"touchmove",this._onTouchMove),Te(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});$e.addInitHook("addHandler","touchZoom",vi),$e.BoxZoom=pi,$e.DoubleClickZoom=mi,$e.Drag=fi,$e.Keyboard=_i,$e.ScrollWheelZoom=gi,$e.Tap=yi,$e.TouchZoom=vi,Object.freeze=e,t.version="1.4.0",t.Control=qe,t.control=We,t.Browser=It,t.Evented=M,t.Mixin=en,t.Util=T,t.Class=I,t.Handler=Je,t.extend=n,t.bind=s,t.stamp=r,t.setOptions=p,t.DomEvent=Ue,t.DomUtil=Le,t.PosAnimation=Ge,t.Draggable=rn,t.LineUtil=_n,t.PolyUtil=yn,t.Point=D,t.point=O,t.Bounds=R,t.bounds=N,t.Transformation=U,t.transformation=G,t.Projection=wn,t.LatLng=V,t.latLng=B,t.LatLngBounds=F,t.latLngBounds=z,t.CRS=j,t.GeoJSON=Fn,t.geoJSON=$n,t.geoJson=qn,t.Layer=Ln,t.LayerGroup=kn,t.layerGroup=function(t,e){return new kn(t,e)},t.FeatureGroup=Sn,t.featureGroup=function(t){return new Sn(t)},t.ImageOverlay=Wn,t.imageOverlay=function(t,e,n){return new Wn(t,e,n)},t.VideoOverlay=Kn,t.videoOverlay=function(t,e,n){return new Kn(t,e,n)},t.DivOverlay=Yn,t.Popup=Qn,t.popup=function(t,e){return new Qn(t,e)},t.Tooltip=Xn,t.tooltip=function(t,e){return new Xn(t,e)},t.Icon=Tn,t.icon=function(t){return new Tn(t)},t.DivIcon=Jn,t.divIcon=function(t){return new Jn(t)},t.Marker=Mn,t.marker=function(t,e){return new Mn(t,e)},t.TileLayer=ei,t.tileLayer=ni,t.GridLayer=ti,t.gridLayer=function(t){return new ti(t)},t.SVG=ui,t.svg=ci,t.Renderer=si,t.Canvas=oi,t.canvas=ri,t.Path=Dn,t.CircleMarker=An,t.circleMarker=function(t,e){return new An(t,e)},t.Circle=On,t.circle=function(t,e,n){return new On(t,e,n)},t.Polyline=Rn,t.polyline=function(t,e){return new Rn(t,e)},t.Polygon=Nn,t.polygon=function(t,e){return new Nn(t,e)},t.Rectangle=di,t.rectangle=function(t,e){return new di(t,e)},t.Map=$e,t.map=function(t,e){return new $e(t,e)};var bi=window.L;t.noConflict=function(){return window.L=bi,this},window.L=t}(e)},GPNb:function(t,e){function n(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="GPNb"},INa4:function(t,e){!function(t,e,n){L.drawVersion="0.4.14",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(t,e){this._map=t,this._container=t._container,this._overlayPane=t._panes.overlayPane,this._popupPane=t._panes.popupPane,e&&e.shapeOptions&&(e.shapeOptions=L.Util.extend({},this.options.shapeOptions,e.shapeOptions)),L.setOptions(this,e);var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(L.DomUtil.disableTextSelection(),t.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(t){L.setOptions(this,t)},_fireCreatedEvent:function(t){this._map.fire(L.Draw.Event.CREATED,{layer:t,layerType:this.type})},_cancelDrawing:function(t){27===t.keyCode&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(t,e){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,e&&e.drawError&&(e.drawError=L.Util.extend({},this.options.drawError,e.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),e=this._poly,n=e.getLatLngs(),i=n.splice(-1,1)[0];this._poly.setLatLngs(n),this._markerGroup.removeLayer(t),e.getLatLngs().length<2&&this._map.removeLayer(e),this._vertexChanged(i,!1)}},addVertex:function(t){this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(t)?this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(t)),this._poly.addLatLng(t),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),this._vertexChanged(t,!0))},completeShape:function(){this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var t=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),e=this._poly.newLatLngIntersects(t[t.length-1]);!this.options.allowIntersection&&e||!this._shapeIsValid()?this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_shapeIsValid:function(){return!0},_onZoomEnd:function(){null!==this._markers&&this._updateGuide()},_onMouseMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.layerPointToLatLng(e);this._currentLatLng=n,this._updateTooltip(n),this._updateGuide(e),this._mouseMarker.setLatLng(n),L.DomEvent.preventDefault(t.originalEvent)},_vertexChanged:function(t,e){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(t,e),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(t){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent;this._startPoint.call(this,e.clientX,e.clientY)}},_startPoint:function(t,e){this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){var e=t.originalEvent;this._endPoint.call(this,e.clientX,e.clientY,t),this._clickHandled=null},_endPoint:function(e,n,i){if(this._mouseDownOrigin){var s=L.point(e,n).distanceTo(this._mouseDownOrigin),o=this._calculateFinishDistance(i.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(i.latlng),this._finishShape()):o<10&&L.Browser.touch?this._finishShape():Math.abs(s)<9*(t.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,n,i=t.originalEvent;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=i.touches[0].clientX,n=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,n),this._endPoint.call(this,e,n,t),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var n;if(this.type===L.Draw.Polyline.TYPE)n=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;n=this._markers[0]}var i=this._map.latLngToContainerPoint(n.getLatLng()),s=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),o=this._map.latLngToContainerPoint(s.getLatLng());e=i.distanceTo(o)}else e=1/0;return e},_updateFinishHandler:function(){var t=this._markers.length;t>1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_updateGuide:function(t){var e=this._markers?this._markers.length:0;e>0&&(t=t||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[e-1].getLatLng()),t))},_updateTooltip:function(t){var e=this._getTooltipText();t&&this._tooltip.updatePosition(t),this._errorShown||this._tooltip.updateContent(e)},_drawGuide:function(t,e){var n,i,s,o=Math.floor(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))),r=this.options.maxGuideLineLength,a=o>r?o-r:this.options.guidelineDistance;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));a<o;a+=this.options.guidelineDistance)n=a/o,i={x:Math.floor(t.x*(1-n)+n*e.x),y:Math.floor(t.y*(1-n)+n*e.y)},(s=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer)).style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(s,i)},_updateGuideColor:function(t){if(this._guidesContainer)for(var e=0,n=this._guidesContainer.childNodes.length;e<n;e++)this._guidesContainer.childNodes[e].style.backgroundColor=t},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var t,e;return 0===this._markers.length?t={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(e=this.options.showLength?this._getMeasurementString():"",t=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:e}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:e}),t},_updateRunningMeasure:function(t,e){var n,i,s=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(n=s-(e?2:1),i=L.GeometryUtil.isVersion07x()?t.distanceTo(this._markers[n].getLatLng())*(this.options.factor||1):this._map.distance(t,this._markers[n].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=i*(e?1:-1))},_getMeasurementString:function(){var t,e=this._currentLatLng,n=this._markers[this._markers.length-1].getLatLng();return t=L.GeometryUtil.isVersion07x()?n&&e&&e.distanceTo?this._measurementRunningTotal+e.distanceTo(n)*(this.options.factor||1):this._measurementRunningTotal||0:n&&e?this._measurementRunningTotal+this._map.distance(e,n)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(t,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var t=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(t,e){L.Draw.Polyline.prototype.initialize.call(this,t,e),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var t=this._markers.length;1===t&&this._markers[0].on("click",this._finishShape,this),t>2&&(this._markers[t-1].on("dblclick",this._finishShape,this),t>3&&this._markers[t-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var t,e;return 0===this._markers.length?t=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(t=L.drawLocal.draw.handlers.polygon.tooltip.cont,e=this._getMeasurementString()):(t=L.drawLocal.draw.handlers.polygon.tooltip.end,e=this._getMeasurementString()),{text:t,subtext:e}},_getMeasurementString:function(){var t=this._area,e="";return t||this.options.showLength?(this.options.showLength&&(e=L.Draw.Polyline.prototype._getMeasurementString.call(this)),t&&(e+="<br>"+L.GeometryUtil.readableArea(t,this.options.metric,this.options.precision)),e):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(t,e){var n;!this.options.allowIntersection&&this.options.showArea&&(n=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(n)),L.Draw.Polyline.prototype._vertexChanged.call(this,t,e)},_cleanUpShape:function(){var t=this._markers.length;t>0&&(this._markers[0].off("click",this._finishShape,this),t>2&&this._markers[t-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(t,e){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),e.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(e,"mouseup",this._onMouseUp,this),L.DomEvent.off(e,"touchend",this._onMouseUp,this),e.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(t){this._isDrawing=!0,this._startLatLng=t.latlng,L.DomEvent.on(e,"mouseup",this._onMouseUp,this).on(e,"touchend",this._onMouseUp,this).preventDefault(t.originalEvent)},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(e))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,showArea:!0,clickable:!0},metric:!0},initialize:function(t,e){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(t){this._shape||this._isCurrentlyTwoClickDrawing?this._isCurrentlyTwoClickDrawing&&!function(t,e){for(;(t=t.parentElement)&&!t.classList.contains("leaflet-pane"););return t}(t.target)||L.Draw.SimpleShape.prototype._onMouseUp.call(this):this._isCurrentlyTwoClickDrawing=!0},_drawShape:function(t){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,t)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,t),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_getTooltipText:function(){var t,e,n,i=L.Draw.SimpleShape.prototype._getTooltipText.call(this),s=this.options.showArea;return this._shape&&(t=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),e=L.GeometryUtil.geodesicArea(t),n=s?L.GeometryUtil.readableArea(e,this.options.metric):""),{text:i.text,subtext:n}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._mouseMarker.setLatLng(e),this._marker?(e=this._mouseMarker.getLatLng(),this._marker.setLatLng(e)):(this._marker=this._createMarker(e),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(t){return new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(t){this._onMouseMove(t),this._onClick()},_fireCreatedEvent:function(){var t=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},_fireCreatedEvent:function(){var t=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)},_createMarker:function(t){return new L.CircleMarker(t,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(t,e){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},_drawShape:function(t){if(L.GeometryUtil.isVersion07x())var e=this._startLatLng.distanceTo(t);else e=this._map.distance(this._startLatLng,t);this._shape?this._shape.setRadius(e):(this._shape=new L.Circle(this._startLatLng,e,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_onMouseMove:function(t){var e,n=t.latlng,i=this.options.showRadius,s=this.options.metric;if(this._tooltip.updatePosition(n),this._isDrawing){this._drawShape(n),e=this._shape.getRadius().toFixed(1);var o="";i&&(o=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(e,s,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:o})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(t,e){this._marker=t,L.setOptions(this,e)},addHooks:function(){var t=this._marker;t.dragging.enable(),t.on("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},removeHooks:function(){var t=this._marker;t.dragging.disable(),t.off("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},_onDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_toggleMarkerHighlight:function(){var t=this._marker._icon;t&&(t.style.display="none",L.DomUtil.hasClass(t,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,-4)):(L.DomUtil.addClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,4)),t.style.display="")},_offsetMarker:function(t,e){var n=parseInt(t.style.marginTop,10)-e,i=parseInt(t.style.marginLeft,10)-e;t.style.marginTop=n+"px",t.style.marginLeft=i+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(t){this.latlngs=[t._latlngs],t._holes&&(this.latlngs=this.latlngs.concat(t._holes)),this._poly=t,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(t){for(var e=0;e<this._verticesHandlers.length;e++)t(this._verticesHandlers[e])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(t){t.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(t){t.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(t){t.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var t=0;t<this.latlngs.length;t++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[t],this._poly.options.poly))},_updateLatLngs:function(t){this.latlngs=[t.layer._latlngs],t.layer._holes&&(this.latlngs=this.latlngs.concat(t.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(t,e,n){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=t,n&&n.drawError&&(n.drawError=L.Util.extend({},this.options.drawError,n.drawError)),this._latlngs=e,L.setOptions(this,n)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var t=this._poly,e=t._path;t instanceof L.Polygon||(t.options.fill=!1,t.options.editing&&(t.options.editing.fill=!1)),e&&t.options.editing.className&&(t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var t=this._poly,e=t._path;e&&t.options.editing.className&&(t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.original),t._map&&(t._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var t,e,n,i,s,o,r=this._defaultShape();for(t=0,n=r.length;t<n;t++)(i=this._createMarker(r[t],t)).on("click",this._onMarkerClick,this),i.on("contextmenu",this._onContextMenu,this),this._markers.push(i);for(t=0,e=n-1;t<n;e=t++)(0!==t||L.Polygon&&this._poly instanceof L.Polygon)&&(this._createMiddleMarker(s=this._markers[e],o=this._markers[t]),this._updatePrevNext(s,o))},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:this.options.icon});return n._origLatLng=t,n._index=e,n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(n),n},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var t=this._defaultShape(),e=[].splice.apply(t,arguments);return this._poly._convertLatLngs(t,!0),this._poly.redraw(),e},_removeMarker:function(t){var e=t._index;this._markerGroup.removeLayer(t),this._markers.splice(e,1),this._spliceLatLngs(e,1),this._updateIndexes(e,-1),t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(t){var e=t.target,n=this._poly;if(L.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),n.options.poly){var i=n._map._editTooltip;if(!n.options.poly.allowIntersection&&n.intersects()){var s=n.options.color;n.setStyle({color:this.options.drawError.color}),0!==L.version.indexOf("0.7")&&e.dragging._draggable._onUp(t),this._onMarkerClick(t),i&&i.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){n.setStyle({color:s}),i&&i.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var o=this._poly.getLatLngs();this._poly._convertLatLngs(o,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(t){var e=L.Polygon&&this._poly instanceof L.Polygon?4:3,n=t.target;this._defaultShape().length<e||(this._removeMarker(n),this._updatePrevNext(n._prev,n._next),n._middleLeft&&this._markerGroup.removeLayer(n._middleLeft),n._middleRight&&this._markerGroup.removeLayer(n._middleRight),n._prev&&n._next?this._createMiddleMarker(n._prev,n._next):n._prev?n._next||(n._prev._middleRight=null):n._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(t){this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:t.target,layers:this._markerGroup,poly:this._poly}),L},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e),i=t.target;L.extend(i._origLatLng,n),i._middleLeft&&i._middleLeft.setLatLng(this._getMiddleLatLng(i._prev,i)),i._middleRight&&i._middleRight.setLatLng(this._getMiddleLatLng(i,i._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(n){n._index>t&&(n._index+=e)})},_createMiddleMarker:function(t,e){var n,i,s,o=this._getMiddleLatLng(t,e),r=this._createMarker(o);r.setOpacity(.6),t._middleRight=e._middleLeft=r,i=function(){r.off("touchmove",i,this);var s=e._index;r._index=s,r.off("click",n,this).on("click",this._onMarkerClick,this),o.lat=r.getLatLng().lat,o.lng=r.getLatLng().lng,this._spliceLatLngs(s,0,o),this._markers.splice(s,0,r),r.setOpacity(1),this._updateIndexes(s,1),e._index++,this._updatePrevNext(t,r),this._updatePrevNext(r,e),this._poly.fire("editstart")},s=function(){r.off("dragstart",i,this),r.off("dragend",s,this),r.off("touchmove",i,this),this._createMiddleMarker(t,r),this._createMiddleMarker(r,e)},r.on("click",n=function(){i.call(this),s.call(this),this._fireEdit()},this).on("dragstart",i,this).on("dragend",s,this).on("touchmove",i,this),this._markerGroup.addLayer(r)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var n=this._poly._map,i=n.project(t.getLatLng()),s=n.project(e.getLatLng());return n.unproject(i._add(s)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(t,e){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=t,L.Util.setOptions(this,e)},addHooks:function(){var t=this._shape;this._shape._map&&(this._map=this._shape._map,t.setStyle(t.options.editing),t._map&&(this._map=t._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape;if(t.setStyle(t.options.original),t._map){this._unbindMarker(this._moveMarker);for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._unbindMarker(this._resizeMarkers[e]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:e,zIndexOffset:10});return this._bindMarker(n),this._markerGroup.addLayer(n),n},_bindMarker:function(t){t.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(t){t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(t){t.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(t){var e=t.target,n=e.getLatLng();e===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(t){t.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(t){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t),"function"==typeof this._getCorners){var e=this._getCorners(),n=t.target,i=n._cornerIndex;n.setOpacity(0),this._oppositeCorner=e[(i+2)%4],this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e);return t.target===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),!1},_onTouchEnd:function(t){t.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getBounds().getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners();this._resizeMarkers=[];for(var e=0,n=t.length;e<n;e++)this._resizeMarkers.push(this._createMarker(t[e],this.options.resizeIcon)),this._resizeMarkers[e]._cornerIndex=e},_onMarkerDragStart:function(t){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t);var e=this._getCorners(),n=t.target._cornerIndex;this._oppositeCorner=e[(n+2)%4],this._toggleCornerMarkers(0,n)},_onMarkerDragEnd:function(t){var e,n=t.target;n===this._moveMarker&&(e=this._shape.getBounds().getCenter(),n.setLatLng(e)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,t)},_move:function(t){for(var e,n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),i=this._shape.getBounds().getCenter(),s=[],o=0,r=n.length;o<r;o++)s.push([t.lat+(e=[n[o].lat-i.lat,n[o].lng-i.lng])[0],t.lng+e[1]]);this._shape.setLatLngs(s),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(t){var e;this._shape.setBounds(L.latLngBounds(t,this._oppositeCorner)),e=this._shape.getBounds(),this._moveMarker.setLatLng(e.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var t=this._shape.getBounds();return[t.getNorthWest(),t.getNorthEast(),t.getSouthEast(),t.getSouthWest()]},_toggleCornerMarkers:function(t){for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setOpacity(t)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setLatLng(t[e])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getLatLng();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(t){if(this._resizeMarkers.length){var e=this._getResizeMarkerPoint(t);this._resizeMarkers[0].setLatLng(e)}this._shape.setLatLng(t),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var t=this._shape.getLatLng(),e=this._getResizeMarkerPoint(t);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(e,this.options.resizeIcon))},_getResizeMarkerPoint:function(t){var e=this._shape._radius*Math.cos(Math.PI/4),n=this._map.project(t);return this._map.unproject([n.x+e,n.y-e])},_resize:function(t){var e=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=e.distanceTo(t):radius=this._map.distance(e,t),this._shape.setRadius(radius),this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart),L.DomEvent.off(this._container,"touchend",this._onTouchEnd),L.DomEvent.off(this._container,"touchmove",this._onTouchMove),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave))},_touchEvent:function(t,e){var n={};if(void 0!==t.touches){if(!t.touches.length)return;n=t.touches[0]}else{if("touch"!==t.pointerType)return;if(n=t,!this._filterClick(t))return}var i=this._map.mouseEventToContainerPoint(n),s=this._map.mouseEventToLayerPoint(n),o=this._map.layerPointToLatLng(s);this._map.fire(e,{latlng:o,layerPoint:s,containerPoint:i,pageX:n.pageX,pageY:n.pageY,originalEvent:t})},_filterClick:function(t){var e=t.timeStamp||t.originalEvent.timeStamp,n=L.DomEvent._lastClick&&e-L.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?(L.DomEvent.stop(t),!1):(L.DomEvent._lastClick=e,!0)},_onTouchStart:function(t){this._map._loaded&&this._touchEvent(t,"touchstart")},_onTouchEnd:function(t){this._map._loaded&&this._touchEvent(t,"touchend")},_onTouchCancel:function(t){if(this._map._loaded){var e="touchcancel";this._detectIE()&&(e="pointercancel"),this._touchEvent(t,e)}},_onTouchLeave:function(t){this._map._loaded&&this._touchEvent(t,"touchleave")},_onTouchMove:function(t){this._map._loaded&&this._touchEvent(t,"touchmove")},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];e.concat(this._detectIE?["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]:["touchcancel"]),L.DomUtil.addClass(t,"leaflet-clickable"),L.DomEvent.on(t,"click",this._onMouseClick,this),L.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var n=0;n<e.length;n++)L.DomEvent.on(t,e[n],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.LatLngUtil={cloneLatLngs:function(t){for(var e=[],n=0,i=t.length;n<i;n++)Array.isArray(t[n])?e.push(L.LatLngUtil.cloneLatLngs(t[n])):e.push(this.cloneLatLng(t[n]));return e},cloneLatLng:function(t){return L.latLng(t.lat,t.lng)}},function(){var t={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(t){var e,n,i=t.length,s=0,o=Math.PI/180;if(i>2){for(var r=0;r<i;r++)s+=((n=t[(r+1)%i]).lng-(e=t[r]).lng)*o*(2+Math.sin(e.lat*o)+Math.sin(n.lat*o));s=6378137*s*6378137/2}return Math.abs(s)},formattedNumber:function(t,e){var n=parseFloat(t).toFixed(e),i=L.drawLocal.format&&L.drawLocal.format.numeric,s=i&&i.delimiters,o=s&&s.thousands,r=s&&s.decimal;if(o||r){var a=n.split(".");n=o?a[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o):a[0],r=r||".",a.length>1&&(n=n+r+a[1])}return n},readableArea:function(e,n,i){var s,o;return i=L.Util.extend({},t,i),n?(o=["ha","m"],type=typeof n,"string"===type?o=[n]:"boolean"!==type&&(o=n),s=e>=1e6&&-1!==o.indexOf("km")?L.GeometryUtil.formattedNumber(1e-6*e,i.km)+" km\xb2":e>=1e4&&-1!==o.indexOf("ha")?L.GeometryUtil.formattedNumber(1e-4*e,i.ha)+" ha":L.GeometryUtil.formattedNumber(e,i.m)+" m\xb2"):s=(e/=.836127)>=3097600?L.GeometryUtil.formattedNumber(e/3097600,i.mi)+" mi\xb2":e>=4840?L.GeometryUtil.formattedNumber(e/4840,i.ac)+" acres":L.GeometryUtil.formattedNumber(e,i.yd)+" yd\xb2",s},readableDistance:function(e,n,i,s,o){var r;switch(o=L.Util.extend({},t,o),n?"string"==typeof n?n:"metric":i?"feet":s?"nauticalMile":"yards"){case"metric":r=e>1e3?L.GeometryUtil.formattedNumber(e/1e3,o.km)+" km":L.GeometryUtil.formattedNumber(e,o.m)+" m";break;case"feet":e*=3.28083,r=L.GeometryUtil.formattedNumber(e,o.ft)+" ft";break;case"nauticalMile":e*=.53996,r=L.GeometryUtil.formattedNumber(e/1e3,o.nm)+" nm";break;case"yards":default:r=(e*=1.09361)>1760?L.GeometryUtil.formattedNumber(e/1760,o.mi)+" miles":L.GeometryUtil.formattedNumber(e,o.yd)+" yd"}return r},isVersion07x:function(){var t=L.version.split(".");return 0===parseInt(t[0],10)&&7===parseInt(t[1],10)}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(t,e,n,i){return this._checkCounterclockwise(t,n,i)!==this._checkCounterclockwise(e,n,i)&&this._checkCounterclockwise(t,e,n)!==this._checkCounterclockwise(t,e,i)},_checkCounterclockwise:function(t,e,n){return(n.y-t.y)*(e.x-t.x)>(e.y-t.y)*(n.x-t.x)}}),L.Polyline.include({intersects:function(){var t,e=this._getProjectedPoints(),n=e?e.length:0;if(this._tooFewPointsForIntersection())return!1;for(t=n-1;t>=3;t--)if(this._lineSegmentsIntersectsRange(e[t-1],e[t],t-2))return!0;return!1},newLatLngIntersects:function(t,e){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(t),e)},newPointIntersects:function(t,e){var n=this._getProjectedPoints(),i=n?n.length:0,s=n?n[i-1]:null,o=i-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(s,t,o,e?1:0)},_tooFewPointsForIntersection:function(t){var e=this._getProjectedPoints(),n=e?e.length:0;return!e||(n+=t||0)<=3},_lineSegmentsIntersectsRange:function(t,e,n,i){var s=this._getProjectedPoints();i=i||0;for(var o=n;o>i;o--)if(L.LineUtil.segmentsIntersect(t,e,s[o-1],s[o]))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var t=[],e=this._defaultShape(),n=0;n<e.length;n++)t.push(this._map.latLngToLayerPoint(e[n]));return t}}),L.Polygon.include({intersects:function(){var t,e=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||this._lineSegmentsIntersectsRange(e[(t=e.length)-1],e[0],t-2,1))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");var e;L.Control.prototype.initialize.call(this,t),this._toolbars={},L.DrawToolbar&&this.options.draw&&(e=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=e,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(e=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=e,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(t){var e,n=L.DomUtil.create("div","leaflet-draw"),i=!1;for(var s in this._toolbars)this._toolbars.hasOwnProperty(s)&&(e=this._toolbars[s].addToolbar(t))&&(i||(L.DomUtil.hasClass(e,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(e.childNodes[0],"leaflet-draw-toolbar-top"),i=!0),n.appendChild(e));return n},onRemove:function(){for(var t in this._toolbars)this._toolbars.hasOwnProperty(t)&&this._toolbars[t].removeToolbar()},setDrawingOptions:function(t){for(var e in this._toolbars)this._toolbars[e]instanceof L.DrawToolbar&&this._toolbars[e].setOptions(t)},_toolbarEnabled:function(t){var e=t.target;for(var n in this._toolbars)this._toolbars[n]!==e&&this._toolbars[n].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(t){L.setOptions(this,t),this._modes={},this._actionButtons=[],this._activeMode=null;var e=L.version.split(".");1===parseInt(e[0],10)&&parseInt(e[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(t){var e,n=L.DomUtil.create("div","leaflet-draw-section"),i=0,s=this._toolbarClass||"",o=this.getModeHandlers(t);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=t,e=0;e<o.length;e++)o[e].enabled&&this._initModeHandler(o[e].handler,this._toolbarContainer,i++,s,o[e].title);if(i)return this._lastButtonIndex=--i,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),n.appendChild(this._toolbarContainer),n.appendChild(this._actionsContainer),n},removeToolbar:function(){for(var t in this._modes)this._modes.hasOwnProperty(t)&&(this._disposeButton(this._modes[t].button,this._modes[t].handler.enable,this._modes[t].handler),this._modes[t].handler.disable(),this._modes[t].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var e=0,n=this._actionButtons.length;e<n;e++)this._disposeButton(this._actionButtons[e].button,this._actionButtons[e].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(t,e,n,i,s){var o=t.type;this._modes[o]={},this._modes[o].handler=t,this._modes[o].button=this._createButton({type:o,title:s,className:i+"-"+o,container:e,callback:this._modes[o].handler.enable,context:this._modes[o].handler}),this._modes[o].buttonIndex=n,this._modes[o].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream},_createButton:function(t){var e=L.DomUtil.create("a",t.className||"",t.container),n=L.DomUtil.create("span","sr-only",t.container);e.href="#",e.appendChild(n),t.title&&(e.title=t.title,n.innerHTML=t.title),t.text&&(e.innerHTML=t.text,n.innerHTML=t.text);var i=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(e,"click",L.DomEvent.stopPropagation).on(e,"mousedown",L.DomEvent.stopPropagation).on(e,"dblclick",L.DomEvent.stopPropagation).on(e,"touchstart",L.DomEvent.stopPropagation).on(e,"click",L.DomEvent.preventDefault).on(e,i,t.callback,t.context),e},_disposeButton:function(t,e){var n=this._detectIOS()?"touchstart":"click";L.DomEvent.off(t,"click",L.DomEvent.stopPropagation).off(t,"mousedown",L.DomEvent.stopPropagation).off(t,"dblclick",L.DomEvent.stopPropagation).off(t,"touchstart",L.DomEvent.stopPropagation).off(t,"click",L.DomEvent.preventDefault).off(t,n,e)},_handlerActivated:function(t){this.disable(),this._activeMode=this._modes[t.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(t){var e,n,i,s,o=this._actionsContainer,r=this.getActions(t),a=r.length;for(n=0,i=this._actionButtons.length;n<i;n++)this._disposeButton(this._actionButtons[n].button,this._actionButtons[n].callback);for(this._actionButtons=[];o.firstChild;)o.removeChild(o.firstChild);for(var l=0;l<a;l++)"enabled"in r[l]&&!r[l].enabled||(e=L.DomUtil.create("li","",o),s=this._createButton({title:r[l].title,text:r[l].text,container:e,callback:r[l].callback,context:r[l].context}),this._actionButtons.push({button:s,callback:r[l].callback}))},_showActionsToolbar:function(){var t=this._activeMode.buttonIndex,e=this._lastButtonIndex,n=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=n+"px",0===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),t===e&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(t){this._map=t,this._popupPane=t._panes.popupPane,this._visible=!1,this._container=t.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(t){return this._container?(t.subtext=t.subtext||"",0!==t.subtext.length||this._singleLineLabel?t.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(t.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+t.subtext+"</span><br />":"")+"<span>"+t.text+"</span>",t.text||t.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(t){var e=this._map.latLngToLayerPoint(t),n=this._container;return this._container&&(this._visible&&(n.style.visibility="inherit"),L.DomUtil.setPosition(n,e)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(t){for(var e in this.options)this.options.hasOwnProperty(e)&&t[e]&&(t[e]=L.extend({},this.options[e],t[e]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,t)},getModeHandlers:function(t){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(t,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(t,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(t,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(t,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(t,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(t,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(t){return[{enabled:t.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:t.completeShape,context:t},{enabled:t.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:t.deleteLastVertex,context:t},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(t){for(var e in L.setOptions(this,t),this._modes)this._modes.hasOwnProperty(e)&&t.hasOwnProperty(e)&&this._modes[e].handler.setOptions(t[e])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(t){t.edit&&(void 0===t.edit.selectedPathOptions&&(t.edit.selectedPathOptions=this.options.edit.selectedPathOptions),t.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,t.edit.selectedPathOptions)),t.remove&&(t.remove=L.extend({},this.options.remove,t.remove)),t.poly&&(t.poly=L.extend({},this.options.poly,t.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,t),this._selectedFeatureCount=0},getModeHandlers:function(t){var e=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(t,{featureGroup:e,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(t,{featureGroup:e}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(t){var e=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return t.removeAllLayers&&e.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),e},addToolbar:function(t){var e=L.Toolbar.prototype.addToolbar.call(this,t);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),e},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var t,e=0!==this.options.featureGroup.getLayers().length;this.options.edit&&(t=this._modes[L.EditToolbar.Edit.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(t=this._modes[L.EditToolbar.Delete.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.setOptions(this,e),this._featureGroup=e.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),t._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(t){this._revertLayer(t)},this)},save:function(){var t=new L.LayerGroup;this._featureGroup.eachLayer(function(e){e.edited&&(t.addLayer(e),e.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:t})},_backupLayer:function(t){var e=L.Util.stamp(t);this._uneditedLayerProps[e]||(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?this._uneditedLayerProps[e]={latlngs:L.LatLngUtil.cloneLatLngs(t.getLatLngs())}:t instanceof L.Circle?this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng()),radius:t.getRadius()}:(t instanceof L.Marker||t instanceof L.CircleMarker)&&(this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(t){var e=L.Util.stamp(t);t.edited=!1,this._uneditedLayerProps.hasOwnProperty(e)&&(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?t.setLatLngs(this._uneditedLayerProps[e].latlngs):t instanceof L.Circle?(t.setLatLng(this._uneditedLayerProps[e].latlng),t.setRadius(this._uneditedLayerProps[e].radius)):(t instanceof L.Marker||t instanceof L.CircleMarker)&&t.setLatLng(this._uneditedLayerProps[e].latlng),t.fire("revert-edited",{layer:t}))},_enableLayerEdit:function(t){var e,n,i=t.layer||t.target||t;this._backupLayer(i),this.options.poly&&(n=L.Util.extend({},this.options.poly),i.options.poly=n),this.options.selectedPathOptions&&((e=L.Util.extend({},this.options.selectedPathOptions)).maintainColor&&(e.color=i.options.color,e.fillColor=i.options.fillColor),i.options.original=L.extend({},i.options),i.options.editing=e),i instanceof L.Marker?(i.editing&&i.editing.enable(),i.dragging.enable(),i.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):i.editing.enable()},_disableLayerEdit:function(t){var e=t.layer||t.target||t;e.edited=!1,e.editing&&e.editing.disable(),delete e.options.editing,delete e.options.original,this._selectedPathOptions&&(e instanceof L.Marker?this._toggleMarkerHighlight(e):(e.setStyle(e.options.previousOptions),delete e.options.previousOptions)),e instanceof L.Marker?(e.dragging.disable(),e.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):e.editing.disable()},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_onMarkerDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.changedTouches[0]),n=this._map.layerPointToLatLng(e);t.target.setLatLng(n)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.Util.setOptions(this,e),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(t){this._deletableLayers.addLayer(t),t.fire("revert-deleted",{layer:t})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(t){this._removeLayer({layer:t})},this),this.save()},_enableLayerDelete:function(t){(t.layer||t.target||t).on("click",this._removeLayer,this)},_disableLayerDelete:function(t){var e=t.layer||t.target||t;e.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(e)},_removeLayer:function(t){var e=t.layer||t.target||t;this._deletableLayers.removeLayer(e),this._deletedLayers.addLayer(e),e.fire("deleted")},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document)},Yoyx:function(t,e,n){var i,s;!function(o){if("object"==typeof t&&"object"==typeof t.exports){var r=o(n("GPNb"),e);void 0!==r&&(t.exports=r)}else void 0===(s="function"==typeof(i=o)?i.apply(e,[n,e]):i)||(t.exports=s)}(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=/-+([a-z0-9])/g;function i(t,e,n){var i=t.indexOf(e);return-1==i?n:[t.slice(0,i).trim(),t.slice(i+1).trim()]}function s(t,e,n){return Array.isArray(t)?e.visitArray(t,n):"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===l?e.visitStringMap(t,n):null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.visitPrimitive(t,n):e.visitOther(t,n)}e.dashCaseToCamelCase=function(t){return t.replace(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t[1].toUpperCase()})},e.splitAtColon=function(t,e){return i(t,":",e)},e.splitAtPeriod=function(t,e){return i(t,".",e)},e.visitValue=s,e.isDefined=function(t){return null!==t&&void 0!==t},e.noUndefined=function(t){return void 0===t?null:t};var o=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return s(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,i={};return Object.keys(t).forEach(function(o){i[o]=s(t[o],n,e)}),i},t.prototype.visitPrimitive=function(t,e){return t},t.prototype.visitOther=function(t,e){return t},t}();e.ValueTransformer=o,e.SyncAsync={assertSync:function(t){if(h(t))throw new Error("Illegal state: value cannot be a promise");return t},then:function(t,e){return h(t)?t.then(e):e(t)},all:function(t){return t.some(h)?Promise.all(t):t}},e.error=function(t){throw new Error("Internal Error: "+t)},e.syntaxError=function(t,e){var n=Error(t);return n[r]=!0,e&&(n[a]=e),n};var r="ngSyntaxError",a="ngParseErrors";e.isSyntaxError=function(t){return t[r]},e.getParseErrors=function(t){return t[a]||[]},e.escapeRegExp=function(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var l=Object.getPrototypeOf({});function h(t){return!!t&&"function"==typeof t.then}e.utf8Encode=function(t){for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);if(i>=55296&&i<=56319&&t.length>n+1){var s=t.charCodeAt(n+1);s>=56320&&s<=57343&&(n++,i=(i-55296<<10)+s-56320+65536)}i<=127?e+=String.fromCharCode(i):i<=2047?e+=String.fromCharCode(i>>6&31|192,63&i|128):i<=65535?e+=String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128):i<=2097151&&(e+=String.fromCharCode(i>>18&7|240,i>>12&63|128,i>>6&63|128,63&i|128))}return e},e.stringify=function t(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(t).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return""+e.overriddenName;if(e.name)return""+e.name;var n=e.toString();if(null==n)return""+n;var i=n.indexOf("\n");return-1===i?n:n.substring(0,i)},e.resolveForwardRef=function(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t},e.isPromise=h,e.Version=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}})},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},zUnb:function(t,e,n){"use strict";function i(t){return"function"==typeof t}n.r(e);let s=!1;const o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function r(t){setTimeout(()=>{throw t})}const a={closed:!0,next(t){},error(t){if(o.useDeprecatedSynchronousErrorHandling)throw t},complete(){}},l=Array.isArray||(t=>t&&"number"==typeof t.length);function h(t){return null!=t&&"object"==typeof t}const u={e:{}};let c;function d(){try{return c.apply(this,arguments)}catch(t){return u.e=t,u}}function p(t){return c=t,d}class m extends Error{constructor(t){super(t?`${t.length} errors occurred during unsubscription:\n ${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:""),this.errors=t,this.name="UnsubscriptionError",Object.setPrototypeOf(this,m.prototype)}}class f{constructor(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let t,e=!1;if(this.closed)return;let{_parent:n,_parents:s,_unsubscribe:o,_subscriptions:r}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let a=-1,c=s?s.length:0;for(;n;)n.remove(this),n=++a<c&&s[a]||null;if(i(o)&&p(o).call(this)===u&&(e=!0,t=t||(u.e instanceof m?_(u.e.errors):[u.e])),l(r))for(a=-1,c=r.length;++a<c;){const n=r[a];if(h(n)&&p(n.unsubscribe).call(n)===u){e=!0,t=t||[];let n=u.e;n instanceof m?t=t.concat(_(n.errors)):t.push(n)}}if(e)throw new m(t)}add(t){if(!t||t===f.EMPTY)return f.EMPTY;if(t===this)return this;let e=t;switch(typeof t){case"function":e=new f(t);case"object":if(e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if("function"!=typeof e._addParent){const t=e;(e=new f)._subscriptions=[t]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}return(this._subscriptions||(this._subscriptions=[])).push(e),e._addParent(this),e}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}_addParent(t){let{_parent:e,_parents:n}=this;e&&e!==t?n?-1===n.indexOf(t)&&n.push(t):this._parents=[t]:this._parent=t}}function _(t){return t.reduce((t,e)=>t.concat(e instanceof m?e.errors:e),[])}f.EMPTY=function(t){return t.closed=!0,t}(new f);const g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("rxSubscriber"):"@@rxSubscriber";class y extends f{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){if(t instanceof y||"syncErrorThrowable"in t&&t[g]){const e=t[g]();this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)}else this.syncErrorThrowable=!0,this.destination=new v(this,t);break}default:this.syncErrorThrowable=!0,this.destination=new v(this,t,e,n)}}[g](){return this}static create(t,e,n){const i=new y(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:t,_parents:e}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this}}class v extends y{constructor(t,e,n,s){let o;super(),this._parentSubscriber=t;let r=this;i(e)?o=e:e&&(o=e.next,n=e.error,s=e.complete,e!==a&&(i((r=Object.create(e)).unsubscribe)&&this.add(r.unsubscribe.bind(r)),r.unsubscribe=this.unsubscribe.bind(this))),this._context=r,this._next=o,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=o;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;r(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);o.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;r(t)}}__tryOrSetError(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const b="function"==typeof Symbol&&Symbol.observable||"@@observable";function w(){}class x{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const e=new x;return e.source=this,e.operator=t,e}subscribe(t,e,n){const{operator:i}=this,s=function(t,e,n){if(t){if(t instanceof y)return t;if(t[g])return t[g]()}return t||e||n?new y(t,e,n):new y(a)}(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),o.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),t.error(e)}}forEach(t,e){return new(e=E(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[b](){return this}pipe(...t){return 0===t.length?this:function(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:w}(t)(this)}toPromise(t){return new(t=E(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}x.create=(t=>new x(t));class C extends Error{constructor(){super("object unsubscribed"),this.name="ObjectUnsubscribedError",Object.setPrototypeOf(this,C.prototype)}}class L extends f{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class k extends y{constructor(t){super(t),this.destination=t}}class S extends x{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[g](){return new k(this)}lift(t){const e=new T(this,this);return e.operator=t,e}next(t){if(this.closed)throw new C;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].next(t)}}error(t){if(this.closed)throw new C;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].error(t);this.observers.length=0}complete(){if(this.closed)throw new C;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let i=0;i<e;i++)n[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new C;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new C;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new L(this,t))}asObservable(){const t=new x;return t.source=this,t}}S.create=((t,e)=>new T(t,e));class T extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):f.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}class P extends y{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}const M=t=>e=>{for(let n=0,i=t.length;n<i&&!e.closed;n++)e.next(t[n]);e.closed||e.complete()},D=t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,r),e),A=function(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}(),O=t=>e=>{const n=t[A]();for(;;){const t=n.next();if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e},R=t=>e=>{const n=t[b]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)},N=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function F(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const z=t=>{if(t instanceof x)return e=>t._isScalar?(e.next(t.value),void e.complete()):t.subscribe(e);if(N(t))return M(t);if(F(t))return D(t);if(t&&"function"==typeof t[A])return O(t);if(t&&"function"==typeof t[b])return R(t);{const e=`You provided ${h(t)?"an invalid object":`'${t}'`} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.";throw new TypeError(e)}};function V(t,e,n,i){const s=new P(t,n,i);return z(e)(s)}class B extends y{notifyNext(t,e,n,i,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}function j(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new H(t,e))}}class H{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new Z(t,this.project,this.thisArg))}}class Z extends y{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function U(t,e){return new x(e?n=>{const i=new f;let s=0;return i.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||i.add(this.schedule())):n.complete()})),i}:M(t))}function G(t,e){if(!e)return t instanceof x?t:new x(z(t));if(null!=t){if(function(t){return t&&"function"==typeof t[b]}(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>{const s=t[b]();i.add(s.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i}:R(t))}(t,e);if(F(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i}:D(t))}(t,e);if(N(t))return U(t,e);if(function(t){return t&&"function"==typeof t[A]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new x(e?n=>{const i=new f;let s;return i.add(()=>{s&&"function"==typeof s.return&&s.return()}),i.add(e.schedule(()=>{s=t[A](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const i=s.next();t=i.value,e=i.done}catch(t){return void n.error(t)}e?n.complete():(n.next(t),this.schedule())}))})),i}:O(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function $(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe($((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new W(t,this.project,this.concurrent))}}class W extends B{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){this.add(V(this,t,e,n))}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function K(t){return t}function Y(t=Number.POSITIVE_INFINITY){return $(K,t)}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof x?t[0]:Y(e)(U(t,n))}function X(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),s=e.subscribe(i);return i.closed||(i.connection=n.connect()),s}}class tt extends y{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,!i||n&&i!==n||i.unsubscribe()}}const et=class extends x{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new f).add(this.source.subscribe(new class extends k{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}(this.getSubject(),this))),t.closed?(this._connection=null,t=f.EMPTY):this._connection=t),t}refCount(){return X()(this)}}.prototype,nt={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:et._subscribe},_isComplete:{value:et._isComplete,writable:!0},getSubject:{value:et.getSubject},connect:{value:et.connect},refCount:{value:et.refCount}};function it(){return new S}function st(){return t=>X()(function(t,e){return function(e){let n;n="function"==typeof t?t:function(){return t};const i=Object.create(e,nt);return i.source=e,i.subjectFactory=n,i}}(it)(t))}function ot(t){return{providedIn:t.providedIn||null,factory:t.factory,value:void 0}}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0!==e?ot({providedIn:e.providedIn||"root",factory:e.factory}):void 0}toString(){return`InjectionToken ${this._desc}`}}const at="__parameters__";function lt(t,e,n){const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return i.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,i){const s=t.hasOwnProperty(at)?t[at]:Object.defineProperty(t,at,{value:[]})[at];for(;s.length<=i;)s.push(null);return(s[i]=s[i]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s}const ht=Function;function ut(t){return"function"==typeof t}const ct="undefined"!=typeof window&&window,dt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,pt="undefined"!=typeof global&&global,mt=ct||pt||dt,ft=Promise.resolve(0);let _t=null;function gt(){if(!_t){const t=mt.Symbol;if(t&&t.iterator)_t=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(_t=n)}}}return _t}function yt(t){"undefined"==typeof Zone?ft.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function vt(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function bt(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(bt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const wt=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,xt=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{/,Et=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{[\s\S]*constructor\s*\(/;function Ct(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function Lt(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}function kt(t){return t.__forward_ref__=kt,t.toString=function(){return bt(this())},t}function St(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===kt?t():t}const Tt=lt("Inject",t=>({token:t})),It=lt("Optional"),Pt=lt("Self"),Mt=lt("SkipSelf"),Dt="__source",At=new Object,Ot=At,Rt=new rt("INJECTOR");class Nt{static create(t,e){return Array.isArray(t)?new Wt(t,e):new Wt(t.providers,t.parent,t.name||null)}}Nt.THROW_IF_NOT_FOUND=At,Nt.NULL=new class{get(t,e=At){if(e===At)throw new Error(`NullInjectorError: No provider for ${bt(t)}!`);return e}},Nt.ngInjectableDef=ot({providedIn:"any",factory:()=>te(Rt)});const Ft=function(t){return t},zt=[],Vt=Ft,Bt=function(){return Array.prototype.slice.call(arguments)},jt={},Ht=function(t){for(let e in t)if(t[e]===jt)return e;throw Error("!prop")}({provide:String,useValue:jt}),Zt="ngTokenPath",Ut="ngTempTokenPath",Gt=Nt.NULL,$t=/\n/gm,qt="\u0275";class Wt{constructor(t,e=Gt,n=null){this.parent=e,this.source=n;const i=this._records=new Map;i.set(Nt,{token:Nt,fn:Ft,deps:zt,value:this,useNew:!1}),i.set(Rt,{token:Rt,fn:Ft,deps:zt,value:this,useNew:!1}),function t(e,n){if(n)if((n=St(n))instanceof Array)for(let i=0;i<n.length;i++)t(e,n[i]);else{if("function"==typeof n)throw Qt("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Qt("Unexpected provider",n);{let t=St(n.provide);const i=function(t){const e=function(t){let e=zt;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let i=6,s=St(n[t]);if(s instanceof Array)for(let t=0,e=s;t<e.length;t++){const n=e[t];n instanceof It||n==It?i|=1:n instanceof Mt||n==Mt?i&=-3:n instanceof Pt||n==Pt?i&=-5:s=n instanceof Tt?n.token:St(n)}e.push({token:s,options:i})}}else if(t.useExisting)e=[{token:St(t.useExisting),options:6}];else if(!(n||Ht in t))throw Qt("'deps' required",t);return e}(t);let n=Ft,i=zt,s=!1,o=St(t.provide);if(Ht in t)i=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)s=!0,n=St(t.useClass);else{if("function"!=typeof o)throw Qt("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);s=!0,n=o}return{deps:e,fn:n,useNew:s,value:i}}(n);if(!0===n.multi){let i=e.get(t);if(i){if(i.fn!==Bt)throw Kt(t)}else e.set(t,i={token:n.provide,deps:[],useNew:!1,fn:Bt,value:zt});i.deps.push({token:t=n,options:6})}const s=e.get(t);if(s&&s.fn==Bt)throw Kt(t);e.set(t,i)}}}(i,t)}get(t,e,n=0){const i=this._records.get(t);try{return function t(e,n,i,s,o,r){try{return function(e,n,i,s,o,r){let a;if(!n||4&r)2&r||(a=s.get(e,o,0));else{if((a=n.value)==Vt)throw Error(qt+"Circular dependency");if(a===zt){n.value=Vt;let e=void 0,o=n.useNew,r=n.fn,l=n.deps,h=zt;if(l.length){h=[];for(let e=0;e<l.length;e++){const n=l[e],o=n.options,r=2&o?i.get(n.token):void 0;h.push(t(n.token,r,i,r||4&o?s:Gt,1&o?null:Nt.THROW_IF_NOT_FOUND,0))}}n.value=a=o?new r(...h):r.apply(e,h)}}return a}(e,n,i,s,o,r)}catch(t){throw t instanceof Error||(t=new Error(t)),(t[Ut]=t[Ut]||[]).unshift(e),n&&n.value==Vt&&(n.value=zt),t}}(t,i,this._records,this.parent,e,n)}catch(e){const n=e[Ut];throw t[Dt]&&n.unshift(t[Dt]),e.message=Yt("\n"+e.message,n,this.source),e[Zt]=n,e[Ut]=null,e}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(bt(n))),`StaticInjector[${t.join(", ")}]`}}function Kt(t){return Qt("Cannot mix multi providers and regular providers",t)}function Yt(t,e,n=null){t=t&&"\n"===t.charAt(0)&&t.charAt(1)==qt?t.substr(2):t;let i=bt(e);if(e instanceof Array)i=e.map(bt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):bt(i)))}i=`{${t.join(", ")}}`}return`StaticInjectorError${n?"("+n+")":""}[${i}]: ${t.replace($t,"\n ")}`}function Qt(t,e){return new Error(Yt(t,e))}let Xt=void 0;function Jt(t){const e=Xt;return Xt=t,e}function te(t,e=0){if(void 0===Xt)throw new Error("inject() must be called from an injection context");if(null===Xt){const e=t.ngInjectableDef;if(e&&"root"==e.providedIn)return void 0===e.value?e.value=e.factory():e.value;throw new Error(`Injector: NOT_FOUND [${bt(t)}]`)}return Xt.get(t,8&e?null:void 0,e)}String;const ee=function(){var t={Emulated:0,Native:1,None:2};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t}(),ne=new class{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}("6.0.3"),ie="ngDebugContext",se="ngOriginalError",oe="ngErrorLogger";function re(t){return t[ie]}function ae(t){return t[se]}function le(t,...e){t.error(...e)}class he{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t[oe]||le}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?re(t)?re(t):this._findContext(ae(t)):null}_findOriginalError(t){let e=ae(t);for(;e&&ae(e);)e=ae(e);return e}}function ue(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>bt(t.token)).join(" -> ")+")":""}function ce(t,e,n,i){const s=[e],o=n(s),r=i?function(t,e){const n=`${o} caused by: ${e instanceof Error?e.message:e}`,i=Error(n);return i[se]=e,i}(0,i):Error(o);return r.addKey=de,r.keys=s,r.injectors=[t],r.constructResolvingMessage=n,r[se]=i,r}function de(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function pe(t,e){const n=[];for(let i=0,s=e.length;i<s;i++){const t=e[i];n.push(t&&0!=t.length?t.map(bt).join(" "):"?")}return Error("Cannot resolve all parameters for '"+bt(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+bt(t)+"' is decorated with Injectable.")}function me(t,e){return Error(`Cannot mix multi providers and regular providers, got: ${t} ${e}`)}class fe{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=bt(this.token)}static get(t){return _e.get(St(t))}static get numberOfKeys(){return _e.numberOfKeys}}const _e=new class{constructor(){this._allKeys=new Map}get(t){if(t instanceof fe)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new fe(t,fe.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}},ge=new class{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,i){return this.reflectionCapabilities.resolveIdentifier(t,e,n,i)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}(new class{constructor(t){this._reflect=t||mt.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=void 0===t?new Array(e.length):new Array(t.length);for(let i=0;i<n.length;i++)n[i]=void 0===t?[]:t[i]!=Object?[t[i]]:[],e&&null!=e[i]&&(n[i]=n[i].concat(e[i]));return n}_ownParameters(t,e){const n=t.toString();if(wt.exec(n)||xt.exec(n)&&!Et.exec(n))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const i=t.ctorParameters;if(i&&i!==e.ctorParameters){const t="function"==typeof i?i():i,e=t.map(t=>t&&t.type),n=t.map(t=>t&&Ct(t.decorators));return this._zipTypesAndAnnotations(e,n)}const s=t.hasOwnProperty(at)&&t[at],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||s?this._zipTypesAndAnnotations(o,s):new Array(t.length).fill(void 0)}parameters(t){if(!ut(t))return[];const e=Lt(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?Ct(t.decorators):t.hasOwnProperty("__annotations__")?t.__annotations__:null}annotations(t){if(!ut(t))return[];const e=Lt(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=Ct(e[t])}),n}return t.hasOwnProperty("__prop__metadata__")?t.__prop__metadata__:null}propMetadata(t){if(!ut(t))return{};const e=Lt(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...i[t]),n[t]=e}),n}hasLifecycleHook(t,e){return t instanceof ht&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){const e=`if (!o.${t}) throw new Error('"${t}" is undefined');\n return o.${t}.apply(o, args);`;return new Function("o","args",e)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${bt(t)}`}resourceUri(t){return`./${bt(t)}`}resolveIdentifier(t,e,n,i){return i}resolveEnum(t,e){return t[e]}});class ye{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new ye(t,!1,null)}}const ve=[];class be{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class we{constructor(t,e){this.factory=t,this.dependencies=e}}function xe(t){return new be(fe.get(t.provide),[function(t){let e,n;if(t.useClass){const i=St(t.useClass);e=ge.factory(i),n=Ee(i)}else t.useExisting?(e=(t=>t),n=[ye.fromKey(fe.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>Ce(t,e,n))}return Ee(t)}(t.useFactory,t.deps)):(e=(()=>t.useValue),n=ve);return new we(e,n)}(t)],t.multi||!1)}function Ee(t){const e=ge.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw pe(t,e);return e.map(n=>Ce(t,n,e))}function Ce(t,e,n){let i=null,s=!1;if(!Array.isArray(e))return Le(e instanceof Tt?e.token:e,s,null);let o=null;for(let r=0;r<e.length;++r){const t=e[r];t instanceof ht?i=t:t instanceof Tt?i=t.token:t instanceof It?s=!0:t instanceof Pt||t instanceof Mt?o=t:t instanceof rt&&(i=t)}if(null!=(i=St(i)))return Le(i,s,o);throw pe(t,n)}function Le(t,e,n){return new ye(fe.get(t),e,n)}const ke=new Object;class Se{static resolve(t){return function(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n],s=e.get(i.key.id);if(s){if(i.multiProvider!==s.multiProvider)throw me(s,i);if(i.multiProvider)for(let t=0;t<i.resolvedFactories.length;t++)s.resolvedFactories.push(i.resolvedFactories[t]);else e.set(i.key.id,i)}else{let t;t=i.multiProvider?new be(i.key,i.resolvedFactories.slice(),i.multiProvider):i,e.set(i.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof ht)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(xe),new Map);return Array.from(e.values())}(t)}static resolveAndCreate(t,e){const n=Se.resolve(t);return Se.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new Te(t,e)}}class Te{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let i=0;i<n;i++)this.keyIds[i]=t[i].key.id,this.objs[i]=ke}get(t,e=Ot){return this._getByKey(fe.get(t),null,e)}resolveAndCreateChild(t){const e=Se.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(t){const e=new Te(t);return e.parent=this,e}resolveAndInstantiate(t){return this.instantiateResolved(Se.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function(e,n){return ce(e,t.key,function(t){return`Cannot instantiate cyclic dependency!${ue(t)}`})}(this);return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let i,s;try{i=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(e){throw e.addKey&&e.addKey(this,t.key),e}try{s=n(...i)}catch(e){throw function(e,n,i,s){return ce(e,t.key,function(t){const e=bt(t[0].token);return`${n.message}: Error during instantiation of ${e}!${ue(t)}.`},n)}(this,e)}return s}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Ot)}_getByKey(t,e,n){return t===Te.INJECTOR_KEY?this:e instanceof Pt?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===ke&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return ke}_throwOrNull(t,e){if(e!==Ot)return e;throw function(t,e){return ce(t,e,function(t){return`No provider for ${bt(t[0].token)}!${ue(t)}`})}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==ke?n:this._throwOrNull(t,e)}_getByKeyDefault(t,e,n){let i;for(i=n instanceof Mt?this.parent:this;i instanceof Te;){const e=i,n=e._getObjByKeyId(t.id);if(n!==ke)return n;i=e.parent}return null!==i?i.get(t.token,e):this._throwOrNull(t,e)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let i=0;i<t._providers.length;++i)n[i]=e(t.getProviderAtIndex(i));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}Te.INJECTOR_KEY=fe.get(Nt);const Ie=new rt("The presence of this token marks an injector as being the root injector.");function Pe(t){return!!t&&"function"==typeof t.then}function Me(t){return!!t&&"function"==typeof t.subscribe}const De=new rt("Application Initializer");class Ae{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Pe(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const Oe=new rt("AppId");function Re(){return`${Ne()}${Ne()}${Ne()}`}function Ne(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Fe=new rt("Platform Initializer"),ze=new rt("Platform ID"),Ve=new rt("appBootstrapListener");class Be{log(t){console.log(t)}warn(t){console.warn(t)}}function je(){throw new Error("Runtime compiler is not loaded")}Be.ctorParameters=(()=>[]);class He{compileModuleSync(t){throw je()}compileModuleAsync(t){throw je()}compileModuleAndAllComponentsSync(t){throw je()}compileModuleAndAllComponentsAsync(t){throw je()}clearCache(){}clearCacheFor(t){}}class Ze{}class Ue{}class Ge{}function $e(t){const e=Error(`No component factory found for ${bt(t)}. Did you add it to @NgModule.entryComponents?`);return e[qe]=t,e}const qe="ngComponent";class We{}We.NULL=new class{resolveComponentFactory(t){throw $e(t)}};class Ke{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let i=0;i<t.length;i++){const e=t[i];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw $e(t);return new Ye(e,this._ngModule)}}class Ye extends Ge{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,i){return this.factory.create(t,e,n,i||this.ngModule)}}class Qe{}class Xe{}let Je,tn;const en=function(){const t=mt.wtf;return!(!t||!(Je=t.trace)||(tn=Je.events,0))}(),nn=en?function(t,e=null){return tn.createScope(t,e)}:(t,e)=>(function(t,e){return null}),sn=en?function(t,e){return Je.leaveScope(t,e),e}:(t,e)=>e;class on extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let i,s=t=>null,o=()=>null;t&&"object"==typeof t?(i=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(s=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(o=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(s=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const r=super.subscribe(i,s,o);return t instanceof f&&t.add(r),r}}class rn{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on(!1),this.onMicrotaskEmpty=new on(!1),this.onStable=new on(!1),this.onError=new on(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),function(t){t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,i,s,o,r)=>{try{return un(t),e.invokeTask(i,s,o,r)}finally{cn(t)}},onInvoke:(e,n,i,s,o,r,a)=>{try{return un(t),e.invoke(i,s,o,r,a)}finally{cn(t)}},onHasTask:(e,n,i,s)=>{e.hasTask(i,s),n===i&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,hn(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,i,s)=>(e.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(this)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!rn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(rn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,t,ln,an,an);try{return s.runTask(o,e,n)}finally{s.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function an(){}const ln={};function hn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function cn(t){t._nesting--,hn(t)}class dn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on,this.onMicrotaskEmpty=new on,this.onStable=new on,this.onError=new on}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class pn{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{rn.assertNotInAngularZone(),yt(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yt(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,isPeriodic:t.data.isPeriodic,delay:t.data.delay,creationLocation:t.creationLocation,xhr:t.data.target})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class mn{constructor(){this._applications=new Map,_n.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return _n.findTestabilityInTree(this,t,e)}}mn.ctorParameters=(()=>[]);let fn,_n=new class{addToWindow(t){}findTestabilityInTree(t,e,n){return null}},gn=!0,yn=!1;const vn=new rt("AllowMultipleToken");function bn(){return yn=!0,gn}class wn{constructor(t,e){this.name=t,this.token=e}}function xn(t,e,n=[]){const i=`Platform: ${e}`,s=new rt(i);return(e=[])=>{let o=En();if(!o||o.injector.get(vn,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0});!function(t){if(fn&&!fn.destroyed&&!fn.injector.get(vn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");fn=t.get(Cn);const e=t.get(Fe,null);e&&e.forEach(t=>t())}(Nt.create({providers:t,name:i}))}return function(t){const e=En();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function En(){return fn&&!fn.destroyed?fn:null}class Cn{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){return"noop"===t?new dn:("zone.js"===t?void 0:t)||new rn({enableLongStackTrace:bn()})}(e?e.ngZone:void 0),i=[{provide:rn,useValue:n}];return n.run(()=>{const e=Nt.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(e),o=s.injector.get(he,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return s.onDestroy(()=>Sn(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const i=n();return Pe(i)?i.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):i}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(o,n,()=>{const t=s.injector.get(Ae);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=this.injector.get(Ze),i=Ln({},e);return n.createCompiler([i]).compileModuleAsync(t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${bt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Ln(t,e){return Array.isArray(e)?e.reduce(Ln,t):Object.assign({},t,e)}class kn{constructor(t,e,n,i,s,o){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=bn(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const r=new x(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),a=new x(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{rn.assertNotInAngularZone(),yt(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{rn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(r,a.pipe(st()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Ge?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=n instanceof Ye?null:this._injector.get(Qe),s=n.create(Nt.NULL,[],e||n.selector,i);s.onDestroy(()=>{this._unloadComponent(s)});const o=s.injector.get(pn,null);return o&&s.injector.get(mn).registerApplication(s.location.nativeElement,o),this._loadComponent(s),bn()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=kn._tickScope();try{this._runningTick=!0,this._views.forEach(t=>t.detectChanges()),this._enforceNoNewChanges&&this._views.forEach(t=>t.checkNoChanges())}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1,sn(t)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Sn(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ve,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),Sn(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}function Sn(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}kn._tickScope=nn("ApplicationRef#tick()");class Tn{}const In=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();class Pn{}class Mn{constructor(t){this.nativeElement=t}}class Dn{constructor(){this.dirty=!0,this._results=[],this.changes=new on,this.length=0}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}[gt()](){return this._results[gt()]()}toString(){return this._results.toString()}reset(t){this._results=function t(e){return e.reduce((e,n)=>{const i=Array.isArray(n)?t(n):n;return e.concat(i)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class An{}class On{}class Rn{}class Nn{constructor(t,e){this.name=t,this.callback=e}}class Fn{constructor(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof zn?e.addChild(this):this.parent=null,this.listeners=[]}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zn extends Fn{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(t=>{t.parent&&t.parent.removeChild(t),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,i){e.childNodes.forEach(e=>{e instanceof zn&&(n(e)&&i.push(e),t(e,n,i))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,i){e instanceof zn&&e.childNodes.forEach(e=>{n(e)&&i.push(e),e instanceof zn&&t(e,n,i)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zn)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}const Vn=new Map;function Bn(t){return Vn.get(t)||null}function jn(t){Vn.set(t.nativeNode,t)}function Hn(t,e){const n=Gn(t),i=Gn(e);return n&&i?function(t,e,n){const i=t[gt()](),s=e[gt()]();for(;;){const t=i.next(),e=s.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Hn):!(n||!t||"object"!=typeof t&&"function"!=typeof t||i||!e||"object"!=typeof e&&"function"!=typeof e)||vt(t,e)}class Zn{constructor(t){this.wrapped=t}static wrap(t){return new Zn(t)}static unwrap(t){return Zn.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Zn}}class Un{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function Gn(t){return!!$n(t)&&(Array.isArray(t)||!(t instanceof Map)&&gt()in t)}function $n(t){return null!==t&&("function"==typeof t||"object"==typeof t)}class qn{constructor(){}supports(t){return Gn(t)}create(t){return new Kn(t)}}const Wn=(t,e)=>e;class Kn{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Wn}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,s=null;for(;e||n;){const o=!n||e&&e.currentIndex<Jn(n,i,s)?e:n,r=Jn(o,i,s),a=o.currentIndex;if(o===n)i--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)i++;else{s||(s=[]);const t=r-i,e=a-i;if(t!=e){for(let n=0;n<t;n++){const i=n<s.length?s[n]:s[n]=0,o=i+n;e<=o&&o<t&&(s[n]=i+1)}s[o.previousIndex]=e-t}}r!==a&&t(o,r,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Gn(t))throw new Error(`Error trying to diff '${bt(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,i,s=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=this._trackByFn(e,n=t[e]),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,n,i,e)),vt(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,i,e),o=!0),s=s._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[gt()]();let i;for(;!(i=n.next()).done;)e(i.value)}}(t,t=>{i=this._trackByFn(e,t),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,t,i,e)),vt(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,i,e),o=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(vt(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,i)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(vt(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,i)):t=this._addAfter(new Yn(e,n),s,i),t}_verifyReinsertion(t,e,n,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,s=t._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Xn),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xn),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Yn{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Qn{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&vt(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Xn{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Qn,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Jn(t,e,n){const i=t.previousIndex;if(null===i)return i;let s=0;return n&&i<n.length&&(s=n[i]),i+e+s}class ti{constructor(t){this.factories=t}static create(t,e){if(null!=e){const n=e.factories.slice();t=t.concat(n)}return new ti(t)}static extend(t){return{provide:ti,useFactory:e=>{if(!e)throw new Error("Cannot extend IterableDiffers without a parent injector");return ti.create(t,e)},deps:[[ti,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${t.name||typeof t}'`)}}ti.ngInjectableDef=ot({providedIn:"root",factory:()=>new ti([new qn])});class ei{constructor(t){this.factories=t}static create(t,e){if(e){const n=e.factories.slice();t=t.concat(n)}return new ei(t)}static extend(t){return{provide:ei,useFactory:e=>{if(!e)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return ei.create(t,e)},deps:[[ei,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}const ni=[new class{constructor(){}supports(t){return t instanceof Map||$n(t)}create(){return new class{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||$n(t)))throw new Error(`Error trying to diff '${bt(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,s=n._next;return i&&(i._next=s),s&&(s._prev=i),n._next=null,n._prev=null,n}const n=new class{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){vt(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}}}],ii=new ti([new qn]),si=new ei(ni),oi=xn(null,"core",[{provide:ze,useValue:"unknown"},{provide:Cn,deps:[Nt]},{provide:mn,deps:[]},{provide:Be,deps:[]}]),ri=new rt("LocaleId");function ai(){return ii}function li(){return si}function hi(t){return t||"en-US"}class ui{constructor(t){}}class ci{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(t){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0<i;i--){const n=e.item(i).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const di=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,pi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function mi(t){return(t=String(t)).match(di)||t.match(pi)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function fi(t){return(t=String(t)).split(",").map(t=>mi(t.trim())).join(", ")}function _i(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function gi(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const yi=_i("area,br,col,hr,img,wbr"),vi=_i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),bi=_i("rp,rt"),wi=gi(bi,vi),xi=gi(yi,gi(vi,_i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),gi(bi,_i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wi),Ei=_i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ci=_i("srcset"),Li=gi(Ei,Ci,_i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"));class ki{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!xi.hasOwnProperty(e))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i),e=t.name,s=e.toLowerCase();if(!Li.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=t.value;Ei[s]&&(o=mi(o)),Ci[s]&&(o=fi(o)),this.buf.push(" ",e,'="',Ii(o),'"')}this.buf.push(">")}endElement(t){const e=t.nodeName.toLowerCase();xi.hasOwnProperty(e)&&!yi.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Ii(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Si=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/([^\#-~ |!])/g;function Ii(t){return t.replace(/&/g,"&amp;").replace(Si,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ti,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Pi;function Mi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const Di=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Ai=/^url\(([^)]+)\)$/,Oi=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class Ri{}function Ni(t,e,n){const i=t.state,s=1792&i;return s===e?(t.state=-1793&i|n,t.initIndex=-1,!0):s===n}function Fi(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function zi(t,e){return t.nodes[e]}function Vi(t,e){return t.nodes[e]}function Bi(t,e){return t.nodes[e]}function ji(t,e){return t.nodes[e]}function Hi(t,e){return t.nodes[e]}const Zi={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0};function Ui(t,e,n,i){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return i&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Gi(n,e),n}(s,t)}function Gi(t,e){t[ie]=e,t[oe]=e.logError.bind(e)}function $i(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}const qi=()=>{},Wi=new Map;function Ki(t){let e=Wi.get(t);return e||(e=bt(t)+"_"+Wi.size,Wi.set(t,e)),e}function Yi(t,e,n,i){if(Zn.isWrapped(i)){i=Zn.unwrap(i);const s=t.def.nodes[e].bindingIndex+n,o=Zn.unwrap(t.oldValues[s]);t.oldValues[s]=new Zn(o)}return i}const Qi="$$undefined",Xi="$$empty";function Ji(t){return{id:Qi,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let ts=0;function es(t,e,n,i){return!(!(2&t.state)&&vt(t.oldValues[e.bindingIndex+n],i))}function ns(t,e,n,i){return!!es(t,e,n,i)&&(t.oldValues[e.bindingIndex+n]=i,!0)}function is(t,e,n,i){const s=t.oldValues[e.bindingIndex+n];if(1&t.state||!Hn(s,i)){const o=e.bindings[n].name;throw Ui(Zi.createDebugContext(t,e.nodeIndex),`${o}: ${s}`,`${o}: ${i}`,0!=(1&t.state))}}function ss(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function os(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function rs(t,e,n,i){try{return ss(33554432&t.def.nodes[e].flags?Vi(t,e).componentView:t),Zi.handleEvent(t,e,n,i)}catch(e){t.root.errorHandler.handleError(e)}}function as(t){return t.parent?Vi(t.parent,t.parentNodeDef.nodeIndex):null}function ls(t){return t.parent?t.parentNodeDef.parent:null}function hs(t,e){switch(201347067&e.flags){case 1:return Vi(t,e.nodeIndex).renderElement;case 2:return zi(t,e.nodeIndex).renderText}}function us(t,e){return t?`${t}:${e}`:e}function cs(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ds(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function ps(t){return 1<<t%32}function ms(t){const e={};let n=0;const i={};return t&&t.forEach(([t,s])=>{"number"==typeof t?(e[t]=s,n|=ps(t)):i[t]=s}),{matchedQueries:e,references:i,matchedQueryIds:n}}function fs(t,e){return t.map(t=>{let n,i;return Array.isArray(t)?[i,n]=t:(i=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,Dt,{value:e,configurable:!0}),{flags:i,token:n,tokenKey:Ki(n)}})}function _s(t,e,n){let i=n.renderParent;return i?0==(1&i.flags)||0==(33554432&i.flags)||i.element.componentRendererType&&i.element.componentRendererType.encapsulation===ee.Native?Vi(t,n.renderParent.nodeIndex).renderElement:void 0:e}const gs=new WeakMap;function ys(t){let e=gs.get(t);return e||((e=t(()=>qi)).factory=t,gs.set(t,e)),e}function vs(t,e,n,i,s){3===e&&(n=t.renderer.parentNode(hs(t,t.def.lastRenderRootNode))),bs(t,e,0,t.def.nodes.length-1,n,i,s)}function bs(t,e,n,i,s,o,r){for(let a=n;a<=i;a++){const n=t.def.nodes[a];11&n.flags&&xs(t,n,e,s,o,r),a+=n.childCount}}function ws(t,e,n,i,s,o){let r=t;for(;r&&!cs(r);)r=r.parent;const a=r.parent,l=ls(r),h=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=h;u++){const t=a.def.nodes[u];t.ngContentIndex===e&&xs(a,t,n,i,s,o),u+=t.childCount}if(!a.parent){const r=t.root.projectableNodes[e];if(r)for(let e=0;e<r.length;e++)Es(t,r[e],n,i,s,o)}}function xs(t,e,n,i,s,o){if(8&e.flags)ws(t,e.ngContent.index,n,i,s,o);else{const r=hs(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&Es(t,r,n,i,s,o),32&e.bindingFlags&&Es(Vi(t,e.nodeIndex).componentView,r,n,i,s,o)):Es(t,r,n,i,s,o),16777216&e.flags){const r=Vi(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<r.length;t++)vs(r[t],n,i,s,o)}1&e.flags&&!e.element.name&&bs(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,i,s,o)}}function Es(t,e,n,i,s,o){const r=t.renderer;switch(n){case 1:r.appendChild(i,e);break;case 2:r.insertBefore(i,e,s);break;case 3:r.removeChild(i,e);break;case 0:o.push(e)}}const Cs=/^:([^:]+):(.+)$/;function Ls(t){if(":"===t[0]){const e=t.match(Cs);return[e[1],e[2]]}return["",t]}function ks(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function Ss(t,e,n,i,s,o){t|=1;const{matchedQueries:r,references:a,matchedQueryIds:l}=ms(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:r,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:i,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?ys(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||qi},provider:null,text:null,query:null,ngContent:null}}function Ts(t,e,n,i,s,o,r=[],a,l,h,u,c){h||(h=qi);const{matchedQueries:d,references:p,matchedQueryIds:m}=ms(n);let f=null,_=null;o&&([f,_]=Ls(o)),a=a||[];const g=new Array(a.length);for(let b=0;b<a.length;b++){const[t,e,n]=a[b],[i,s]=Ls(e);let o=void 0,r=void 0;switch(15&t){case 4:r=n;break;case 1:case 8:o=n}g[b]={flags:t,ns:i,name:s,nonMinifiedName:s,securityContext:o,suffix:r}}l=l||[];const y=new Array(l.length);for(let b=0;b<l.length;b++){const[t,e]=l[b];y[b]={type:0,target:t,eventName:e,propName:null}}const v=(r=r||[]).map(([t,e])=>{const[n,i]=Ls(t);return[n,i,e]});return c=function(t){if(t&&t.id===Qi){const e=null!=t.encapsulation&&t.encapsulation!==ee.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${ts++}`:Xi}return t&&t.id===Xi&&(t=null),t||null}(c),u&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:m,references:p,ngContentIndex:i,childCount:s,bindings:g,bindingFlags:ks(g),outputs:y,element:{ns:f,name:_,attrs:v,template:null,componentProvider:null,componentView:u||null,componentRendererType:c,publicProviders:null,allProviders:null,handleEvent:h||qi},provider:null,text:null,query:null,ngContent:null}}function Is(t,e,n){const i=n.element,s=t.root.selectorOrNode,o=t.renderer;let r;if(t.parent||!s){r=i.name?o.createElement(i.name,i.ns):o.createComment("");const s=_s(t,e,n);s&&o.appendChild(s,r)}else r=o.selectRootElement(s);if(i.attrs)for(let a=0;a<i.attrs.length;a++){const[t,e,n]=i.attrs[a];o.setAttribute(r,e,n,t)}return r}function Ps(t,e,n,i){for(let s=0;s<n.outputs.length;s++){const o=n.outputs[s],r=Ms(t,n.nodeIndex,us(o.target,o.eventName));let a=o.target,l=t;"component"===o.target&&(a=null,l=e);const h=l.renderer.listen(a||i,o.eventName,r);t.disposables[n.outputIndex+s]=h}}function Ms(t,e,n){return i=>rs(t,e,n,i)}function Ds(t,e,n,i){if(!ns(t,e,n,i))return!1;const s=e.bindings[n],o=Vi(t,e.nodeIndex),r=o.renderElement,a=s.name;switch(15&s.flags){case 1:!function(t,e,n,i,s,o){const r=e.securityContext;let a=r?t.root.sanitizer.sanitize(r,o):o;a=null!=a?a.toString():null;const l=t.renderer;null!=o?l.setAttribute(n,s,a,i):l.removeAttribute(n,s,i)}(t,s,r,s.ns,a,i);break;case 2:!function(t,e,n,i){const s=t.renderer;i?s.addClass(e,n):s.removeClass(e,n)}(t,r,a,i);break;case 4:!function(t,e,n,i,s){let o=t.root.sanitizer.sanitize(Oi.STYLE,s);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const r=t.renderer;null!=o?r.setStyle(n,i,o):r.removeStyle(n,i)}(t,s,r,a,i);break;case 8:!function(t,e,n,i,s){const o=e.securityContext;let r=o?t.root.sanitizer.sanitize(o,s):s;t.renderer.setProperty(n,i,r)}(33554432&e.flags&&32&s.flags?o.componentView:t,s,r,a,i)}return!0}const As=new Object,Os=Ki(Nt),Rs=Ki(Rt),Ns=Ki(Qe);function Fs(t,e,n,i){return n=St(n),{index:-1,deps:fs(i,bt(e)),flags:t,token:e,value:n}}function zs(t,e,n=Nt.THROW_IF_NOT_FOUND){const i=Jt(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const s=e.tokenKey;switch(s){case Os:case Rs:case Ns:return t}const o=t._def.providersByKey[s];if(o){let e=t._providers[o.index];return void 0===e&&(e=t._providers[o.index]=Vs(t,o)),e===As?void 0:e}if(e.token.ngInjectableDef&&function(t,e){return null!=e.providedIn&&(function(t,n){return t._def.modules.indexOf(e.providedIn)>-1}(t)||"root"===e.providedIn&&t._def.isRoot)}(t,e.token.ngInjectableDef)){const n=t._providers.length;return t._def.providersByKey[e.tokenKey]={flags:5120,value:e.token.ngInjectableDef.factory,deps:[],index:n,token:e.token},t._providers[n]=As,t._providers[n]=Vs(t,t._def.providersByKey[e.tokenKey])}return t._parent.get(e.token,n)}finally{Jt(i)}}function Vs(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const i=n.length;switch(i){case 0:return new e;case 1:return new e(zs(t,n[0]));case 2:return new e(zs(t,n[0]),zs(t,n[1]));case 3:return new e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=new Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return new e(...s)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const i=n.length;switch(i){case 0:return e();case 1:return e(zs(t,n[0]));case 2:return e(zs(t,n[0]),zs(t,n[1]));case 3:return e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return e(...s)}}(t,e.value,e.deps);break;case 2048:n=zs(t,e.deps[0]);break;case 256:n=e.value}return n===As||null==n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?As:n}function Bs(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const i=n[e];return i.viewContainerParent=null,Us(n,e),Zi.dirtyParentQueries(i),Hs(i),i}function js(t,e,n){const i=e?hs(e,e.def.lastRenderRootNode):t.renderElement;vs(n,2,n.renderer.parentNode(i),n.renderer.nextSibling(i),void 0)}function Hs(t){vs(t,3,null,null,void 0)}function Zs(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Us(t,e){e>=t.length-1?t.pop():t.splice(e,1)}const Gs=new Object;function $s(t,e,n,i,s,o){return new qs(t,e,n,i,s,o)}class qs extends Ge{constructor(t,e,n,i,s,o){super(),this.selector=t,this.componentType=e,this._inputs=i,this._outputs=s,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,i){if(!i)throw new Error("ngModule should be provided");const s=ys(this.viewDefFactory),o=s.nodes[0].element.componentProvider.nodeIndex,r=Zi.createRootView(t,e||[],n,s,i,Gs),a=Bi(r,o).instance;return n&&r.renderer.setAttribute(Vi(r,0).renderElement,"ng-version",ne.full),new Ws(r,new Xs(r),a)}}class Ws extends Ue{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Mn(Vi(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new no(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Ks(t,e,n){return new Ys(t,e,n)}class Ys{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Mn(this._data.renderElement)}get injector(){return new no(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=ls(t),t=t.parent;return t?new no(t,e):new no(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=Bs(this._data,t);Zi.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Xs(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,s){const o=n||this.parentInjector;s||t instanceof Ye||(s=o.get(Qe));const r=t.create(o,i,void 0,s);return this.insert(r.hostView,e),r}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,i){let s=e.viewContainer._embeddedViews;null!==n&&void 0!==n||(n=s.length),i.viewContainerParent=t,Zs(s,n,i),function(t,e){const n=as(e);if(!n||n===t||16&e.state)return;e.state|=16;let i=n.template._projectedViews;i||(i=n.template._projectedViews=[]),i.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,i),Zi.dirtyParentQueries(i),js(e,n>0?s[n-1]:null,i)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,i){const s=t.viewContainer._embeddedViews,o=s[n];Us(s,n),null==i&&(i=s.length),Zs(s,i,o),Zi.dirtyParentQueries(o),Hs(o),js(t,i>0?s[i-1]:null,o)}(this._data,0,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=Bs(this._data,t);e&&Zi.destroyView(e)}detach(t){const e=Bs(this._data,t);return e?new Xs(e):null}}function Qs(t){return new Xs(t)}class Xs{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return vs(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){ss(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Zi.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Zi.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Zi.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Hs(this._view),Zi.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function Js(t,e){return new to(t,e)}class to extends An{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Xs(Zi.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Mn(Vi(this._parentView,this._def.nodeIndex).renderElement)}}function eo(t,e){return new no(t,e)}class no{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Nt.THROW_IF_NOT_FOUND){return Zi.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Ki(t)},e)}}function io(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Vi(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return zi(t,n.nodeIndex).renderText;if(20240&n.flags)return Bi(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function so(t){return new oo(t.renderer)}class oo{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,i]=Ls(e),s=this.delegate.createElement(i,n);return t&&this.delegate.appendChild(t,s),s}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),i=this.delegate.nextSibling(t);for(let s=0;s<e.length;s++)this.delegate.insertBefore(n,e[s],i)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],i=this.delegate.parentNode(n);this.delegate.removeChild(i,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[i,s]=Ls(e);null!=n?this.delegate.setAttribute(t,s,n,i):this.delegate.removeAttribute(t,s,i)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function ro(t,e,n,i){return new ao(t,e,n,i)}class ao{constructor(t,e,n,i){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=i,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let i=0;i<e.providers.length;i++){const s=e.providers[i];4096&s.flags||void 0===n[i]&&(n[i]=Vs(t,s))}}(this)}get(t,e=Nt.THROW_IF_NOT_FOUND,n=0){let i=0;return 4&n?i|=1:2&n&&(i|=4),zs(this,{token:t,tokenKey:Ki(t),flags:i},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(We)}destroy(){if(this._destroyed)throw new Error(`The ng module ${bt(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,i=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const e=t._providers[s];if(e&&e!==As){const t=e.ngOnDestroy;"function"!=typeof t||i.has(e)||(t.apply(e),i.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const lo=Ki(class{}),ho=Ki(Pn),uo=Ki(Mn),co=Ki(On),po=Ki(An),mo=Ki(Rn),fo=Ki(Nt),_o=Ki(Rt);function go(t,e,n,i,s,o,r,a){const l=[];if(r)for(let u in r){const[t,e]=r[u];l[t]={flags:8,name:u,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const h=[];if(a)for(let u in a)h.push({type:1,propName:u,target:null,eventName:a[u]});return bo(t,e|=16384,n,i,s,s,o,l,h)}function yo(t,e,n){return bo(-1,t|=16,null,0,e,e,n)}function vo(t,e,n,i,s){return bo(-1,t,e,0,n,i,s)}function bo(t,e,n,i,s,o,r,a,l){const{matchedQueries:h,references:u,matchedQueryIds:c}=ms(n);l||(l=[]),a||(a=[]),o=St(o);const d=fs(r,bt(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:h,matchedQueryIds:c,references:u,ngContentIndex:-1,childCount:i,bindings:a,bindingFlags:ks(a),outputs:l,element:null,provider:{token:s,value:o,deps:d},text:null,query:null,ngContent:null}}function wo(t,e){return Lo(t,e)}function xo(t,e){let n=t;for(;n.parent&&!cs(n);)n=n.parent;return ko(n.parent,ls(n),!0,e.provider.value,e.provider.deps)}function Eo(t,e){const n=ko(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let i=0;i<e.outputs.length;i++){const s=e.outputs[i],o=n[s.propName].subscribe(Co(t,e.parent.nodeIndex,s.eventName));t.disposables[e.outputIndex+i]=o.unsubscribe.bind(o)}return n}function Co(t,e,n){return i=>rs(t,e,n,i)}function Lo(t,e){const n=(8192&e.flags)>0,i=e.provider;switch(201347067&e.flags){case 512:return ko(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,s){const o=s.length;switch(o){case 0:return i();case 1:return i(To(t,e,n,s[0]));case 2:return i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return i(...r)}}(t,e.parent,n,i.value,i.deps);case 2048:return To(t,e.parent,n,i.deps[0]);case 256:return i.value}}function ko(t,e,n,i,s){const o=s.length;switch(o){case 0:return new i;case 1:return new i(To(t,e,n,s[0]));case 2:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=new Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return new i(...r)}}const So={};function To(t,e,n,i,s=Nt.THROW_IF_NOT_FOUND){if(8&i.flags)return i.token;const o=t;2&i.flags&&(s=null);const r=i.tokenKey;r===mo&&(n=!(!e||!e.element.componentView)),e&&1&i.flags&&(n=!1,e=e.parent);let a=t;for(;a;){if(e)switch(r){case lo:return so(Io(a,e,n));case ho:return Io(a,e,n).renderer;case uo:return new Mn(Vi(a,e.nodeIndex).renderElement);case co:return Vi(a,e.nodeIndex).viewContainer;case po:if(e.element.template)return Vi(a,e.nodeIndex).template;break;case mo:return Qs(Io(a,e,n));case fo:case _o:return eo(a,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[r];if(t){let e=Bi(a,t.nodeIndex);return e||(e={instance:Lo(a,t)},a.nodes[t.nodeIndex]=e),e.instance}}n=cs(a),e=ls(a),a=a.parent,4&i.flags&&(a=null)}const l=o.root.injector.get(i.token,So);return l!==So||s===So?l:o.root.ngModule.injector.get(i.token,s)}function Io(t,e,n){let i;if(n)i=Vi(t,e.nodeIndex).componentView;else for(i=t;i.parent&&!cs(i);)i=i.parent;return i}function Po(t,e,n,i,s,o){if(32768&n.flags){const e=Vi(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[i].name]=s,524288&n.flags){o=o||{};const e=Zn.unwrap(t.oldValues[n.bindingIndex+i]);o[n.bindings[i].nonMinifiedName]=new Un(e,s,0!=(2&t.state))}return t.oldValues[n.bindingIndex+i]=s,o}function Mo(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let i=0;for(let s=0;s<n.length;s++){const o=n[s];let r=o.parent;for(!r&&o.flags&e&&Ao(t,s,o.flags&e,i++),0==(o.childFlags&e)&&(s+=o.childCount);r&&1&r.flags&&s===r.nodeIndex+r.childCount;)r.directChildFlags&e&&(i=Do(t,r,e,i)),r=r.parent}}function Do(t,e,n,i){for(let s=e.nodeIndex+1;s<=e.nodeIndex+e.childCount;s++){const e=t.def.nodes[s];e.flags&n&&Ao(t,s,e.flags&n,i++),s+=e.childCount}return i}function Ao(t,e,n,i){const s=Bi(t,e);if(!s)return;const o=s.instance;o&&(Zi.setCurrentNode(t,e),1048576&n&&Fi(t,512,i)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fi(t,768,i)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function Oo(t,e,n){let i=[];for(let s in n)i.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:ps(e),bindings:i},ngContent:null}}function Ro(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&ds(t);){let n=t.parentNodeDef;t=t.parent;const i=n.nodeIndex+n.childCount;for(let s=0;s<=i;s++){const i=t.def.nodes[s];67108864&i.flags&&536870912&i.flags&&(i.query.filterId&e)===i.query.filterId&&Hi(t,s).setDirty(),!(1&i.flags&&s+i.childCount<n.nodeIndex)&&67108864&i.childFlags&&536870912&i.childFlags||(s+=i.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Hi(t,n).setDirty(),n+=e.childCount}}function No(t,e){const n=Hi(t,e.nodeIndex);if(!n.dirty)return;let i,s=void 0;if(67108864&e.flags){const n=e.parent.parent;s=Fo(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),i=Bi(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(s=Fo(t,0,t.def.nodes.length-1,e.query,[]),i=t.component);n.reset(s);const o=e.query.bindings;let r=!1;for(let a=0;a<o.length;a++){const t=o[a];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,r=!0}i[t.propName]=e}r&&n.notifyOnChanges()}function Fo(t,e,n,i,s){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[i.id];if(null!=n&&s.push(zo(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&i.filterId)===i.filterId){const n=Vi(t,o);if((e.childMatchedQueries&i.filterId)===i.filterId&&(Fo(t,o+1,o+e.childCount,i,s),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],r=as(o);r&&r===n&&Fo(o,0,o.def.nodes.length-1,i,s)}}const r=n.template._projectedViews;if(r)for(let t=0;t<r.length;t++){const e=r[t];Fo(e,0,e.def.nodes.length-1,i,s)}}(e.childMatchedQueries&i.filterId)!==i.filterId&&(o+=e.childCount)}return s}function zo(t,e,n){if(null!=n)switch(n){case 1:return Vi(t,e.nodeIndex).renderElement;case 0:return new Mn(Vi(t,e.nodeIndex).renderElement);case 2:return Vi(t,e.nodeIndex).template;case 3:return Vi(t,e.nodeIndex).viewContainer;case 4:return Bi(t,e.nodeIndex).instance}}function Vo(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Bo(t,e,n){const i=_s(t,e,n);i&&ws(t,n.ngContent.index,1,i,null,void 0)}function jo(t,e){return function(t,e,n){const i=new Array(n.length);for(let s=0;s<n.length;s++){const t=n[s];i[s]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:128,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:i,bindingFlags:ks(i),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}(0,t,new Array(e+1))}function Ho(t,e,n){const i=new Array(n.length-1);for(let s=1;s<n.length;s++)i[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:i,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function Zo(t,e,n){let i;const s=t.renderer;i=s.createText(n.text.prefix);const o=_s(t,e,n);return o&&s.appendChild(o,i),{renderText:i}}function Uo(t,e){return(null!=t?t.toString():"")+e.suffix}function Go(t,e,n,i){let s=0,o=0,r=0,a=0,l=0,h=null,u=null,c=!1,d=!1,p=null;for(let m=0;m<e.length;m++){const t=e[m];if(t.nodeIndex=m,t.parent=h,t.bindingIndex=s,t.outputIndex=o,t.renderParent=u,r|=t.flags,l|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=h?h.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,c=!1,d=!1,t.element.template&&(l|=t.element.template.nodeMatchedQueries)}if(qo(h,t,e.length),s+=t.bindings.length,o+=t.outputs.length,!u&&3&t.flags&&(p=t),20224&t.flags){c||(c=!0,h.element.publicProviders=Object.create(h.element.publicProviders),h.element.allProviders=h.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?h.element.publicProviders[Ki(t.provider.token)]=t:(d||(d=!0,h.element.allProviders=Object.create(h.element.publicProviders)),h.element.allProviders[Ki(t.provider.token)]=t),e&&(h.element.componentProvider=t)}if(h?(h.childFlags|=t.flags,h.directChildFlags|=t.flags,h.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(h.childMatchedQueries|=t.element.template.nodeMatchedQueries)):a|=t.flags,t.childCount>0)h=t,$o(t)||(u=t);else for(;h&&m===h.nodeIndex+h.childCount;){const t=h.parent;t&&(t.childFlags|=h.childFlags,t.childMatchedQueries|=h.childMatchedQueries),u=(h=t)&&$o(h)?h.renderParent:h}}return{factory:null,nodeFlags:r,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||qi,updateRenderer:i||qi,handleEvent:(t,n,i,s)=>e[n].element.handleEvent(t,i,s),bindingCount:s,outputCount:o,lastRenderRootNode:p}}function $o(t){return 0!=(1&t.flags)&&null===t.element.name}function qo(t,e,n){const i=e.element&&e.element.template;if(i){if(!i.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(i.lastRenderRootNode&&16777216&i.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Wo(t,e,n,i){const s=Qo(t.root,t.renderer,t,e,n);return Xo(s,t.component,i),Jo(s),s}function Ko(t,e,n){const i=Qo(t,t.renderer,null,null,e);return Xo(i,n,n),Jo(i),i}function Yo(t,e,n,i){const s=e.element.componentRendererType;let o;return o=s?t.root.rendererFactory.createRenderer(i,s):t.root.renderer,Qo(t.root,o,t,e.element.componentProvider,n)}function Qo(t,e,n,i,s){const o=new Array(s.nodes.length),r=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:i,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(s.bindingCount),disposables:r,initIndex:-1}}function Xo(t,e,n){t.component=e,t.context=n}function Jo(t){let e;cs(t)&&(e=Vi(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,i=t.nodes;for(let s=0;s<n.nodes.length;s++){const o=n.nodes[s];let r;switch(Zi.setCurrentNode(t,s),201347067&o.flags){case 1:const n=Is(t,e,o);let a=void 0;if(33554432&o.flags){const e=ys(o.element.componentView);a=Zi.createComponentView(t,o,e,n)}Ps(t,a,o,n),r={renderElement:n,componentView:a,viewContainer:null,template:o.element.template?Js(t,o):void 0},16777216&o.flags&&(r.viewContainer=Ks(t,o,r));break;case 2:r=Zo(t,e,o);break;case 512:case 1024:case 2048:case 256:(r=i[s])||4096&o.flags||(r={instance:wo(t,o)});break;case 16:r={instance:xo(t,o)};break;case 16384:(r=i[s])||(r={instance:Eo(t,o)}),32768&o.flags&&Xo(Vi(t,o.parent.nodeIndex).componentView,r.instance,r.instance);break;case 32:case 64:case 128:r={value:void 0};break;case 67108864:case 134217728:r=new Dn;break;case 8:Bo(t,e,o),r=void 0}i[s]=r}lr(t,ar.CreateViewNodes),dr(t,201326592,268435456,0)}function tr(t){ir(t),Zi.updateDirectives(t,1),hr(t,ar.CheckNoChanges),Zi.updateRenderer(t,1),lr(t,ar.CheckNoChanges),t.state&=-97}function er(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ni(t,0,256),ir(t),Zi.updateDirectives(t,0),hr(t,ar.CheckAndUpdate),dr(t,67108864,536870912,0);let e=Ni(t,256,512);Mo(t,2097152|(e?1048576:0)),Zi.updateRenderer(t,0),lr(t,ar.CheckAndUpdate),dr(t,134217728,536870912,0),Mo(t,8388608|((e=Ni(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Ni(t,768,1024)}function nr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){switch(201347067&e.flags){case 1:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;let p=!1;return d>0&&Ds(t,e,0,n)&&(p=!0),d>1&&Ds(t,e,1,i)&&(p=!0),d>2&&Ds(t,e,2,s)&&(p=!0),d>3&&Ds(t,e,3,o)&&(p=!0),d>4&&Ds(t,e,4,r)&&(p=!0),d>5&&Ds(t,e,5,a)&&(p=!0),d>6&&Ds(t,e,6,l)&&(p=!0),d>7&&Ds(t,e,7,h)&&(p=!0),d>8&&Ds(t,e,8,u)&&(p=!0),d>9&&Ds(t,e,9,c)&&(p=!0),p}(t,e,n,i,s,o,r,a,l,h,u,c);case 2:return function(t,e,n,i,s,o,r,a,l,h,u,c){let d=!1;const p=e.bindings,m=p.length;if(m>0&&ns(t,e,0,n)&&(d=!0),m>1&&ns(t,e,1,i)&&(d=!0),m>2&&ns(t,e,2,s)&&(d=!0),m>3&&ns(t,e,3,o)&&(d=!0),m>4&&ns(t,e,4,r)&&(d=!0),m>5&&ns(t,e,5,a)&&(d=!0),m>6&&ns(t,e,6,l)&&(d=!0),m>7&&ns(t,e,7,h)&&(d=!0),m>8&&ns(t,e,8,u)&&(d=!0),m>9&&ns(t,e,9,c)&&(d=!0),d){let d=e.text.prefix;m>0&&(d+=Uo(n,p[0])),m>1&&(d+=Uo(i,p[1])),m>2&&(d+=Uo(s,p[2])),m>3&&(d+=Uo(o,p[3])),m>4&&(d+=Uo(r,p[4])),m>5&&(d+=Uo(a,p[5])),m>6&&(d+=Uo(l,p[6])),m>7&&(d+=Uo(h,p[7])),m>8&&(d+=Uo(u,p[8])),m>9&&(d+=Uo(c,p[9]));const f=zi(t,e.nodeIndex).renderText;t.renderer.setValue(f,d)}return d}(t,e,n,i,s,o,r,a,l,h,u,c);case 16384:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=Bi(t,e.nodeIndex),p=d.instance;let m=!1,f=void 0;const _=e.bindings.length;return _>0&&es(t,e,0,n)&&(m=!0,f=Po(t,d,e,0,n,f)),_>1&&es(t,e,1,i)&&(m=!0,f=Po(t,d,e,1,i,f)),_>2&&es(t,e,2,s)&&(m=!0,f=Po(t,d,e,2,s,f)),_>3&&es(t,e,3,o)&&(m=!0,f=Po(t,d,e,3,o,f)),_>4&&es(t,e,4,r)&&(m=!0,f=Po(t,d,e,4,r,f)),_>5&&es(t,e,5,a)&&(m=!0,f=Po(t,d,e,5,a,f)),_>6&&es(t,e,6,l)&&(m=!0,f=Po(t,d,e,6,l,f)),_>7&&es(t,e,7,h)&&(m=!0,f=Po(t,d,e,7,h,f)),_>8&&es(t,e,8,u)&&(m=!0,f=Po(t,d,e,8,u,f)),_>9&&es(t,e,9,c)&&(m=!0,f=Po(t,d,e,9,c,f)),f&&p.ngOnChanges(f),65536&e.flags&&Fi(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),m}(t,e,n,i,s,o,r,a,l,h,u,c);case 32:case 64:case 128:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings;let p=!1;const m=d.length;if(m>0&&ns(t,e,0,n)&&(p=!0),m>1&&ns(t,e,1,i)&&(p=!0),m>2&&ns(t,e,2,s)&&(p=!0),m>3&&ns(t,e,3,o)&&(p=!0),m>4&&ns(t,e,4,r)&&(p=!0),m>5&&ns(t,e,5,a)&&(p=!0),m>6&&ns(t,e,6,l)&&(p=!0),m>7&&ns(t,e,7,h)&&(p=!0),m>8&&ns(t,e,8,u)&&(p=!0),m>9&&ns(t,e,9,c)&&(p=!0),p){const p=ji(t,e.nodeIndex);let f;switch(201347067&e.flags){case 32:f=new Array(d.length),m>0&&(f[0]=n),m>1&&(f[1]=i),m>2&&(f[2]=s),m>3&&(f[3]=o),m>4&&(f[4]=r),m>5&&(f[5]=a),m>6&&(f[6]=l),m>7&&(f[7]=h),m>8&&(f[8]=u),m>9&&(f[9]=c);break;case 64:f={},m>0&&(f[d[0].name]=n),m>1&&(f[d[1].name]=i),m>2&&(f[d[2].name]=s),m>3&&(f[d[3].name]=o),m>4&&(f[d[4].name]=r),m>5&&(f[d[5].name]=a),m>6&&(f[d[6].name]=l),m>7&&(f[d[7].name]=h),m>8&&(f[d[8].name]=u),m>9&&(f[d[9].name]=c);break;case 128:const t=n;switch(m){case 1:f=t.transform(n);break;case 2:f=t.transform(i);break;case 3:f=t.transform(i,s);break;case 4:f=t.transform(i,s,o);break;case 5:f=t.transform(i,s,o,r);break;case 6:f=t.transform(i,s,o,r,a);break;case 7:f=t.transform(i,s,o,r,a,l);break;case 8:f=t.transform(i,s,o,r,a,l,h);break;case 9:f=t.transform(i,s,o,r,a,l,h,u);break;case 10:f=t.transform(i,s,o,r,a,l,h,u,c)}}p.value=f}return p}(t,e,n,i,s,o,r,a,l,h,u,c);default:throw"unreachable"}}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let i=!1;for(let s=0;s<n.length;s++)Ds(t,e,s,n[s])&&(i=!0);return i}(t,e,n);case 2:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){let s="";for(let t=0;t<n.length;t++)s+=Uo(n[t],i[t]);s=e.text.prefix+s;const o=zi(t,e.nodeIndex).renderText;t.renderer.setValue(o,s)}return s}(t,e,n);case 16384:return function(t,e,n){const i=Bi(t,e.nodeIndex),s=i.instance;let o=!1,r=void 0;for(let a=0;a<n.length;a++)es(t,e,a,n[a])&&(o=!0,r=Po(t,i,e,a,n[a],r));return r&&s.ngOnChanges(r),65536&e.flags&&Fi(t,256,e.nodeIndex)&&s.ngOnInit(),262144&e.flags&&s.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){const s=ji(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let e=0;e<n.length;e++)o[i[e].name]=n[e];break;case 128:const t=n[0],s=n.slice(1);o=t.transform(...s)}s.value=o}return s}(t,e,n);default:throw"unreachable"}}(t,e,i)}function ir(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const i=e.nodes[n];if(4&i.flags){const e=Vi(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const i=e[n];i.state|=32,os(i,t)}}else 0==(4&i.childFlags)&&(n+=i.childCount)}}function sr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;d>0&&is(t,e,0,n),d>1&&is(t,e,1,i),d>2&&is(t,e,2,s),d>3&&is(t,e,3,o),d>4&&is(t,e,4,r),d>5&&is(t,e,5,a),d>6&&is(t,e,6,l),d>7&&is(t,e,7,h),d>8&&is(t,e,8,u),d>9&&is(t,e,9,c)}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){for(let i=0;i<n.length;i++)is(t,e,i,n[i])}(t,e,i),!1}function or(t,e){if(Hi(t,e.nodeIndex).dirty)throw Ui(Zi.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function rr(t){if(!(128&t.state)){if(hr(t,ar.Destroy),lr(t,ar.Destroy),Mo(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=as(t);if(e){const n=e.template._projectedViews;n&&(Us(n,n.indexOf(t)),Zi.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Vi(t,n).renderElement):2&e.flags?t.renderer.destroyNode(zi(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Hi(t,n).destroy()}}(t),cs(t)&&t.renderer.destroy(),t.state|=128}}const ar=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function lr(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];33554432&s.flags?ur(Vi(t,i).componentView,e):0==(33554432&s.childFlags)&&(i+=s.childCount)}}function hr(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];if(16777216&s.flags){const n=Vi(t,i).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)ur(n[t],e)}else 0==(16777216&s.childFlags)&&(i+=s.childCount)}}function ur(t,e){const n=t.state;switch(e){case ar.CheckNoChanges:0==(128&n)&&(12==(12&n)?tr(t):64&n&&cr(t,ar.CheckNoChangesProjectedViews));break;case ar.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?tr(t):64&n&&cr(t,e));break;case ar.CheckAndUpdate:0==(128&n)&&(12==(12&n)?er(t):64&n&&cr(t,ar.CheckAndUpdateProjectedViews));break;case ar.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?er(t):64&n&&cr(t,e));break;case ar.Destroy:rr(t);break;case ar.CreateViewNodes:Jo(t)}}function cr(t,e){hr(t,e),lr(t,e)}function dr(t,e,n,i){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const s=t.def.nodes.length;for(let o=0;o<s;o++){const s=t.def.nodes[o];if(s.flags&e&&s.flags&n)switch(Zi.setCurrentNode(t,s.nodeIndex),i){case 0:No(t,s);break;case 1:or(t,s)}s.childFlags&e&&s.childFlags&n||(o+=s.childCount)}}let pr=!1;function mr(t,e,n,i,s,o){return Ko(_r(t,s,s.injector.get(Tn),e,n),i,o)}function fr(t,e,n,i,s,o){const r=s.injector.get(Tn),a=_r(t,s,new Qr(r),e,n),l=kr(i);return Kr(Dr.create,Ko,null,[a,l,o])}function _r(t,e,n,i,s){const o=e.injector.get(Ri),r=e.injector.get(he);return{ngModule:e,injector:t,projectableNodes:i,selectorOrNode:s,sanitizer:o,rendererFactory:n,renderer:n.createRenderer(null,null),errorHandler:r}}function gr(t,e,n,i){const s=kr(n);return Kr(Dr.create,Wo,null,[t,e,s,i])}function yr(t,e,n,i){return n=xr.get(e.element.componentProvider.provider.token)||kr(n),Kr(Dr.create,Yo,null,[t,e,n,i])}function vr(t,e,n,i){return ro(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===br.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const i=br.get(t.token);3840&t.flags&&i&&(e=!0,n=n||i.deprecatedBehavior)}),t.modules.forEach(t=>{wr.forEach((i,s)=>{s.ngInjectableDef.providedIn===t&&(e=!0,n=n||i.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const i=t.providers[e];n&&(i.flags|=4096);const s=br.get(i.token);s&&(i.flags=-3841&i.flags|s.flags,i.deps=fs(s.deps),i.value=s.value)}if(wr.size>0){let e=new Set(t.modules);wr.forEach((i,s)=>{if(e.has(s.ngInjectableDef.providedIn)){let e={token:s,flags:i.flags|(n?4096:0),deps:fs(i.deps),value:i.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Ki(s)]=e}})}}(t=t.factory(()=>qi)),t):t}(i))}const br=new Map,wr=new Map,xr=new Map;function Er(t){br.set(t.token,t),"function"==typeof t.token&&t.token.ngInjectableDef&&"function"==typeof t.token.ngInjectableDef.providedIn&&wr.set(t.token,t)}function Cr(t,e){const n=ys(ys(e.viewDefFactory).nodes[0].element.componentView);xr.set(t,n)}function Lr(){br.clear(),wr.clear(),xr.clear()}function kr(t){if(0===br.size)return t;const e=function(t){const e=[];let n=null;for(let i=0;i<t.nodes.length;i++){const s=t.nodes[i];1&s.flags&&(n=s),n&&3840&s.flags&&br.has(s.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>qi);for(let i=0;i<e.length;i++)n(t,e[i]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=br.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=fs(n.deps),t.value=n.value)}}}}function Sr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return nr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Tr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return sr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Ir(t){return Kr(Dr.detectChanges,er,null,[t])}function Pr(t){return Kr(Dr.checkNoChanges,tr,null,[t])}function Mr(t){return Kr(Dr.destroy,rr,null,[t])}const Dr=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let Ar,Or,Rr;function Nr(t,e){Or=t,Rr=e}function Fr(t,e,n,i){return Nr(t,e),Kr(Dr.handleEvent,t.def.handleEvent,null,[t,e,n,i])}function zr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,Gr(t,0)),t.def.updateDirectives(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),16384&o.flags&&Nr(t,Gr(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Vr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,$r(t,0)),t.def.updateRenderer(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),3&o.flags&&Nr(t,$r(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Br(t,e,n,i){if(nr(t,e,n,...i)){const s=1===n?i[0]:i;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const i=e.bindings[t],o=s[t];8&i.flags&&(n[Hr(i.nonMinifiedName)]=Ur(o))}const i=e.parent,o=Vi(t,i.nodeIndex).renderElement;if(i.element.name)for(let e in n){const i=n[e];null!=i?t.renderer.setAttribute(o,e,i):t.renderer.removeAttribute(o,e)}else t.renderer.setValue(o,`bindings=${JSON.stringify(n,null,2)}`)}}}function jr(t,e,n,i){sr(t,e,n,...i)}function Hr(t){return`ng-reflect-${t=t.replace(/[$@]/g,"_").replace(Zr,(...t)=>"-"+t[1].toLowerCase())}`}const Zr=/([A-Z])/g;function Ur(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){return"[ERROR] Exception while trying to serialize the value"}}function Gr(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function $r(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class qr{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,i=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&i;)n=ls(i),i=i.parent;this.elDef=n,this.elView=i}get elOrCompView(){return Vi(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return eo(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){Wr(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&Wr(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!cs(t);)t=t.parent;return t.parent?Vi(t.parent,ls(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?hs(this.view,this.nodeDef):hs(this.elView,this.elDef)}logError(t,...e){let n,i;2&this.nodeDef.flags?(n=this.view.def,i=this.nodeDef.nodeIndex):(n=this.elView.def,i=this.elDef.nodeIndex);const s=function(t,e){let n=-1;for(let i=0;i<=e;i++)3&t.nodes[i].flags&&n++;return n}(n,i);let o=-1;n.factory(()=>++o===s?t.error.bind(t,...e):qi),o<s&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function Wr(t,e,n){for(let i in e.references)n[i]=zo(t,e,e.references[i])}function Kr(t,e,n,i){const s=Ar,o=Or,r=Rr;try{Ar=t;const a=e.apply(n,i);return Or=o,Rr=r,Ar=s,a}catch(t){if(re(t)||!Or)throw t;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Gi(t,e),t}(t,Yr())}}function Yr(){return Or?new qr(Or,Rr):null}class Qr{constructor(t){this.delegate=t}createRenderer(t,e){return new Xr(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class Xr{constructor(t){this.delegate=t,this.data=this.delegate.data}destroyNode(t){!function(t){Vn.delete(t.nativeNode)}(Bn(t)),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),i=Yr();if(i){const e=new zn(n,null,i);e.name=t,jn(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}appendChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.addChild(i),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const i=Bn(t),s=Bn(e),o=Bn(n);i&&s&&i instanceof zn&&i.insertBefore(o,s),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.removeChild(i),this.delegate.removeChild(t,e)}selectRootElement(t){const e=this.delegate.selectRootElement(t),n=Yr();return n&&jn(new zn(e,null,n)),e}setAttribute(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.attributes[i?i+":"+e:e]=n),this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.styles[e]=n),this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const i=Bn(t);i&&i.listeners.push(new Nn(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}"undefined"==typeof ngDevMode&&("undefined"!=typeof window&&(window.ngDevMode=!0),"undefined"!=typeof self&&(self.ngDevMode=!0),"undefined"!=typeof global&&(global.ngDevMode=!0));const Jr=Element.prototype,ta=Jr.matches||Jr.matchesSelector||Jr.mozMatchesSelector||Jr.msMatchesSelector||Jr.oMatchesSelector||Jr.webkitMatchesSelector,ea={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return ea.schedule(t,0);if(void 0===window.requestAnimationFrame)return ea.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};function na(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(e,n){return ta.call(t,n)}(0,e)||(i=n,0))),i}const ia=10;class sa{constructor(t,e){this.component=t,this.injector=e,this.componentFactory=e.get(We).resolveComponentFactory(t)}create(t){return new oa(this.componentFactory,t)}}class oa{constructor(t,e){this.componentFactory=t,this.injector=e,this.inputChanges=null,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.uninitializedInputs=new Set}connect(t){if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);this.componentRef||this.initializeComponent(t)}disconnect(){this.componentRef&&null===this.scheduledDestroyFn&&(this.scheduledDestroyFn=ea.schedule(()=>{this.componentRef&&(this.componentRef.destroy(),this.componentRef=null)},ia))}getInputValue(t){return this.componentRef?this.componentRef.instance[t]:this.initialInputValues.get(t)}setInputValue(t,e){(function(t,e){return t===e||t!=t&&e!=e})(e,this.getInputValue(t))||(this.componentRef?(this.recordInputChange(t,e),this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e))}initializeComponent(t){const e=Nt.create({providers:[],parent:this.injector}),n=function(e,n){const i=t.childNodes,s=n.map(()=>[]);let o=-1;n.some((t,e)=>"*"===t&&(o=e,!0));for(let t=0,r=i.length;t<r;++t){const e=i[t],r=na(e,n,o);-1!==r&&s[r].push(e)}return s}(0,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,n,t),this.implementsOnChanges=function(t){return"function"==typeof t}(this.componentRef.instance.ngOnChanges),this.initializeInputs(),this.initializeOutputs(),this.detectChanges(),this.injector.get(kn).attachView(this.componentRef.hostView)}initializeInputs(){this.componentFactory.inputs.forEach(({propName:t})=>{const e=this.initialInputValues.get(t);e?this.setInputValue(t,e):this.uninitializedInputs.add(t)}),this.initialInputValues.clear()}initializeOutputs(){const t=this.componentFactory.outputs.map(({propName:t,templateName:e})=>this.componentRef.instance[t].pipe(j(t=>({name:e,value:t}))));this.events=Q(...t)}callNgOnChanges(){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,this.componentRef.instance.ngOnChanges(t)}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ea.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(this.componentRef&&!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.uninitializedInputs.has(t);this.uninitializedInputs.delete(t);const s=i?void 0:this.getInputValue(t);this.inputChanges[t]=new Un(s,e,i)}detectChanges(){this.componentRef&&(this.callNgOnChanges(),this.componentRef.changeDetectorRef.detectChanges())}}class ra extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class aa{constructor(){this.layers_to_add=["osm"],this.allow_edit_drawn_items=!0,this.zoom_init=4,this.lat_lng_init=[46.5,2.9],this.elevation_provider="openelevation",this.geolocation_provider="osm",this.location=new on,this._osm_class_filters=[]}set layer(t){this.layers_to_add=[t]}set osm_class_filter(t){this._osm_class_filters=[t]}set marker(t){"true"===t&&(this._marker=!0)}set polyline(t){"true"===t&&(this._polyline=!0)}set polygon(t){"true"===t&&(this._polygon=!0)}set lat_init(t){this.lat_lng_init[0]=t}set lng_init(t){this.lat_lng_init[1]=t}set get_osm_simple_line(t){"true"===t&&(this._get_osm_simple_line=!0)}set show_lat_lng_elevation_inputs(t){"true"===t&&(this._show_lat_lng_elevation_inputs=!0)}newLocation(t){this.location.emit(t)}}class la{constructor(t){this.injector=t;const e=function(t,e){const n=function(t,n){return e.injector.get(We).resolveComponentFactory(t).inputs}(t),i=e.strategyFactory||new sa(t,e.injector),s=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)]=t}),e}(n);class o extends ra{constructor(t){super(),this.ngElementStrategy=i.create(t||e.injector)}attributeChangedCallback(t,n,o,r){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.setInputValue(s[t],o)}connectedCallback(){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.connect(this),this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}disconnectedCallback(){this.ngElementStrategy&&this.ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}}return o.observedAttributes=Object.keys(s),n.map(({propName:t})=>t).forEach(t=>{Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(aa,{injector:this.injector});customElements.define("tb-geolocation-element",e)}ngDoBootstrap(){}}class ha{}class ua{}const ca="*";function da(t,e=null){return{type:2,steps:t,options:e}}function pa(t){return{type:6,styles:t,offset:null}}function ma(t){Promise.resolve(null).then(t)}class fa{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ma(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class _a{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const s=this.players.length;0==s?ma(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==s&&this._onFinish()}),t.onDestroy(()=>{++n==s&&this._onDestroy()}),t.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const ga="!";function ya(t){return null!=t&&"false"!==`${t}`}function va(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function ba(t){return Array.isArray(t)?t:[t]}function wa(t){return null==t?"":"string"==typeof t?t:`${t}px`}const xa=9,Ea=13,Ca=27,La=32,ka=37,Sa=38,Ta=39,Ia=40,Pa=48,Ma=57,Da=65,Aa=90;class Oa{}const Ra=void 0;var Na=["en",[["a","p"],["AM","PM"],Ra],[["AM","PM"],Ra,Ra],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ra,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ra,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ra,"{1} 'at' {0}",Ra],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];const Fa={},za=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),Va=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),Ba=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function ja(t,e){const n=Ha(t),i=n[13][e];if(void 0===i){if(e===Ba.CurrencyDecimal)return n[13][Ba.Decimal];if(e===Ba.CurrencyGroup)return n[13][Ba.Group]}return i}function Ha(t){const e=t.toLowerCase().replace(/_/g,"-");let n=Fa[e];if(n)return n;const i=e.split("-")[0];if(n=Fa[i])return n;if("en"===i)return Na;throw new Error(`Missing locale data for the locale "${t}".`)}const Za=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ua=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ga=22,$a=".",qa="0",Wa=";",Ka=",",Ya="#";function Qa(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const Xa=new rt("UseV4Plurals");class Ja{}class tl extends Ja{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Ha(t)[18]}(e||this.locale)(t)){case Va.Zero:return"zero";case Va.One:return"one";case Va.Two:return"two";case Va.Few:return"few";case Va.Many:return"many";default:return"other"}}}function el(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class nl{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._initialClasses=[]}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Gn(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${bt(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class il{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class sl{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._differ=null}set ngForTrackBy(t){bn()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngOnChanges(t){if("ngForOf"in t){const e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}}ngDoCheck(){if(this._differ){const t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new il(null,this.ngForOf,-1,-1),i),s=new ol(t,n);e.push(s)}else if(null==i)this._viewContainer.remove(n);else{const s=this._viewContainer.get(n);this._viewContainer.move(s,i);const o=new ol(t,s);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,i=this._viewContainer.length;n<i;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=i}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}}class ol{constructor(t,e){this.record=t,this.view=e}}class rl{constructor(t,e){this._viewContainer=t,this._context=new al,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class al{constructor(){this.$implicit=null,this.ngIf=null}}function ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${bt(e)}'.`)}class hl{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class ul{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class cl{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new hl(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}function dl(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${bt(t)}'`)}const pl=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ml={yMMMdjms:Cl(El([wl("year",1),xl("month",3),wl("day",1),wl("hour",1),wl("minute",1),wl("second",1)])),yMdjm:Cl(El([wl("year",1),wl("month",1),wl("day",1),wl("hour",1),wl("minute",1)])),yMMMMEEEEd:Cl(El([wl("year",1),xl("month",4),xl("weekday",4),wl("day",1)])),yMMMMd:Cl(El([wl("year",1),xl("month",4),wl("day",1)])),yMMMd:Cl(El([wl("year",1),xl("month",3),wl("day",1)])),yMd:Cl(El([wl("year",1),wl("month",1),wl("day",1)])),jms:Cl(El([wl("hour",1),wl("second",1),wl("minute",1)])),jm:Cl(El([wl("hour",1),wl("minute",1)]))},fl={yyyy:Cl(wl("year",4)),yy:Cl(wl("year",2)),y:Cl(wl("year",1)),MMMM:Cl(xl("month",4)),MMM:Cl(xl("month",3)),MM:Cl(wl("month",2)),M:Cl(wl("month",1)),LLLL:Cl(xl("month",4)),L:Cl(xl("month",1)),dd:Cl(wl("day",2)),d:Cl(wl("day",1)),HH:_l(gl(Cl(bl(wl("hour",2),!1)))),H:gl(Cl(bl(wl("hour",1),!1))),hh:_l(gl(Cl(bl(wl("hour",2),!0)))),h:gl(Cl(bl(wl("hour",1),!0))),jj:Cl(wl("hour",2)),j:Cl(wl("hour",1)),mm:_l(Cl(wl("minute",2))),m:Cl(wl("minute",1)),ss:_l(Cl(wl("second",2))),s:Cl(wl("second",1)),sss:Cl(wl("second",3)),EEEE:Cl(xl("weekday",4)),EEE:Cl(xl("weekday",3)),EE:Cl(xl("weekday",2)),E:Cl(xl("weekday",1)),a:function(t){return function(e,n){return t(e,n).split(" ")[1]}}(Cl(bl(wl("hour",1),!0))),Z:vl("short"),z:vl("long"),ww:Cl({}),w:Cl({}),G:Cl(xl("era",1)),GG:Cl(xl("era",2)),GGG:Cl(xl("era",3)),GGGG:Cl(xl("era",4))};function _l(t){return function(e,n){const i=t(e,n);return 1==i.length?"0"+i:i}}function gl(t){return function(e,n){return t(e,n).split(" ")[0]}}function yl(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function vl(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const i=yl(t,n,e);return i?i.substring(3):""}}function bl(t,e){return t.hour12=e,t}function wl(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function xl(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function El(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function Cl(t){return(e,n)=>yl(e,n,t)}const Ll=new Map;class kl{static format(t,e,n){return function(t,e,n){const i=ml[t];if(i)return i(e,n);const s=t;let o=Ll.get(s);if(!o){let e;o=[],pl.exec(t);let n=t;for(;n;)(e=pl.exec(n))?n=(o=o.concat(e.slice(1))).pop():(o.push(n),n=null);Ll.set(s,o)}return o.reduce((t,i)=>{const s=fl[i];return t+(s?s(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(i))},"")}(n,t,e)}}class Sl{constructor(t){this._locale=t}transform(t,e="mediumDate"){if(null==t||""===t||t!=t)return null;let n;if("string"==typeof t&&(t=t.trim()),Tl(t))n=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,i,s]=t.split("-").map(t=>parseInt(t,10));n=new Date(e,i-1,s)}else n=new Date(t);else n=new Date(parseFloat(t));if(!Tl(n)){let e;if("string"!=typeof t||!(e=t.match(Za)))throw dl(Sl,t);n=function(t){const e=new Date(0);let n=0,i=0;const s=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),i=Number(t[9]+t[11])),s.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const r=Number(t[4]||0)-n,a=Number(t[5]||0)-i,l=Number(t[6]||0),h=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,r,a,l,h),e}(e)}return kl.format(n,this._locale,Sl._ALIASES[e]||e)}}function Tl(t){return t instanceof Date&&!isNaN(t.valueOf())}Sl._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"};const Il=new class{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}},Pl=new class{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}};class Ml{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,Zn.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Pe(t))return Il;if(Me(t))return Pl;throw dl(Ml,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Dl{constructor(t){this._locale=t}transform(t,e,n){if(function(t){return null==t||""===t||t!=t}(t))return null;n=n||this._locale;try{return function(t,e,n){return function(t,e,n,i,s,o,r=!1){let a="",l=!1;if(isFinite(t)){let h=function(e){let n,i,s,o,r,a=Math.abs(t)+"",l=0;for((i=a.indexOf($a))>-1&&(a=a.replace($a,"")),(s=a.search(/e/i))>0?(i<0&&(i=s),i+=+a.slice(s+1),a=a.substring(0,s)):i<0&&(i=a.length),s=0;a.charAt(s)===qa;s++);if(s===(r=a.length))n=[0],i=1;else{for(r--;a.charAt(r)===qa;)r--;for(i-=s,n=[],o=0;s<=r;s++,o++)n[o]=Number(a.charAt(s))}return i>Ga&&(n=n.splice(0,Ga-1),l=i-1,i=1),{digits:n,exponent:l,integerLen:i}}();r&&(h=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(h));let u=e.minInt,c=e.minFrac,d=e.maxFrac;if(o){const t=o.match(Ua);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=Qa(e)),null!=n&&(c=Qa(n)),null!=i?d=Qa(i):null!=n&&c>d&&(d=c)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,s=i.length-t.integerLen;const o=Math.min(Math.max(e,s),n);let r=o+t.integerLen,a=i[r];if(r>0){i.splice(Math.max(t.integerLen,r));for(let t=r;t<i.length;t++)i[t]=0}else{s=Math.max(0,s),t.integerLen=1,i.length=Math.max(1,r=o+1),i[0]=0;for(let t=1;t<r;t++)i[t]=0}if(a>=5)if(r-1<0){for(let e=0;e>r;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[r-1]++;for(;s<Math.max(0,o);s++)i.push(0);let l=0!==o;const h=e+t.integerLen,u=i.reduceRight(function(t,e,n,i){return i[n]=(e+=t)<10?e:e-10,l&&(0===i[n]&&n>=h?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(h,c,d);let p=h.digits,m=h.integerLen;const f=h.exponent;let _=[];for(l=p.every(t=>!t);m<u;m++)p.unshift(0);for(;m<0;m++)p.unshift(0);m>0?_=p.splice(m,p.length):(_=p,p=[0]);const g=[];for(p.length>=e.lgSize&&g.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)g.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&g.unshift(p.join("")),a=g.join(ja(n,i)),_.length&&(a+=ja(n,s)+_.join("")),f&&(a+=ja(n,Ba.Exponential)+"+"+f)}else a=ja(n,Ba.Infinity);return t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(Wa),s=i[0],o=i[1],r=-1!==s.indexOf($a)?s.split($a):[s.substring(0,s.lastIndexOf(qa)+1),s.substring(s.lastIndexOf(qa)+1)],a=r[0],l=r[1]||"";n.posPre=a.substr(0,a.indexOf(Ya));for(let u=0;u<l.length;u++){const t=l.charAt(u);t===qa?n.minFrac=n.maxFrac=u+1:t===Ya?n.maxFrac=u+1:n.posSuf+=t}const h=a.split(Ka);if(n.gSize=h[1]?h[1].length:0,n.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,o){const t=s.length-n.posPre.length-n.posSuf.length,e=o.indexOf(Ya);n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}(function(t,e){return Ha(t)[14][e]}(e,za.Decimal),ja(e,Ba.MinusSign)),e,Ba.Group,Ba.Decimal,n)}(function(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}(t),n,e)}catch(t){throw dl(Dl,t.message)}}}class Al{}const Ol=new rt("DocumentToken"),Rl="browser",Nl="undefined"!=typeof Intl&&Intl.v8BreakIterator;class Fl{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function(t){return t===Rl}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Nl)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}let zl,Vl;function Bl(){if(null==zl&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>zl=!0}))}finally{zl=zl||!1}return zl}Fl.ngInjectableDef=ot({factory:function(){return new Fl(te(ze,8))},token:Fl,providedIn:"root"});const jl=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Hl(){if(Vl)return Vl;if("object"!=typeof document||!document)return Vl=new Set(jl);let t=document.createElement("input");return Vl=new Set(jl.filter(e=>(t.setAttribute("type",e),t.type===e)))}class Zl{}const Ul={};class Gl{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $l(t,this.resultSelector))}}class $l extends B{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(Ul),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(V(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,i,s){const o=this.values,r=this.toRespond?o[n]===Ul?--this.toRespond:this.toRespond:0;o[n]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function ql(t){return e=>e.lift(new Wl(t))}class Wl{constructor(t){this.notifier=t}call(t,e){const n=new Kl(t),i=V(n,this.notifier);return i&&!i.closed?(n.add(i),e.subscribe(n)):n}}class Kl extends B{constructor(t){super(t)}notifyNext(t,e,n,i,s){this.complete()}notifyComplete(){}}function Yl(t){const e=new x(e=>{e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}const Ql=new x(t=>t.complete());function Xl(t){return t?function(t){return new x(e=>t.schedule(()=>e.complete()))}(t):Ql}function Jl(...t){let e=t[t.length-1];switch(I(e)?t.pop():e=void 0,t.length){case 0:return Xl(e);case 1:return e?U(t,e):Yl(t[0]);default:return U(t,e)}}function th(...t){return e=>{let n=t[t.length-1];I(n)?t.pop():n=null;const i=t.length;return function(...t){return 1===t.length||2===t.length&&I(t[1])?G(t[0]):Y(1)(Jl(...t))}(1!==i||n?i>0?U(t,n):Xl(n):Yl(t[0]),e)}}const eh=new Set;let nh;class ih{constructor(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):sh}matchMedia(t){return this.platform.WEBKIT&&function(t){if(!eh.has(t))try{nh||((nh=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(nh)),nh.sheet&&(nh.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),eh.add(t))}catch(t){console.error(t)}}(t),this._matchMedia(t)}}function sh(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}ih.ngInjectableDef=ot({factory:function(){return new ih(te(Fl))},token:ih,providedIn:"root"});class oh{constructor(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new S}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return rh(ba(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){return function(...t){let e=null,n=null;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),U(t,n).lift(new Gl(e))}(rh(ba(t)).map(t=>this._registerQuery(t).observable)).pipe(j(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(t=>{e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this.mediaMatcher.matchMedia(t),n={observable:function t(e,n,s){return s?t(e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(t=>{const s=(...e)=>t.next(1===e.length?e[0]:e);let o;try{o=e(s)}catch(e){return void t.error(e)}if(i(n))return()=>n(s,o)})}(t=>{e.addListener(e=>this.zone.run(()=>t(e)))},t=>{e.removeListener(e=>this.zone.run(()=>t(e)))}).pipe(ql(this._destroySubject),th(e),j(e=>({query:t,matches:e.matches}))),mql:e};return this._queries.set(t,n),n}}function rh(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}oh.ngInjectableDef=ot({factory:function(){return new oh(te(ih),te(rn))},token:oh,providedIn:"root"});const ah={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 1919px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function lh(t,e,n,s){return i(n)&&(s=n,n=void 0),s?lh(t,e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(i=>{!function t(e,n,i,s,o){let r;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,i,o),r=(()=>t.removeEventListener(n,i,o))}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,i),r=(()=>t.off(n,i))}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,i),r=(()=>t.removeListener(n,i))}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let r=0,a=e.length;r<a;r++)t(e[r],n,i,s,o)}s.add(r)}(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}Object;class hh extends f{constructor(t,e){super()}schedule(t,e=0){return this}}class uh extends hh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,i=void 0;try{this.work(t)}catch(t){n=!0,i=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}class ch{constructor(t,e=ch.now){this.SchedulerAction=t,this.now=e}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}ch.now=Date.now?Date.now:()=>+new Date;class dh extends ch{constructor(t,e=ch.now){super(t,()=>dh.delegate&&dh.delegate!==this?dh.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return dh.delegate&&dh.delegate!==this?dh.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}const ph=new dh(uh);class mh{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new fh(t,this.durationSelector))}}class fh extends B{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){const e=p(this.durationSelector)(t);if(e===u)this.destination.error(u.e);else{const t=V(this,e);t.closed?this.clearThrottle():this.add(this.throttled=t)}}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,i){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function _h(t){return!l(t)&&t-parseFloat(t)+1>=0}function gh(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function yh(t,e=ph){return function(t){return function(e){return e.lift(new mh(t))}}(()=>(function(t=0,e,n){let i=-1;return _h(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=ph),new x(e=>{const s=_h(t)?t:+t-n.now();return n.schedule(gh,s,{index:0,period:i,subscriber:e})})})(t,e))}function vh(t,e){return function(n){return n.lift(new bh(t,e))}}class bh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new wh(t,this.predicate,this.thisArg))}}class wh extends y{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)}}const xh=20;class Eh{constructor(t,e){this._ngZone=t,this._platform=e,this._scrolled=new S,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}register(t){const e=t.elementScrolled().subscribe(()=>this._scrolled.next(t));this.scrollContainers.set(t,e)}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=xh){return this._platform.isBrowser?x.create(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(yh(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Jl()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(vh(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_scrollableContainsElement(t,e){let n=e.nativeElement,i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>lh(window.document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}Eh.ngInjectableDef=ot({factory:function(){return new Eh(te(rn),te(Fl))},token:Eh,providedIn:"root"});const Ch=20;class Lh{constructor(t,e){this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(()=>Q(lh(window,"resize"),lh(window,"orientationchange"))):Jl(),this._invalidateCache=this.change().subscribe(()=>this._updateViewportSize())}ngOnDestroy(){this._invalidateCache.unsubscribe()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}}change(t=Ch){return t>0?this._change.pipe(yh(t)):this._change}_updateViewportSize(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}}}Lh.ngInjectableDef=ot({factory:function(){return new Lh(te(Fl),te(rn))},token:Lh,providedIn:"root"});class kh{}class Sh extends Error{constructor(){super("argument out of range"),this.name="ArgumentOutOfRangeError",Object.setPrototypeOf(this,Sh.prototype)}}function Th(t){return e=>0===t?Xl():e.lift(new Ih(t))}class Ih{constructor(t){if(this.total=t,this.total<0)throw new Sh}call(t,e){return e.subscribe(new Ph(t,this.total))}}class Ph extends y{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Mh(){throw Error("Host already has a portal attached")}class Dh{attach(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&Mh(),this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Ah extends Dh{constructor(t,e,n){super(),this.component=t,this.viewContainerRef=e,this.injector=n}}class Oh extends Dh{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Rh{constructor(){this._isDisposed=!1}hasAttached(){return!!this._attachedPortal}attach(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&Mh(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof Ah?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Oh?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Nh extends Rh{constructor(t,e,n,i){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i}attachComponentPortal(t){let e,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(()=>e.destroy())):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(()=>{this._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class Fh{}class zh{enable(){}disable(){}attach(){}}class Vh{constructor(t){this.scrollStrategy=new zh,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",t&&Object.keys(t).filter(e=>void 0!==t[e]).forEach(e=>this[e]=t[e])}}class Bh{constructor(t,e,n,i){this.offsetX=n,this.offsetY=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class jh{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}function Hh(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "top", "bottom" or "center".')}function Zh(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "start", "end" or "center".')}class Uh{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=wa(-this._previousScrollPosition.left),t.style.top=wa(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",i=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=i}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}function Gh(){return Error("Scroll strategy has already been attached.")}class $h{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=(()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())})}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}function qh(t,e){return e.some(e=>t.bottom<e.top||t.top>e.bottom||t.right<e.left||t.left>e.right)}function Wh(t,e){return e.some(e=>t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)}class Kh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();qh(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}class Yh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=(()=>new zh),this.close=(t=>new $h(this._scrollDispatcher,this._ngZone,this._viewportRuler,t)),this.block=(()=>new Uh(this._viewportRuler,this._document)),this.reposition=(t=>new Kh(this._scrollDispatcher,this._viewportRuler,this._ngZone,t)),this._document=i}}Yh.ngInjectableDef=ot({factory:function(){return new Yh(te(Eh),te(Lh),te(rn),te(Ol))},token:Yh,providedIn:"root"});class Qh{constructor(t){this._attachedOverlays=[],this._keydownListener=(t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEventSubscriptions>0){e[n]._keydownEvents.next(t);break}}),this._document=t}ngOnDestroy(){this._detach()}add(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()}_detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)}}Qh.ngInjectableDef=ot({factory:function(){return new Qh(te(Ol))},token:Qh,providedIn:"root"});class Xh{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t}}Xh.ngInjectableDef=ot({factory:function(){return new Xh(te(Ol))},token:Xh,providedIn:"root"});class Jh{constructor(t,e,n,i,s,o,r){this._portalOutlet=t,this._host=e,this._pane=n,this._config=i,this._ngZone=s,this._keyboardDispatcher=o,this._document=r,this._backdropElement=null,this._backdropClick=new S,this._attachments=new S,this._detachments=new S,this._keydownEventsObservable=x.create(t=>{const e=this._keydownEvents.subscribe(t);return this._keydownEventSubscriptions++,()=>{e.unsubscribe(),this._keydownEventSubscriptions--}}),this._keydownEvents=new S,this._keydownEventSubscriptions=0,i.scrollStrategy&&i.scrollStrategy.attach(this)}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1);const t=this._portalOutlet.detach();this._detachments.next(),this._keyboardDispatcher.remove(this);const e=this._ngZone.onStable.asObservable().pipe(ql(Q(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())});return t}dispose(){const t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick.asObservable()}attachments(){return this._attachments.asObservable()}detachments(){return this._detachments.asObservable()}keydownEvents(){return this._keydownEventsObservable}getConfig(){return this._config}updatePosition(){this._config.positionStrategy&&this._config.positionStrategy.apply()}updateSize(t){this._config=Object.assign({},this._config,t),this._updateElementSize()}setDirection(t){this._config=Object.assign({},this._config,{direction:t}),this._updateElementDirection()}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){const t=this._pane.style;t.width=wa(this._config.width),t.height=wa(this._config.height),t.minWidth=wa(this._config.minWidth),t.minHeight=wa(this._config.minHeight),t.maxWidth=wa(this._config.maxWidth),t.maxHeight=wa(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"auto":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",t=>this._backdropClick.next(t)),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(t){let e,n=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),this._backdropElement==t&&(this._backdropElement=null),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}}_toggleClasses(t,e,n){const i=t.classList;ba(e).forEach(t=>{n?i.add(t):i.remove(t)})}}class tu{constructor(t,e,n,i,s){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=s,this._isInitialRender=!0,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new S,this._resizeSubscription=f.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this.positionChanges=x.create(t=>{const e=this._positionChanges.subscribe(t);return this._positionChangeSubscriptions++,()=>{e.unsubscribe(),this._positionChangeSubscriptions--}}),this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>this.apply())}apply(){if(this._isDisposed||this._platform&&!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let s;for(let o of this._preferredPositions){let r=this._getOriginPoint(t,o),a=this._getOverlayPoint(r,e,o),l=this._getOverlayFit(a,e,n,o);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,r);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:o,origin:r,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(r,o)}):(!s||s.overlayFit.visibleArea<l.visibleArea)&&(s={overlayFit:l,overlayPoint:a,originPoint:r,position:o,overlayRect:e})}if(i.length){let t=null,e=-1;for(const n of i){const i=n.boundingBoxRect.width*n.boundingBoxRect.height*(n.position.weight||1);i>e&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this.detach(),this._boundingBox=null,this._positionChanges.complete(),this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){this.scrollables=t}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t instanceof Mn?t.nativeElement:t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,s=this._isRtl()?t.left:t.right;n="start"==e.originX?i:s}return{x:n,y:i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}}_getOverlayPoint(t,e,n){let i,s;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+i,y:t.y+(s="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}}_getOverlayFit(t,e,n,i){let{x:s,y:o}=t,r=this._getOffset(i,"x"),a=this._getOffset(i,"y");r&&(s+=r),a&&(o+=a);let l=0-o,h=o+e.height-n.height,u=this._subtractOverflows(e.width,0-s,s+e.width-n.width),c=this._subtractOverflows(e.height,l,h),d=u*c;return{visibleArea:d,isCompletelyWithinViewport:e.width*e.height===d,fitsInViewportVertically:c===e.height,fitsInViewportHorizontally:u==e.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,s=n.right-e.x,o=this._overlayRef.getConfig().minHeight,r=this._overlayRef.getConfig().minWidth;return(t.fitsInViewportVertically||null!=o&&o<=i)&&(t.fitsInViewportHorizontally||null!=r&&r<=s)}}_pushOverlayOnScreen(t,e){const n=this._viewportRect,i=Math.max(t.x+e.width-n.right,0),s=Math.max(t.y+e.height-n.bottom,0),o=Math.max(n.top-t.y,0),r=Math.max(n.left-t.x,0);let a,l=0;return{x:t.x+(a=e.width<=n.width?r||-i:n.left-t.x),y:t.y+(l=e.height<=n.height?o||-s:n.top-t.y)}}_applyPosition(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),this._lastPosition=t,this._positionChangeSubscriptions>0){const e=this._getScrollVisibility(),n=new jh(t,e);this._positionChanges.next(n)}this._isInitialRender=!1}_setTransformOrigin(t){if(!this._transformOriginSelector)return;const e=this._boundingBox.querySelectorAll(this._transformOriginSelector);let n,i=t.overlayY;n="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${n} ${i}`}_calculateBoundingBoxRect(t,e){const n=this._viewportRect,i=this._isRtl();let s,o,r,a,l,h;if("top"===e.overlayY)o=t.y,s=n.bottom-t.y;else if("bottom"===e.overlayY)s=n.height-(r=n.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{const e=Math.min(n.bottom-t.y,t.y-n.left),i=this._lastBoundingBoxSize.height;o=t.y-e,(s=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)h=n.right-t.x+this._viewportMargin,a=t.x-n.left;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x,t.x-n.top),i=this._lastBoundingBoxSize.width;l=t.x-e,(a=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:o,left:l,bottom:r,right:h,width:a,height:s}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;i.height=wa(n.height),i.top=wa(n.top),i.bottom=wa(n.bottom),i.width=wa(n.width),i.left=wa(n.left),i.right=wa(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=wa(t)),s&&(i.maxWidth=wa(s))}this._lastBoundingBoxSize=n,eu(this._boundingBox.style,i)}_resetBoundingBoxStyles(){eu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){eu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:""})}_setOverlayElementStyles(t,e){const n={};this._hasExactPosition()?(eu(n,this._getExactOverlayY(e,t)),eu(n,this._getExactOverlayX(e,t))):n.position="static";let i="",s=this._getOffset(e,"x"),o=this._getOffset(e,"y");s&&(i+=`translateX(${s}px) `),o&&(i+=`translateY(${o}px)`),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),eu(this._pane.style,n)}_getExactOverlayY(t,e){let n={top:null,bottom:null},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect));let s=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;return i.y-=s,"bottom"===t.overlayY?n.bottom=`${this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)}px`:n.top=wa(i.y),n}_getExactOverlayX(t,e){let n,i={left:null,right:null},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect)),"right"==(n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?i.right=`${this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)}px`:i.left=wa(s.x),i}_getScrollVisibility(){const t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Wh(t,n),isOriginOutsideView:qh(t,n),isOverlayClipped:Wh(e,n),isOverlayOutsideView:qh(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){if(!this._preferredPositions.length)throw Error("FlexibleConnectedPositionStrategy: At least one position is required.");this._preferredPositions.forEach(t=>{Zh("originX",t.originX),Hh("originY",t.originY),Zh("overlayX",t.overlayX),Hh("overlayY",t.overlayY)})}}function eu(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}class nu{constructor(t,e,n,i,s,o){this._preferredPositions=[],this._positionStrategy=new tu(n,i,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e)}get _isRtl(){return"rtl"===this._overlayRef.getDirection()}get onPositionChange(){return this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const s=new Bh(t,e,n,i);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}class iu{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add("cdk-global-overlay-wrapper")}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig();t.position=this._cssPosition,t.marginLeft="100%"===n.width?"0":this._leftOffset,t.marginTop="100%"===n.height?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,"100%"===n.width?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems="100%"===n.height?"flex-start":this._alignItems}dispose(){}}class su{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new iu}connectedTo(t,e,n){return new nu(e,n,t,this._viewportRuler,this._document)}flexibleConnectedTo(t){return new tu(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}su.ngInjectableDef=ot({factory:function(){return new su(te(Lh),te(Ol),te(Fl,8),te(Xh,8))},token:su,providedIn:"root"});let ou=0;class ru{constructor(t,e,n,i,s,o,r,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=s,this._injector=o,this._ngZone=r,this._document=a,this._directionality=l}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),s=new Vh(t);return s.direction=s.direction||this._directionality.value,new Jh(i,e,n,s,this._ngZone,this._keyboardDispatcher,this._document)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id=`cdk-overlay-${ou++}`,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(kn)),new Nh(t,this._componentFactoryResolver,this._appRef,this._injector)}}const au=new rt("cdk-connected-overlay-scroll-strategy");function lu(t){return()=>t.scrollStrategies.reposition()}class hu{}const uu=20,cu="mat-tooltip-panel";function du(t){return Error(`Tooltip position "${t}" is invalid.`)}const pu=new rt("mat-tooltip-scroll-strategy");function mu(t){return()=>t.scrollStrategies.reposition({scrollThrottle:uu})}const fu=new rt("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class _u{constructor(t,e,n,i,s,o,r,a,l,h,u){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=s,this._platform=o,this._ariaDescriber=r,this._focusMonitor=a,this._scrollStrategy=l,this._dir=h,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new S;const c=e.nativeElement;o.IOS?"INPUT"!==c.nodeName&&"TEXTAREA"!==c.nodeName||(c.style.webkitUserSelect=c.style.userSelect=""):(this._manualListeners.set("mouseenter",()=>this.show()),this._manualListeners.set("mouseleave",()=>this.hide()),this._manualListeners.forEach((t,n)=>e.nativeElement.addEventListener(n,t))),c.draggable&&"none"===c.style.webkitUserDrag&&(c.style.webkitUserDrag=""),a.monitor(c).pipe(ql(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&s.run(()=>this.show()):s.run(()=>this.hide(0))})}get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t),this._disabled&&this.hide(0)}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?`${t}`.trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._platform.IOS||(this._manualListeners.forEach((t,e)=>this._elementRef.nativeElement.removeEventListener(e,t)),this._manualListeners.clear()),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}show(t=this.showDelay){if(this.disabled||!this.message)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new Ah(gu,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_handleKeydown(t){this._isTooltipVisible()&&t.keyCode===Ca&&(t.stopPropagation(),this.hide(0))}_handleTouchend(){this.hide(this._defaultOptions.touchendHideDelay)}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8),e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);return t.withScrollableContainers(e),t.positionChanges.pipe(ql(this._destroyed)).subscribe(t=>{this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:t,panelClass:cu,scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(){const t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object.assign({},e.main,n.main),Object.assign({},e.fallback,n.fallback)])}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e||"below"==e)n={originX:"center",originY:"above"==e?"top":"bottom"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={originX:"start",originY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={originX:"end",originY:"center"}}const{x:i,y:s}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:s}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e)n={overlayX:"center",overlayY:"bottom"};else if("below"==e)n={overlayX:"center",overlayY:"top"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={overlayX:"end",overlayY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={overlayX:"start",overlayY:"center"}}const{x:i,y:s}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Th(1),ql(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}}class gu{constructor(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new S,this._isHandset=this._breakpointObserver.observe(ah.Handset)}show(t){this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._markForCheck()},t)}hide(t){this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._markForCheck()},t)}afterHidden(){return this._onHide.asObservable()}isVisible(){return"visible"===this._visibility}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}class yu{}function vu(t,e=ph){return n=>n.lift(new bu(t,e))}class bu{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wu(t,this.dueTime,this.scheduler))}}class wu extends y{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function xu(t){t.debouncedNext()}class Eu{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}Eu.ngInjectableDef=ot({factory:function(){return new Eu},token:Eu,providedIn:"root"});class Cu{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){return x.create(e=>{const n=this._observeElement(t).subscribe(e);return()=>{n.unsubscribe(),this._unobserveElement(t)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new S,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}Cu.ngInjectableDef=ot({factory:function(){return new Cu(te(Eu))},token:Cu,providedIn:"root"});class Lu{}const ku=new rt("cdk-dir-doc",{providedIn:"root",factory:function(){return te(Ol)}});class Su{constructor(t){if(this.value="ltr",this.change=new on,t){const e=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===e||"rtl"===e?e:"ltr"}}ngOnDestroy(){this.change.complete()}}Su.ngInjectableDef=ot({factory:function(){return new Su(te(ku,8))},token:Su,providedIn:"root"});class Tu{}function Iu(t,e,n){return function(i){return i.lift(new Pu(t,e,n))}}class Pu{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new Mu(t,this.nextOrObserver,this.error,this.complete))}}class Mu extends y{constructor(t,e,n,s){super(t),this._tapNext=w,this._tapError=w,this._tapComplete=w,this._tapError=n||w,this._tapComplete=s||w,i(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||w,this._tapError=e.error||w,this._tapComplete=e.complete||w)}_next(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const Du=" ";function Au(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const Ou="cdk-describedby-message-container",Ru="cdk-describedby-message",Nu="cdk-describedby-host";let Fu=0;const zu=new Map;let Vu=null;class Bu{constructor(t){this._document=t}describe(t,e){this._canBeDescribed(t,e)&&(zu.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))}removeDescription(t,e){if(!this._canBeDescribed(t,e))return;this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);const n=zu.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),Vu&&0===Vu.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${Nu}]`);for(let e=0;e<t.length;e++)this._removeCdkDescribedByReferenceIds(t[e]),t[e].removeAttribute(Nu);Vu&&this._deleteMessagesContainer(),zu.clear()}_createMessageElement(t){const e=this._document.createElement("div");e.setAttribute("id",`${Ru}-${Fu++}`),e.appendChild(this._document.createTextNode(t)),this._createMessagesContainer(),Vu.appendChild(e),zu.set(t,{messageElement:e,referenceCount:0})}_deleteMessageElement(t){const e=zu.get(t),n=e&&e.messageElement;Vu&&n&&Vu.removeChild(n),zu.delete(t)}_createMessagesContainer(){if(!Vu){const t=this._document.getElementById(Ou);t&&t.parentNode.removeChild(t),(Vu=this._document.createElement("div")).id=Ou,Vu.setAttribute("aria-hidden","true"),Vu.style.display="none",this._document.body.appendChild(Vu)}}_deleteMessagesContainer(){Vu&&Vu.parentNode&&(Vu.parentNode.removeChild(Vu),Vu=null)}_removeCdkDescribedByReferenceIds(t){const e=Au(t,"aria-describedby").filter(t=>0!=t.indexOf(Ru));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=zu.get(e);!function(t,e,n){const i=Au(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(Du)))}(t,"aria-describedby",n.messageElement.id),t.setAttribute(Nu,""),n.referenceCount++}_removeMessageReference(t,e){const n=zu.get(e);n.referenceCount--,function(t,e,n){const i=Au(t,e).filter(t=>t!=n.trim());t.setAttribute(e,i.join(Du))}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(Nu)}_isElementDescribedByMessage(t,e){const n=Au(t,"aria-describedby"),i=zu.get(e),s=i&&i.messageElement.id;return!!s&&-1!=n.indexOf(s)}_canBeDescribed(t,e){return t.nodeType===this._document.ELEMENT_NODE&&null!=e&&!!`${e}`.trim()}}Bu.ngInjectableDef=ot({factory:function(){return new Bu(te(Ol))},token:Bu,providedIn:"root"});class ju{constructor(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new S,this._typeaheadSubscription=f.EMPTY,this._vertical=!0,this._skipPredicateFn=(t=>t.disabled),this._pressedLetters=[],this.tabOut=new S,this.change=new S,t instanceof Dn&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withTypeAhead(t=200){if(this._items.length&&this._items.some(t=>"function"!=typeof t.getLabel))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Iu(t=>this._pressedLetters.push(t)),vu(t),vh(()=>this._pressedLetters.length>0),j(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n<e.length+1;n++){const i=(this._activeItemIndex+n)%e.length,s=e[i];if(!this._skipPredicateFn(s)&&0===s.getLabel().toUpperCase().trim().indexOf(t)){this.setActiveItem(i);break}}this._pressedLetters=[]}),this}setActiveItem(t){const e=this._activeItemIndex;this.updateActiveItem(t),this._activeItemIndex!==e&&this.change.next(this._activeItemIndex)}onKeydown(t){const e=t.keyCode;switch(e){case xa:return void this.tabOut.next();case Ia:if(this._vertical){this.setNextItemActive();break}return;case Sa:if(this._vertical){this.setPreviousItemActive();break}return;case Ta:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}return;case ka:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}return;default:return void(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=Da&&e<=Aa||e>=Pa&&e<=Ma)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t);this._activeItemIndex=n,this._activeItem=e[n]}updateActiveItemIndex(t){this.updateActiveItem(t)}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof Dn?this._items.toArray():this._items}}class Hu extends ju{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class Zu extends ju{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}class Uu{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(t){return null}}(t.ownerDocument.defaultView||window);if(e){const t=e&&e.nodeName.toLowerCase();if(-1===$u(e))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===t)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),i=$u(t);if(t.hasAttribute("contenteditable"))return-1!==i;if("iframe"===n)return!1;if("audio"===n){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===n){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==n||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0}isFocusable(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Gu(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)}}function Gu(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function $u(t){if(!Gu(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}Uu.ngInjectableDef=ot({factory:function(){return new Uu(te(Fl))},token:Uu,providedIn:"root"});class qu{constructor(t,e,n,i,s=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)}destroy(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",()=>this.focusLastTabbableElement())),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",()=>this.focusFirstTabbableElement()))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement()))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], `+`[cdkFocusRegion${t}], `+`[cdk-focus-${t}]`);for(let n=0;n<e.length;n++)e[n].hasAttribute(`cdk-focus-${t}`)?console.warn(`Found use of deprecated attribute 'cdk-focus-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated `+"attribute will be removed in 7.0.0.",e[n]):e[n].hasAttribute(`cdk-focus-region-${t}`)&&console.warn(`Found use of deprecated attribute 'cdk-focus-region-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated attribute `+"will be removed in 7.0.0.",e[n]);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return t?(t.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 7.0.0",t),t.focus(),!0):this.focusFirstTabbableElement()}focusFirstTabbableElement(){const t=this._getRegionBoundary("start");return t&&t.focus(),!!t}focusLastTabbableElement(){const t=this._getRegionBoundary("end");return t&&t.focus(),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=0;n<e.length;n++){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(t)return t}return null}_getLastTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=e.length-1;n>=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(t)}}class Wu{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new qu(t,this._checker,this._ngZone,this._document,e)}}Wu.ngInjectableDef=ot({factory:function(){return new Wu(te(Uu),te(rn),te(Ol))},token:Wu,providedIn:"root"});const Ku=new rt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});class Yu{constructor(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}announce(t,e="polite"){return this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(e=>{setTimeout(()=>{this._liveElement.textContent=t,e()},100)})}ngOnDestroy(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)}_createLiveElement(){const t=this._document.getElementsByClassName("cdk-live-announcer-element");for(let n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);const e=this._document.createElement("div");return e.classList.add("cdk-live-announcer-element"),e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e}}Yu.ngInjectableDef=ot({factory:function(){return new Yu(te(Ku,8),te(Ol))},token:Yu,providedIn:"root"});const Qu=650;class Xu{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=(()=>{}),this._monitoredElementCount=0}monitor(t,e=!1){if(!this._platform.isBrowser)return Jl(null);if(this._elementInfo.has(t)){let n=this._elementInfo.get(t);return n.checkChildren=e,n.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new S};this._elementInfo.set(t,n),this._incrementMonitoredElementCount();let i=e=>this._onFocus(e,t),s=e=>this._onBlur(e,t);return this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",i,!0),t.addEventListener("blur",s,!0)}),n.unlisten=(()=>{t.removeEventListener("focus",i,!0),t.removeEventListener("blur",s,!0)}),n.subject.asObservable()}stopMonitoring(t){const e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())}focusVia(t,e,n){this._setOriginForCurrentEventQueue(e),"function"==typeof t.focus&&t.focus(n)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_registerGlobalListeners(){if(!this._platform.isBrowser)return;let t=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},e=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},n=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,Qu)},i=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=(()=>{document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)})}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const n=this._elementInfo.get(e);if(!n||!n.checkChildren&&e!==t.target)return;let i=this._origin;i||(i=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,i),this._emitOrigin(n.subject,i),this._lastFocusOrigin=i}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._registerGlobalListeners()}_decrementMonitoredElementCount(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=(()=>{}))}}Xu.ngInjectableDef=ot({factory:function(){return new Xu(te(rn),te(Fl))},token:Xu,providedIn:"root"});class Ju{}let tc=null;function ec(){return tc}class nc{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}class ic extends nc{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const sc={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},oc=3,rc={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ac={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};let lc;mt.Node&&(lc=mt.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});class hc extends ic{parse(t){throw new Error("parse not implemented")}static makeCurrent(){!function(t){tc||(tc=t)}(new hc)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return sc}contains(t,e){return lc.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=e[i];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const i=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(t,e),i}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const i=this.getStyle(t,e)||"";return n?i==n:i.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,i){t.setAttributeNS(e,n,i)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===oc&&ac.hasOwnProperty(e)&&(e=ac[e]))}return rc[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=cc||(cc=document.querySelector("base"))?cc.getAttribute("href"):null;return null==e?null:function(t){return uc||(uc=document.createElement("a")),uc.setAttribute("href",t),"/"===uc.pathname.charAt(0)?uc.pathname:"/"+uc.pathname}(e)}resetBaseElement(){cc=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return el(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let uc,cc=null;const dc=Ol;function pc(){return!!window.history.pushState}class mc extends Oa{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=ec().getLocation(),this._history=ec().getHistory()}getBaseHrefFromDOM(){return ec().getBaseHref(this._doc)}onPopState(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){pc()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){pc()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}}mc.ctorParameters=(()=>[{type:void 0,decorators:[{type:Tt,args:[dc]}]}]);class fc{constructor(t){this._doc=t,this._dom=ec()}addTag(t,e=!1){return t?this._getOrCreateElement(t,e):null}addTags(t,e=!1){return t?t.reduce((t,n)=>(n&&t.push(this._getOrCreateElement(n,e)),t),[]):[]}getTag(t){return t&&this._dom.querySelector(this._doc,`meta[${t}]`)||null}getTags(t){if(!t)return[];const e=this._dom.querySelectorAll(this._doc,`meta[${t}]`);return e?[].slice.call(e):[]}updateTag(t,e){if(!t)return null;e=e||this._parseSelector(t);const n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,e=!1){if(!e){const e=this._parseSelector(t),n=this.getTag(e);if(n&&this._containsAttributes(t,n))return n}const n=this._dom.createElement("meta");this._setMetaElementAttributes(t,n);const i=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(i,n),n}_setMetaElementAttributes(t,e){return Object.keys(t).forEach(n=>this._dom.setAttribute(e,n,t[n])),e}_parseSelector(t){const e=t.name?"name":"property";return`${e}="${t[e]}"`}_containsAttributes(t,e){return Object.keys(t).every(n=>this._dom.getAttribute(e,n)===t[n])}}const _c=new rt("TRANSITION_ID"),gc=[{provide:De,useFactory:function(t,e,n){return()=>{n.get(Ae).donePromise.then(()=>{const n=ec();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[_c,dc,Nt],multi:!0}];class yc{static init(){!function(t){_n=t}(new yc)}addToWindow(t){mt.getAngularTestability=((e,n=!0)=>{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i}),mt.getAllAngularTestabilities=(()=>t.getAllTestabilities()),mt.getAllAngularRootElements=(()=>t.getAllRootElements()),mt.frameworkStabilizers||(mt.frameworkStabilizers=[]),mt.frameworkStabilizers.push(t=>{const e=mt.getAllAngularTestabilities();let n=e.length,i=!1;const s=function(e){i=i||e,0==--n&&t(i)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?ec().isShadowRoot(e)?this.findTestabilityInTree(t,ec().getHost(e),!0):this.findTestabilityInTree(t,ec().parentElement(e),!0):null}}class vc{constructor(t){this._doc=t}getTitle(){return ec().getTitle(this._doc)}setTitle(t){ec().setTitle(this._doc,t)}}function bc(t,e){"undefined"!=typeof COMPILED&&COMPILED||((mt.ng=mt.ng||{})[t]=e)}const wc={ApplicationRef:kn,NgZone:rn};function xc(t){return Bn(t)}const Ec=new rt("EventManagerPlugins");class Cc{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i<n.length;i++){const e=n[i];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class Lc{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const i=ec().getGlobalEventTarget(this._doc,t);if(!i)throw new Error(`Unsupported event target ${i} for event ${e}`);return this.addEventListener(i,e,n)}}class kc{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class Sc extends kc{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>ec().remove(t))}}const Tc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Ic=/%COMP%/g,Pc="_nghost-%COMP%",Mc="_ngcontent-%COMP%";function Dc(t,e,n){for(let i=0;i<e.length;i++){let s=e[i];Array.isArray(s)?Dc(t,s,n):(s=s.replace(Ic,t),n.push(s))}return n}function Ac(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class Oc{constructor(t,e){this.eventManager=t,this.sharedStylesHost=e,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case ee.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new zc(this.eventManager,this.sharedStylesHost,e),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case ee.Native:return new Vc(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Dc(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class Rc{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Tc[e],t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t){let e="string"==typeof t?document.querySelector(t):t;if(!e)throw new Error(`The selector "${t}" did not match any elements`);return e.textContent="",e}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=`${i}:${e}`;const s=Tc[i];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=Tc[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&In.DashCase?t.style.setProperty(e,n,i&In.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&In.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){Fc(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return Fc(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Ac(n)):this.eventManager.addEventListener(t,e,Ac(n))}}const Nc="@".charCodeAt(0);function Fc(t,e){if(t.charCodeAt(0)===Nc)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class zc extends Rc{constructor(t,e,n){super(t),this.component=n;const i=Dc(n.id,n.styles,[]);e.addStyles(i),this.contentAttr=Mc.replace(Ic,n.id),this.hostAttr=Pc.replace(Ic,n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class Vc extends Rc{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=i,this.shadowRoot=n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const s=Dc(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const t=document.createElement("style");t.textContent=s[o],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const Bc="undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t},jc=Bc("addEventListener"),Hc=Bc("removeEventListener"),Zc={},Uc="__zone_symbol__propagationStopped";let Gc;"undefined"!=typeof Zone&&Zone[Bc("BLACK_LISTED_EVENTS")]&&(Gc={});const $c=function(t){return!!Gc&&Gc.hasOwnProperty(t)},qc=function(t){const e=Zc[t.type];if(!e)return;const n=this[e];if(!n)return;const i=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[Uc];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}}},Wc={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Kc=new rt("HammerGestureConfig");class Yc{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}const Qc=["alt","control","meta","shift"],Xc={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Jc extends Lc{constructor(t){super(t)}supports(t){return null!=Jc.parseEventName(t)}addEventListener(t,e,n){const i=Jc.parseEventName(e),s=Jc.eventCallback(i.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ec().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const i=Jc._normalizeKey(e.pop());let s="";if(Qc.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s+=t+".")}),s+=i,0!=e.length||0===i.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",n=ec().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Qc.forEach(i=>{i!=n&&(0,Xc[i])(t)&&(e+=i+".")}),e+=n}static eventCallback(t,e,n){return i=>{Jc.getEventFullKey(i)===t&&n.runGuarded(()=>e(i))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class td{}class ed extends td{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case Oi.NONE:return e;case Oi.HTML:return e instanceof id?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){let n=null;try{Pi=Pi||new ci(t);let i=e?String(e):"";n=Pi.getInertBodyElement(i);let s=5,o=i;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,i=o,o=n.innerHTML,n=Pi.getInertBodyElement(i)}while(i!==o);const r=new ki,a=r.sanitizeChildren(Mi(n)||n);return bn()&&r.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}finally{if(n){const t=Mi(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}(this._doc,String(e)));case Oi.STYLE:return e instanceof sd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),function(t){if(!(t=String(t).trim()))return"";const e=t.match(Ai);return e&&mi(e[1])===e[1]||t.match(Di)&&function(t){let e=!0,n=!0;for(let i=0;i<t.length;i++){const s=t.charAt(i);"'"===s&&n?e=!e:'"'===s&&e&&(n=!n)}return e&&n}(t)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}(e));case Oi.SCRIPT:if(e instanceof od)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case Oi.URL:return e instanceof ad||e instanceof rd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),mi(String(e)));case Oi.RESOURCE_URL:if(e instanceof ad)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nd)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new id(t)}bypassSecurityTrustStyle(t){return new sd(t)}bypassSecurityTrustScript(t){return new od(t)}bypassSecurityTrustUrl(t){return new rd(t)}bypassSecurityTrustResourceUrl(t){return new ad(t)}}class nd{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class id extends nd{getTypeName(){return"HTML"}}class sd extends nd{getTypeName(){return"Style"}}class od extends nd{getTypeName(){return"Script"}}class rd extends nd{getTypeName(){return"URL"}}class ad extends nd{getTypeName(){return"ResourceURL"}}const ld=xn(oi,"browser",[{provide:ze,useValue:Rl},{provide:Fe,useValue:function(){hc.makeCurrent(),yc.init()},multi:!0},{provide:Oa,useClass:mc,deps:[dc]},{provide:dc,useFactory:function(){return document},deps:[]}]);function hd(){return new he}class ud{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:ud,providers:[{provide:Oe,useValue:t.appId},{provide:_c,useExisting:Oe},gc]}}}"undefined"!=typeof window&&window;class cd{}cd.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",cd.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",cd.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",cd.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class dd{}dd.COMPLEX="375ms",dd.ENTERING="225ms",dd.EXITING="195ms";const pd=new rt("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class md{constructor(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&bn()&&!this._isTestEnv()}_isTestEnv(){return this._window&&(this._window.__karma__||this._window.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function fd(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t)}}}function _d(t,e){return class extends t{get color(){return this._color}set color(t){const n=t||e;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),n&&this._elementRef.nativeElement.classList.add(`mat-${n}`),this._color=n)}constructor(...t){super(...t),this.color=e}}}function gd(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=ya(t)}}}class yd{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}yd.ngInjectableDef=ot({factory:function(){return new yd},token:yd,providedIn:"root"});const vd=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class bd{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=vd.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const wd={enterDuration:450,exitDuration:400},xd=800;class Ed{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._eventOptions=!!Bl()&&{passive:!0},this.onMousedown=(t=>{const e=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+xd;this._target.rippleDisabled||e||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}),this.onTouchStart=(t=>{this._target.rippleDisabled||(this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0,this.fadeInRipple(t.touches[0].clientX,t.touches[0].clientY,this._target.rippleConfig))}),this.onPointerUp=(()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===vd.VISIBLE||t.config.terminateOnPointerUp&&t.state===vd.FADING_IN)&&t.fadeOut()}))}),i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this.onMousedown),this._triggerEvents.set("mouseup",this.onPointerUp),this._triggerEvents.set("mouseleave",this.onPointerUp),this._triggerEvents.set("touchstart",this.onTouchStart),this._triggerEvents.set("touchend",this.onPointerUp))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},wd,n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const o=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),s=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+s*s)}(t,e,i),r=t-i.left,a=e-i.top,l=s.enterDuration/(n.speedFactor||1),h=document.createElement("div");h.classList.add("mat-ripple-element"),h.style.left=`${r-o}px`,h.style.top=`${a-o}px`,h.style.height=`${2*o}px`,h.style.width=`${2*o}px`,h.style.backgroundColor=n.color||null,h.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(h),window.getComputedStyle(h).getPropertyValue("opacity"),h.style.transform="scale(1)";const u=new bd(this,h,n);return u.state=vd.FADING_IN,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this.runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=vd.VISIBLE,n.persistent||t&&this._isPointerDown||u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign({},wd,t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=vd.FADING_OUT,this.runTimeoutOutsideZone(()=>{t.state=vd.HIDDEN,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,n)=>t.addEventListener(n,e,this._eventOptions))}),this._triggerElement=t)}runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,this._eventOptions)})}}const Cd=new rt("mat-ripple-global-options");class Ld{constructor(t,e,n,i,s){this._elementRef=t,this.radius=0,this.speedFactor=1,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new Ed(this,e,t,n),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp,speedFactor:this.speedFactor*(this._globalOptions.baseSpeedFactor||1)}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class kd{}class Sd{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}class Td{}const Id=fd(class{});let Pd=0;class Md extends Id{constructor(){super(...arguments),this._labelId=`mat-optgroup-label-${Pd++}`}}let Dd=0;class Ad{constructor(t,e=!1){this.source=t,this.isUserInput=e}}const Od=new rt("MAT_OPTION_PARENT_COMPONENT");class Rd{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._id=`mat-option-${Dd++}`,this._mostRecentViewValue="",this.onSelectionChange=new on,this._stateChanges=new S}get multiple(){return this._parent&&this._parent.multiple}get id(){return this._id}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=ya(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(){const t=this._getHostElement();"function"==typeof t.focus&&t.focus()}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==Ea&&t.keyCode!==La||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Ad(this,t))}}class Nd{}const Fd=new rt("mat-label-global-options");var zd=Ji({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Vd(t){return Go(2,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var i=!0,s=t.component;return"@state.start"===e&&(i=!1!==s._animationStart()&&i),"@state.done"===e&&(i=!1!==s._animationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),yo(131072,Ml,[Rn]),(t()(),Ho(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,Yi(e,0,0,io(e,2).transform(n._isHandset)).matches,n._visibility),t(e,3,0,n.message)})}var Bd=$s("mat-tooltip-component",gu,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==io(t,1)._handleBodyInteraction()&&i),i},Vd,zd)),go(1,49152,null,0,gu,[Rn,oh],null,null)],null,function(t,e){t(e,0,0,"visible"===io(e,1)._visibility?1:null)})},{},{},[]),jd=n("4R65");class Hd{}class Zd{}class Ud{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Ud?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Ud;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Ud?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;0===(t=t.filter(t=>-1===s.indexOf(t))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Gd{encodeKey(t){return $d(t)}encodeValue(t){return $d(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function $d(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class qd{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Gd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const i=t.indexOf("="),[s,o]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],r=n.get(s)||[];r.push(o),n.set(s,r)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new qd({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=null)}}function Wd(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Kd(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yd(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Qd{constructor(t,e,n,i){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,s=i):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.params&&(this.params=s.params)),this.headers||(this.headers=new Ud),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new qd,this.urlWithParams=e}serializeBody(){return null===this.body?null:Wd(this.body)||Kd(this.body)||Yd(this.body)||"string"==typeof this.body?this.body:this.body instanceof qd?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:Yd(this.body)?null:Kd(this.body)?this.body.type||null:Wd(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof qd?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,i=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,r=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let a=t.headers||this.headers,l=t.params||this.params;return void 0!==t.setHeaders&&(a=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),a)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),l)),new Qd(e,n,s,{params:l,headers:a,reportProgress:r,responseType:i,withCredentials:o})}}const Xd=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class Jd{constructor(t,e=200,n="OK"){this.headers=t.headers||new Ud,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class tp extends Jd{constructor(t={}){super(t),this.type=Xd.ResponseHeader}clone(t={}){return new tp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ep extends Jd{constructor(t={}){super(t),this.type=Xd.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ep({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class np extends Jd{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ip(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class sp{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Qd)i=t;else{let s=void 0;s=n.headers instanceof Ud?n.headers:new Ud(n.headers);let o=void 0;n.params&&(o=n.params instanceof qd?n.params:new qd({fromObject:n.params})),i=new Qd(t,e,void 0!==n.body?n.body:null,{headers:s,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=Jl(i).pipe(function(t,e){return $(t,void 0,1)}(t=>this.handler.handle(t)));if(t instanceof Qd||"events"===n.observe)return s;const o=s.pipe(vh(t=>t instanceof ep));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe(j(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe(j(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new qd).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,ip(n,e))}post(t,e,n={}){return this.request("POST",t,ip(n,e))}put(t,e,n={}){return this.request("PUT",t,ip(n,e))}}class op{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const rp=new rt("HTTP_INTERCEPTORS");class ap{intercept(t,e){return e.handle(t)}}const lp=/^\)\]\}',?\n/;class hp{}class up{constructor(){}build(){return new XMLHttpRequest}}class cp{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new x(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let s=null;const o=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,i=n.statusText||"OK",o=new Ud(n.getAllResponseHeaders()),r=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new tp({headers:o,status:e,statusText:i,url:r})},r=()=>{let{headers:i,status:s,statusText:r,url:a}=o(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let h=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(lp,"");try{l=""!==l?JSON.parse(l):null}catch(e){l=t,h&&(h=!1,l={error:e,text:l})}}h?(e.next(new ep({body:l,headers:i,status:s,statusText:r,url:a||void 0})),e.complete()):e.error(new np({error:l,headers:i,status:s,statusText:r,url:a||void 0}))},a=t=>{const i=new np({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error"});e.error(i)};let l=!1;const h=i=>{l||(e.next(o()),l=!0);let s={type:Xd.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(s.total=i.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},u=t=>{let n={type:Xd.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",r),n.addEventListener("error",a),t.reportProgress&&(n.addEventListener("progress",h),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:Xd.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("load",r),t.reportProgress&&(n.removeEventListener("progress",h),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.abort()}})}}const dp=new rt("XSRF_COOKIE_NAME"),pp=new rt("XSRF_HEADER_NAME");class mp{}class fp{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=el(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class _p{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null===i||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}class gp{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(rp,[]);this.chain=t.reduceRight((t,e)=>new op(t,e),this.backend)}return this.chain.handle(t)}}class yp{static disable(){return{ngModule:yp,providers:[{provide:_p,useClass:ap}]}}static withOptions(t={}){return{ngModule:yp,providers:[t.cookieName?{provide:dp,useValue:t.cookieName}:[],t.headerName?{provide:pp,useValue:t.headerName}:[]]}}}class vp{}function bp(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),U(t,void 0).lift(new wp(e))}class wp{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new xp(t,this.resultSelector))}}class xp extends y{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;l(t)?e.push(new Cp(t)):e.push("function"==typeof t[A]?new Ep(t[A]()):new Lp(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let i=!1;const s=[];for(let o=0;o<e;o++){let e=t[o],r=e.next();if(e.hasCompleted()&&(i=!0),r.done)return void n.complete();s.push(r.value)}this.resultSelector?this._tryresultSelector(s):n.next(s),i&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}class Ep{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class Cp{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[A](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class Lp extends B{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[A](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,i,s){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return V(this,this.observable,this,e)}}class kp{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Sp(t,this.compare,this.keySelector))}}class Sp extends y{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e=t;if(this.keySelector&&(e=p(this.keySelector)(t))===u)return this.destination.error(u.e);let n=!1;if(this.hasKey){if((n=p(this.compare)(this.key,e))===u)return this.destination.error(u.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))}}function Tp(t,e){return"function"==typeof e?n=>n.pipe(Tp((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))))):e=>e.lift(new Ip(t))}class Ip{constructor(t){this.project=t}call(t,e){return e.subscribe(new Pp(t,this.project))}}class Pp extends B{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)}_innerSub(t,e,n){const i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=V(this,t,e,n))}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}}var Mp=n("Yoyx");function Dp(...t){let e;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),0===t.length?Ql:e?Dp(t).pipe(j(t=>e(...t))):new x(e=>new Ap(e,t))}class Ap extends B{constructor(t,e){super(t),this.sources=e,this.completed=0,this.haveValues=0;const n=e.length;this.values=new Array(n);for(let i=0;i<n;i++){const t=V(this,e[i],null,i);t&&this.add(t)}}notifyNext(t,e,n,i,s){this.values[n]=e,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(t){const{destination:e,haveValues:n,values:i}=this,s=i.length;t._hasValue?(this.completed++,this.completed===s&&(n===s&&e.next(i),e.complete())):e.complete()}}class Op{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Rp extends Op{get formDirective(){return null}get path(){return null}}function Np(t){return null==t||0===t.length}const Fp=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class zp{static min(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return Np(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return Np(t.value)?null:Fp.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(Np(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return zp.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(Np(t.value))return null;const i=t.value;return e.test(i)?null:{pattern:{requiredPattern:n,actualValue:i}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return jp(function(t,n){return e.map(e=>e(t))}(t))}}static composeAsync(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return Dp(function(t,n){return e.map(e=>e(t))}(t).map(Bp)).pipe(j(jp))}}}function Vp(t){return null!=t}function Bp(t){const e=Pe(t)?G(t):t;if(!Me(e))throw new Error("Expected validator to return Promise or Observable.");return e}function jp(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}const Hp=new rt("NgValueAccessor"),Zp=new rt("CompositionEventMode");class Up{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=ec()?ec().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}function Gp(t){return t.validate?e=>t.validate(e):t}function $p(t){return t.validate?e=>t.validate(e):t}function qp(){throw new Error("unimplemented")}class Wp extends Op{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return qp()}get asyncValidator(){return qp()}}class Kp{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}const Yp={formControlName:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupName:'\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',formArrayName:'\n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',ngModelGroup:'\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',ngModelWithFormGroup:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n '};class Qp{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formControlName}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${Yp.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${Yp.ngModelGroup}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${Yp.formControlName}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formGroupName}`)}static arrayParentException(){throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formArrayName}`)}static disabledAttrWarning(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")}static ngModelWarning(t){console.warn(`\n It looks like you're using ngModel on the same form field as ${t}. \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `)}}function Xp(t,e){return[...e.path,t]}function Jp(t,e){t||im(e,"Cannot find control with"),e.valueAccessor||im(e,"No value accessor for form control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&tm(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&tm(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function tm(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function em(t,e){null==t&&im(e,"Cannot find control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator])}function nm(t){return im(t,"There is no FormControl instance attached to form control element with")}function im(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function sm(t){return null!=t?zp.compose(t.map(Gp)):null}function om(t){return null!=t?zp.composeAsync(t.map($p)):null}function rm(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!vt(e,n.currentValue)}const am=[class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=function(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=(e=>{this.value=this._getOptionValue(e),t(this.value)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=((t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)})}else e=((t,e)=>{t._setSelected(!1)});this._optionMap.forEach(e)}registerOnChange(t){this.onChange=(e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const i=t.item(e),s=this._getOptionValue(i.value);n.push(s)}}else{const t=e.options;for(let e=0;e<t.length;e++){const i=t.item(e);if(i.selected){const t=this._getOptionValue(i.value);n.push(t)}}}this.value=n,t(n)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},class{constructor(t,e,n,i){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=i,this.onChange=(()=>{}),this.onTouched=(()=>{})}ngOnInit(){this._control=this._injector.get(Wp),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=(()=>{t(this.value),this._registry.select(this)})}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')}}];function lm(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function hm(t,e){if(!e)return null;Array.isArray(e)||im(t,"Value accessor was not provided as an array for form control with");let n=void 0,i=void 0,s=void 0;return e.forEach(e=>{e.constructor===Up?n=e:function(t){return am.some(e=>t.constructor===e)}(e)?(i&&im(t,"More than one built-in value accessor matches form control with"),i=e):(s&&im(t,"More than one custom value accessor matches form control with"),s=e)}),s||i||n||(im(t,"No valid value accessor for form control with"),null)}function um(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function cm(t,e,n,i){bn()&&"never"!==i&&((null!==i&&"once"!==i||e._ngModelWarningSentOnce)&&("always"!==i||n._ngModelWarningSent)||(Qp.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}class dm extends Rp{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){}}class pm{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class mm extends pm{constructor(t){super(t)}}class fm extends pm{constructor(t){super(t)}}const _m="VALID",gm="INVALID",ym="PENDING",vm="DISABLED";function bm(t){const e=xm(t)?t.validators:t;return Array.isArray(e)?sm(e):e||null}function wm(t,e){const n=xm(e)?e.asyncValidators:t;return Array.isArray(n)?om(n):n||null}function xm(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class Em{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=(()=>{}),this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===_m}get invalid(){return this.status===gm}get pending(){return this.status==ym}get disabled(){return this.status===vm}get enabled(){return this.status!==vm}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=bm(t)}setAsyncValidators(t){this.asyncValidator=wm(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ym,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){this.status=vm,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){this.status=_m,this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==_m&&this.status!==ym||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vm:_m}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ym;const e=Bp(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof Lm?t.controls[e]||null:t instanceof km&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new on,this.statusChanges=new on}_calculateStatus(){return this._allControlsDisabled()?vm:this.errors?gm:this._anyControlsHaveStatus(ym)?ym:this._anyControlsHaveStatus(gm)?gm:_m}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){xm(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}}class Cm extends Em{constructor(t=null,e,n){super(bm(e),wm(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=(()=>{})}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class Lm extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof Cm?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,i)=>{e=e||this.contains(i)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class km extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this.controls.map(t=>t instanceof Cm?t.value:t.getRawValue())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const Sm=Promise.resolve(null);class Tm extends Rp{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new on,this.form=new Lm({},sm(t),om(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Sm.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Jp(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),um(this._directives,t)})}addFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path),n=new Lm({});em(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){Sm.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,lm(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}const Im=new rt("NgModelWithFormControlWarning");class Pm extends Wp{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new on,this._ngModelWarningSent=!1,this._rawValidators=t||[],this._rawAsyncValidators=e||[],this.valueAccessor=hm(this,n)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._isControlChanged(t)&&(Jp(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),rm(t,this.viewModel)&&(cm("formControl",Pm,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}get path(){return[]}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}Pm._ngModelWarningSentOnce=!1;class Mm extends Rp{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new on}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Jp(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){um(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,lm(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>nm(e)),e.valueAccessor.registerOnTouched(()=>nm(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&Jp(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=sm(this._validators);this.form.validator=zp.compose([this.form.validator,t]);const e=om(this._asyncValidators);this.form.asyncValidator=zp.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||Qp.missingFormException()}}class Dm extends dm{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){Om(this._parent)&&Qp.groupParentException()}}class Am extends Rp{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Xp(this.name,this._parent)}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){Om(this._parent)&&Qp.arrayParentException()}}function Om(t){return!(t instanceof Dm||t instanceof Mm||t instanceof Am)}class Rm extends Wp{constructor(t,e,n,i,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new on,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=hm(this,i)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._added||this._setUpControl(),rm(t,this.viewModel)&&(cm("formControlName",Rm,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof Dm)&&this._parent instanceof dm?Qp.ngModelGroupException():this._parent instanceof Dm||this._parent instanceof Mm||this._parent instanceof Am||Qp.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}Rm._ngModelWarningSentOnce=!1;class Nm{group(t,e=null){const n=this._reduceControls(t);return new Lm(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)}control(t,e,n){return new Cm(t,e,n)}array(t,e,n){const i=t.map(t=>this._createControl(t));return new km(i,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof Cm||t instanceof Lm||t instanceof km?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Fm{}class zm{}class Vm{static withConfig(t){return{ngModule:Vm,providers:[{provide:Im,useValue:t.warnOnNgModelWithFormControl}]}}}n("INa4");var Bm=function(){function t(){}return t.mapToArray=function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},t.handleEvent=function(t,e,n){0<e.observers.length&&t.run(function(){e.emit(n)})},t}(),jm=function(){function t(t,e){this.element=t,this.zone=e,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=Object(jd.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new on,this.zoomChange=new on,this.centerChange=new on,this.onClick=new on,this.onDoubleClick=new on,this.onMouseDown=new on,this.onMouseUp=new on,this.onMouseMove=new on,this.onMouseOver=new on,this.onMapMove=new on,this.onMapMoveStart=new on,this.onMapMoveEnd=new on,this.onMapZoom=new on,this.onMapZoomStart=new on,this.onMapZoomEnd=new on}return t.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){t.map=Object(jd.map)(t.element.nativeElement,t.options),t.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)},t.prototype.ngOnChanges=function(t){t.zoom&&t.center&&null!=this.zoom&&null!=this.center?this.setView(t.center.currentValue,t.zoom.currentValue):t.zoom?this.setZoom(t.zoom.currentValue):t.center&&this.setCenter(t.center.currentValue),t.fitBounds&&this.setFitBounds(t.fitBounds.currentValue),t.maxBounds&&this.setMaxBounds(t.maxBounds.currentValue),t.minZoom&&this.setMinZoom(t.minZoom.currentValue),t.maxZoom&&this.setMaxZoom(t.maxZoom.currentValue)},t.prototype.getMap=function(){return this.map},t.prototype.onResize=function(){this.delayResize()},t.prototype.addMapEventListeners=function(){var t=this;this.map.on("click",function(e){return Bm.handleEvent(t.zone,t.onClick,e)}),this.map.on("dblclick",function(e){return Bm.handleEvent(t.zone,t.onDoubleClick,e)}),this.map.on("mousedown",function(e){return Bm.handleEvent(t.zone,t.onMouseDown,e)}),this.map.on("mouseup",function(e){return Bm.handleEvent(t.zone,t.onMouseUp,e)}),this.map.on("mouseover",function(e){return Bm.handleEvent(t.zone,t.onMouseOver,e)}),this.map.on("mousemove",function(e){return Bm.handleEvent(t.zone,t.onMouseMove,e)}),this.map.on("zoomstart",function(e){return Bm.handleEvent(t.zone,t.onMapZoomStart,e)}),this.map.on("zoom",function(e){return Bm.handleEvent(t.zone,t.onMapZoom,e)}),this.map.on("zoomend",function(e){return Bm.handleEvent(t.zone,t.onMapZoomEnd,e)}),this.map.on("movestart",function(e){return Bm.handleEvent(t.zone,t.onMapMoveStart,e)}),this.map.on("move",function(e){return Bm.handleEvent(t.zone,t.onMapMove,e)}),this.map.on("moveend",function(e){return Bm.handleEvent(t.zone,t.onMapMoveEnd,e)}),this.map.on("zoomend moveend",function(){var e=t.map.getZoom();e!==t.zoom&&(t.zoom=e,Bm.handleEvent(t.zone,t.zoomChange,e));var n=t.map.getCenter();null==n&&null==t.center||(null!=n&&null!=t.center||n===t.center)&&n.lat===t.center.lat&&n.lng===t.center.lng||(t.center=n,Bm.handleEvent(t.zone,t.centerChange,n))})},t.prototype.doResize=function(){var t=this;this.zone.runOutsideAngular(function(){t.map.invalidateSize({})})},t.prototype.delayResize=function(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)},t.prototype.setView=function(t,e){this.map&&null!=t&&null!=e&&this.map.setView(t,e,this.zoomPanOptions)},t.prototype.setZoom=function(t){this.map&&null!=t&&this.map.setZoom(t,this.zoomOptions)},t.prototype.setCenter=function(t){this.map&&null!=t&&this.map.panTo(t,this.panOptions)},t.prototype.setFitBounds=function(t){this.map&&null!=t&&this.map.fitBounds(t,this.fitBoundsOptions)},t.prototype.setMaxBounds=function(t){this.map&&null!=t&&this.map.setMaxBounds(t)},t.prototype.setMinZoom=function(t){this.map&&null!=t&&this.map.setMinZoom(t)},t.prototype.setMaxZoom=function(t){this.map&&null!=t&&this.map.setMaxZoom(t)},t}(),Hm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}(),Zm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();const Um=function(t,e){switch(typeof t){case"number":this.lonDeg=this.dec2deg(t,this.MAX_LON),this.lonDec=t;break;case"string":this.decode(t)&&(this.lonDeg=t),this.lonDec=this.deg2dec(t,this.MAX_LON)}switch(typeof e){case"number":this.latDeg=this.dec2deg(e,this.MAX_LAT),this.latDec=e;break;case"string":this.decode(e)&&(this.latDeg=e),this.latDec=this.deg2dec(e,this.MAX_LAT)}};Um.prototype={CHAR_DEG:"\xb0",CHAR_MIN:"'",CHAR_SEC:'"',CHAR_SEP:" ",MAX_LON:180,MAX_LAT:90,lonDec:NaN,latDec:NaN,lonDeg:NaN,latDeg:NaN,dec2deg:function(t,e){const n=t<0?-1:1,i=Math.abs(Math.round(1e6*t));if(i>1e6*e)return NaN;const s=i%1e6/1e6,o=Math.floor(i/1e6)*n,r=Math.floor(60*s);let a="";return a+=o,a+=this.CHAR_DEG,a+=this.CHAR_SEP,a+=r,a+=this.CHAR_MIN,a+=this.CHAR_SEP,(a+=(3600*(s-r/60)).toFixed(2))+this.CHAR_SEC},deg2dec:function(t){const e=this.decode(t);if(!e)return NaN;const n=parseFloat(e[1]),i=parseFloat(e[2]),s=parseFloat(e[3]);return isNaN(n)||isNaN(i)||isNaN(s)?NaN:n+i/60+s/3600},decode:function(t){let e="";return e+="(-?\\d+)",e+=this.CHAR_DEG,e+="\\s*",e+="(\\d+)",e+=this.CHAR_MIN,e+="\\s*",e+="(\\d+(?:\\.\\d+)?)",e+=this.CHAR_SEC,t.match(new RegExp(e))},getLonDec:function(){return this.lonDec},getLatDec:function(){return this.latDec},getLonDeg:function(){return this.lonDeg},getLatDeg:function(){return this.latDeg}};const Gm=function(t,e,n){const i=$m(),s=Object(jd.marker)([t,e],{icon:i,draggable:!0});return s.on("dragend",function(t){return n(t)}),s},$m=function(){return Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconAnchor:[13,40]})},qm={radius:6,fillColor:"#ff7800",color:"#000",weight:1,opacity:1,fillOpacity:.8},Wm={color:"#ff7800",weight:5,opacity:.65},Km=()=>Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconSize:[33,41],iconAnchor:[13,40],popupAnchor:[5,-41]});function Ym(t){try{let e;" "===(t=t.replace(/\s\s+/g," ")).charAt(0)&&(t=t.slice(1,t.length-1)),t=(t=t.replace(",",".")).replace(/[^0-9\-.,\xb0\'"\s]/g,"");let n="",i="",s="",o=t.split(" ");" "===t.charAt(t.length-1)&&(o=o.slice(0,o.length-1)),""===o[o.length-1]&&(o=o.slice(0,o.length-1)),1===o.length&&(-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90")),2===o.length&&(i=o[1],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),3===o.length&&(i=o[1],s=o[2],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),o.length>=4&&(o=o.slice(0,2),-1!==n.indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90"));try{e=t.match(/\s/g).length}catch(t){e=0}if(0===e&&1===o.length);else if(1===e&&o.length>=1)"\xb0"!==(n=n.replace(" ","")).slice(n.length-1,n.length)?n+="\xb0 ":n+=" ";else if(2===e&&o.length>=2)n=n.replace(" ",""),i=i.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ";else{if(!(3===e&&o.length>=3))throw{error:"Can't manage input string."};n=n.replace(" ",""),i=i.replace(" ",""),s=s.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ",'"'!==s.slice(s.length-1,s.length)&&(s+='"')}return n+i+s}catch(e){return t}}class Qm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}geocode(t,e){return null===t?Xl():"osm"===e.toLowerCase()?this.geocodeUsingOSM(t):"mapquest"===e.toLowerCase()?this.geocodeUsingMapQuest(t):void 0}reverse(t,e,n){return"osm"===n.toLowerCase()?this.reverseUsingOSM(t,e):"mapquest"===n.toLowerCase()?this.reverseUsingMapQuest(t,e):void 0}getReadbleAddress(t,e){if("osm"===e.toLowerCase())return this.getNominatimReadbleAddress(t);if("mapquest"===e.toLowerCase()){if(Object(Mp.isDefined)(t.results))return this.getMapQuestReadableAddress(t);if(Object(Mp.isDefined)(t.address))return this.getNominatimReadbleAddress(t)}}geocodeUsingOSM(t){return this.http.get(`https://nominatim.openstreetmap.org/?format=json&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}geocodeUsingMapQuest(t){return this.http.get(`https://open.mapquestapi.com/nominatim/v1/search.php?key=${this.mapQuestApiKey}&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingOSM(t,e){return this.http.get(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingMapQuest(t,e){return this.http.get(`https://open.mapquestapi.com/geocoding/v1/reverse?key=${this.mapQuestApiKey}&location=${t},${e}`).pipe(j(t=>t))}getNominatimReadbleAddress(t){let e=null,n=null,i=null,s=null;return Object(Mp.isDefined)(t.address.city)?e=t.address.city:Object(Mp.isDefined)(t.address.town)?e=t.address.town:Object(Mp.isDefined)(t.address.village)?e=t.address.village:Object(Mp.isDefined)(t.address.hamlet)&&(e=t.address.hamlet),Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e?n=t.address.suburb+", "+t.address.postcode:!Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e&&(n=t.address.postcode),Object(Mp.isDefined)(t.address.road)?i=t.address.road:Object(Mp.isDefined)(t.address.pedestrian)&&(i=t.address.pedestrian),Object(Mp.isDefined)(t.address.neighbourhood)&&(s=t.address.neighbourhood),i&&s&&n&&e?i+" ("+s+") "+n+" "+e:i&&!s&&n&&e?i+" "+n+" "+e:i&&!s&&!n&&e?i+", "+e:!i&&s&&n&&e?s+" "+n+" "+e:!i&&!s&&n&&e?n+" "+e:i||s||n||!e?t.display_name:e}getMapQuestReadableAddress(t){const e=t.results[0].locations[0];let n=null,i=null,s=null,o=null;return n=e.adminArea5,i=e.adminArea4,o=e.adminArea6,(s=e.street)&&o&&i&&n?s+" ("+o+") "+i+" "+n:s&&!o&&i&&n?s+" "+i+" "+n:s&&!o&&!i&&n?s+", "+n:!s&&o&&i&&n?o+" "+i+" "+n:!s&&!o&&i&&n?i+" "+n:s||o||i||!n?void 0:n}osmClassFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{let i=0,s=!1;t.forEach(t=>{const n=t.split(":")[0],o=t.split(":")[1];"*"===o?e.class===n&&i++:"!"===o.substr(0,1)?e.class===n&&"!"+e.type===o&&(s=!0):e.class===n&&e.type===o&&i++}),i>0&&!s&&n.push(e)}),Jl(n)):Jl(e)}reverseCorrdinatesArray(t){if(t.length>0)return t.forEach(t=>{t.reverse()}),t}simplifyPolyline(t){return t.length>1?[t[0],t[t.length-1]]:t}getInseeData(t,e){return this.http.get(`https://geo.api.gouv.fr/communes?lat=${t}&lon=${e}`).pipe(j(t=>t[0]))}}Qm.ngInjectableDef=ot({factory:function(){return new Qm(te(sp))},token:Qm,providedIn:"root"});class Xm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}getElevation(t,e,n){return"openelevation"===n.toLowerCase()?this.getOpenElevation(t,e):"mapquest"===n.toLowerCase()&&null!==this.mapQuestApiKey?this.getMapQuestElevation(t,e):Jl(-1)}getOpenElevation(t,e){return this.http.get(`https://api.open-elevation.com/api/v1/lookup?locations=${t},${e}`).pipe(j(t=>t.results[0].elevation))}getMapQuestElevation(t,e){return this.http.get(`https://open.mapquestapi.com/elevation/v1/profile?key=${this.mapQuestApiKey}&shapeFormat=raw&latLngCollection=${t},${e}`).pipe(j(t=>t.elevationProfile[0].height))}}Xm.ngInjectableDef=ot({factory:function(){return new Xm(te(sp))},token:Xm,providedIn:"root"});class Jm{constructor(t,e,n,i){this.fb=t,this.geocodeService=e,this.elevationService=n,this.zone=i,this.layersToAdd=["osm"],this.osmClassFilter=[],this.allowEditDrawnItems=!1,this.marker=!0,this.polyline=!1,this.polygon=!1,this.latLngInit=[46.5588603,2.98828125],this.zoomInit=4,this.getOsmSimpleLine=!1,this.showLatLngElevationInputs=!0,this.elevationProvider="mapQuest",this.geolocationProvider="osm",this.mapQuestApiKey="KpzlEtCq6BmVVf37R1EXV3jWoh20ynCc",this.location=new on,this.coordFormat="dms",this._location={},this.osmPlace=null,this.inseeData=null,this._geolocatedPhotoLatLng=new on,this.geolocatedPhotoLatLngData=[],this.geolocatedPhotoLatLngDisplayedColumnsTable=["select","fileName","lat","lng","altitude"],this.isLoadingAddress=!1,this.isLoadingLatitude=!1,this.isLoadingLongitude=!1,this.isLoadingElevation=!1,this.geoSearchSubscription=new f,this.latDmsInputSubscription=new f,this.lngDmsInputSubscription=new f,this.elevationInputSubscription=new f,this.mapLat=0,this.mapLng=0,this.osmLayer=Object(jd.tileLayer)("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:18,attribution:"Open Street map"}),this.openTopoMapLayer=Object(jd.tileLayer)("https://a.tile.opentopomap.org/{z}/{x}/{y}.png",{maxZoom:17,attribution:"OpenTopoMap"}),this.googleHybridLayer=Object(jd.tileLayer)("https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"],attribution:"Google maps"}),this.brgmLayer=jd.tileLayer.wms("http://geoservices.brgm.fr/geologie",{version:"1.3.0",layers:"Geologie"}),this.mapLayers={},this.geoResultsLayer=Object(jd.geoJSON)(null,{style:function(){return{color:"#ff7800",weight:5,opacity:.65}}}),this.geolocatedPhotoLatLngLayer=Object(jd.geoJSON)(),this.drawnItems=new jd.FeatureGroup,this.circleMarkerOpt=qm,this.geoResultsOpt=Wm}set geolocatedPhotoLatLng(t){this._geolocatedPhotoLatLng.emit(t)}set reset(t){!0===t&&this.resetComponent()}set patchAddress(t){t&&null!==t&&this._patchAddress(t)}set patchElevation(t){t&&null!==t&&this._patchElevation(t)}set patchLatLngDec(t){t&&null!==t&&this._patchLatLngDec(t[0],t[1])}set patchGeometry(t){t&&null!==t&&this._patchGeometry(t)}set drawMarker(t){t&&null!==t&&this._drawMarker(t[0],t[1])}ngOnInit(){switch(this.initApi(),this.latlngFormGroup=this.fb.group({latInput:this.fb.control("",[zp.required,this.latLngDecValidator]),lngInput:this.fb.control("",[zp.required,this.latLngDecValidator]),dmsLatInput:this.fb.control("",[zp.required,this.latLngDmsValidator]),dmsLngInput:this.fb.control("",[zp.required,this.latLngDmsValidator])}),this.elevationFormGroup=this.fb.group({elevationInput:this.fb.control("",null)}),this.geoSearchFormGroup=this.fb.group({placeInput:this.fb.control("",null)}),this.geoSearchSubscription=this.geoSearchFormGroup.controls.placeInput.valueChanges.pipe(vu(400),t=>t.lift(new kp(void 0,void 0)),Tp(t=>(this.isLoadingAddress=!0,this.geocodeService.geocode(t,this.geolocationProvider)))).subscribe(t=>{this.isLoadingAddress=!1,this.osmClassFilter.length>0?this.geocodeService.osmClassFilter(this.osmClassFilter,t).subscribe(t=>{this.geoSearchResults=t}):this.geoSearchResults=t},t=>{this.isLoadingAddress=!1}),this._geolocatedPhotoLatLng.subscribe(t=>{this.geolocatedPhotoLatLngLayer.clearLayers(),this.geolocatedPhotoLatLngData=t,this.geolocatedPhotoLatLngData.forEach(t=>{const e=new Um(t.lng.deg+"\xb0 "+t.lng.min+"'"+t.lng.sec+'"',t.lat.deg+"\xb0 "+t.lat.min+"'"+t.lat.sec+'"');t.latDec=e.latDec,t.lngDec=e.lonDec;const n=Object(jd.latLng)(t.latDec,t.lngDec),i=new jd.Marker(n,{icon:Km()});i.bindPopup(`\n <b>Fichier "${t.fileName}"</b><br>\n Lat. : ${e.latDeg}<br />\n Lng. : ${e.lonDeg}<br />\n Alt. : ${t.altitude} m<br /><br />\n <b>Cliquez sur le point pour utiliser ces coordonn\xe9es</b>`).openPopup(),i.on("click",e=>{this.gpsMarkerSetValues(t.latDec,t.lngDec,t.altitude)}),i.on("mouseover",t=>{i.openPopup()}),i.on("mouseout",t=>{i.closePopup()}),i.addTo(this.geolocatedPhotoLatLngLayer)}),this.flyToGeolocatedPhotoItems()}),this.elevationInputSubscription=this.elevationFormGroup.controls.elevationInput.valueChanges.pipe(vu(500)).subscribe(t=>{null!==this.osmPlace&&this.bindLocationOutput([t,this.osmPlace,this.inseeData])}),this.mapOptions={layers:[],zoom:this.zoomInit,center:Object(jd.latLng)({lat:this.latLngInit[0],lng:this.latLngInit[1]})},this.drawControlEdit=function(t,e){return new jd.Control.Draw({position:"topleft",draw:{marker:!1,polyline:!1,polygon:!1,rectangle:!1,circle:!1,circlemarker:!1},edit:{featureGroup:t,edit:!0===e&&{},remove:{}}})}(this.drawnItems,this.allowEditDrawnItems),this.drawControlFull=function(t,e,n){return new jd.Control.Draw({position:"topleft",draw:{marker:!!t&&{icon:$m()},polyline:!!e&&{},polygon:!!n&&{showArea:!0,metric:!1},rectangle:!1,circle:!1,circlemarker:!1}})}(this.marker,this.polyline,this.polygon),-1!==this.layersToAdd.indexOf("osm")&&(this.mapLayers.OSM=this.osmLayer),-1!==this.layersToAdd.indexOf("opentopomap")&&(this.mapLayers.OpenTopoMap=this.openTopoMapLayer),-1!==this.layersToAdd.indexOf("google hybrid")&&(this.mapLayers["Google hybride"]=this.googleHybridLayer),-1!==this.layersToAdd.indexOf("brgm")&&(this.mapLayers.BRGM=this.brgmLayer),this.layersToAdd[0]){case"osm":this.mapOptions.layers.push(this.osmLayer);break;case"opentopomap":this.mapOptions.layers.push(this.openTopoMapLayer);break;case"google hybrid":this.mapOptions.layers.push(this.googleHybridLayer);break;case"brgm":this.mapOptions.layers.push(this.brgmLayer)}this.latDmsInputSubscription=this.latlngFormGroup.controls.dmsLatInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLatInput.setValue(Ym(t),{emitEvent:!1})}),this.lngDmsInputSubscription=this.latlngFormGroup.controls.dmsLngInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLngInput.setValue(Ym(t),{emitEvent:!1})})}initApi(){this.elevationService.setMapQuestApiKey(this.mapQuestApiKey),this.geocodeService.setMapQuestApiKey(this.mapQuestApiKey)}ngOnDestroy(){this.geoSearchSubscription.unsubscribe(),this.latDmsInputSubscription.unsubscribe(),this.lngDmsInputSubscription.unsubscribe(),this.elevationInputSubscription.unsubscribe(),this._geolocatedPhotoLatLng.unsubscribe()}onMapReady(t){this.map=t,this.map.addControl(jd.control.layers(null,this.mapLayers,{position:"topright"})),this.map.addLayer(this.drawnItems),this.map.addLayer(this.geoResultsLayer),this.map.addLayer(this.geolocatedPhotoLatLngLayer),this.map.addControl(this.drawControlFull),this.map.on("draw:created",t=>{if(this.drawnItem=t.layer,this.drawType=t.layerType,"marker"===this.drawType){const t=this.drawnItem._latlng;Gm(t.lat,t.lng,t=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}).addTo(this.drawnItems)}else this.drawnItems.addLayer(this.drawnItem);this.drawnItems.getLayers().length>0&&this.setMapEditMode(),1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:edited",t=>{this.drawnItem=t.layer,this.drawType=t.layerType,1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:deleted",t=>{this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.zone.run(()=>{this.clearForm()})}),this.redrawMap(100)}redrawMap(t){t?window.setTimeout(()=>this.map.invalidateSize(),t):this.map.invalidateSize()}setMapEditMode(){this.map.removeControl(this.drawControlFull),this.map.addControl(this.drawControlEdit)}setMapDrawMode(){this.map.removeControl(this.drawControlEdit),this.map.addControl(this.drawControlFull)}flyToDrawnItems(t=14){const e=this.drawnItems.getBounds();this.map.flyToBounds(e,{maxZoom:t,animate:!1})}flyToGeoResultsItems(){const t=this.geoResultsLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}flyToGeolocatedPhotoItems(){const t=this.geolocatedPhotoLatLngLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}addMarkerFromDmsCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(this.latlngFormGroup.controls.dmsLngInput.value,this.latlngFormGroup.controls.dmsLatInput.value);Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.latInput.setValue(t.getLatDec(),{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(t.getLatDec(),{emitEvent:!1}),this.flyToDrawnItems()}addMarkerFromLatLngCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(Number(this.latlngFormGroup.controls.lngInput.value),Number(this.latlngFormGroup.controls.latInput.value));Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.dmsLatInput.setValue(t.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(t.getLonDeg(),{emitEvent:!1}),this.flyToDrawnItems()}addPolyline(t){this.clearDrawnItemsLayer(),this.setMapEditMode(),Object(jd.polyline)(t).addTo(this.drawnItems),this.flyToDrawnItems(18)}callGeolocElevationApisUsingLatLngInputsValues(t=!1,e=!1,n){let i,s,o,r;if(this.osmPlace=null,this.inseeData=null,this.setLatLngInputFromDrawnItems(),this.setLatLngDmsInputFromDrawnItems(),t&&!e)i=bp(this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(e&&!t)i=bp(this.getElevationFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(t||e){if(t&&e)return}else i=bp(this.getElevationFromInputValue(),this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));this.isLoadingAddress=!e,this.isLoadingElevation=!t,i.subscribe(i=>{this.isLoadingElevation=!1,this.isLoadingAddress=!1,t&&!e?(s=null,o=i[0],r=i[1]):e&&!t?(s=i,o=null,s=i[0],r=i[1]):e||e||(s=i[0],o=i[1],r=i[2]),this.osmPlace=o,this.inseeData=r,t||this.elevationFormGroup.controls.elevationInput.setValue(s,{emitEvent:!1}),e||this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(o,this.geolocationProvider),{emitEvent:!1}),Object(Mp.isDefined)(n)?n(s,o):this.bindLocationOutput([s,o,r])},t=>{this.isLoadingAddress=!1,this.isLoadingElevation=!1})}setLatLngInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter();this.latlngFormGroup.controls.latInput.setValue(t.lat),this.latlngFormGroup.controls.lngInput.setValue(t.lng)}setLatLngDmsInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter(),e=new Um(t.lng,t.lat);this.latlngFormGroup.controls.dmsLatInput.patchValue(e.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(e.getLonDeg())}getElevationFromInputValue(){return this.elevationService.getElevation(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.elevationProvider)}reverseGeocodingFromInputValue(){return this.geocodeService.reverse(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.geolocationProvider)}latLngDmsValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\\xb0 [0-9]{1,2}\\' [0-9]{1,2}\\.[0-9]{1,12}\\\"").test(t.value)?null:{malformedLatLngDmsFormat:!0}}latLngDecValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\.[0-9]{1,20}").test(t.value)?null:{malformedLatLngDecFormat:!0}}addressSelectedChanged(t){const e=t.option.value,n=new jd.LatLng(e.boundingbox[0],e.boundingbox[2]),i=new jd.LatLng(e.boundingbox[1],e.boundingbox[3]);this.map.fitBounds(Object(jd.latLngBounds)(n,i)),this.clearGeoResultsLayer(),this.geoResultsLayer.addData(e.geojson),this.flyToGeoResultsItems(),this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(e,this.geolocationProvider),{emitEvent:!1});const s=new Um(Number(e.lon),Number(e.lat));this.latlngFormGroup.controls.latInput.setValue(e.lat,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e.lon,{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue(s.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(s.getLonDeg(),{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue(e.elevation,{emitEvent:!1}),"LineString"===e.geojson.type?(this.addPolyline(this.geocodeService.reverseCorrdinatesArray(this.getOsmSimpleLine?this.geocodeService.simplifyPolyline(e.geojson.coordinates):e.geojson.coordinates)),this.clearGeoResultsLayer()):this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!1,!0,t=>{let n;n=Array.isArray(t)?t[0]:t,this.osmPlace=e,this.bindLocationOutput([n,e])})}clearForm(){this.latlngFormGroup.controls.latInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.reset("",{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue("",{emitEvent:!1}),this.elevationFormGroup.reset("",{emitEvent:!1}),this.geoSearchFormGroup.controls.placeInput.setValue("",{emitEvent:!1})}clearGeoResultsLayer(){this.geoResultsLayer.clearLayers()}clearDrawnItemsLayer(){this.drawnItems.clearLayers()}resetLocation(){this._location={}}bindLocationOutput(t){let e,n,i;e=t[0],n=t[1],i=t[2];const s=this.drawnItems.toGeoJSON();if(this._location.geometry=s.features[0].geometry,this._location.elevation=e,this._location.localityConsistency=!!this._location.localityConsistency||null,this._location.locationAccuracy=this._location.locationAccuracy?0:null,this._location.inseeData=i,Object(Mp.isDefined)(n.address)&&(this._location.osmCountry=n.address.country,this._location.osmCountryCode=n.address.country_code,this._location.osmCounty=n.address.county,this._location.osmPostcode=n.address.postcode,n.address.city&&(this._location.locality=n.address.city),n.address.town&&(this._location.locality=n.address.town),n.address.village&&(this._location.locality=n.address.village),this._location.sublocality=n.hamlet,this._location.osmRoad=n.address.road,this._location.osmState=n.address.state,this._location.osmSuburb=n.address.suburb,this._location.osmId=n.osm_id,this._location.osmNeighbourhood=null,this._location.osmPlaceId=n.place_id,this._location.publishedLocation=null,this._location.station=null),Object(Mp.isDefined)(n.results)){const t=n.results[0].locations[0];this._location.osmCountry=t.adminArea1,this._location.osmCountryCode=t.adminArea1,this._location.osmCounty=t.adminArea4,this._location.osmPostcode=t.postalCode,this._location.locality=t.adminArea5,this._location.sublocality=null,this._location.osmRoad=t.street,this._location.osmState=t.adminArea3,this._location.osmSuburb=null,this._location.osmId=null,this._location.osmNeighbourhood=t.adminArea6,this._location.osmPlaceId=null,this._location.publishedLocation=null,this._location.station=null}this.location.next(this._location)}setLatLngInputFormat(t){"decimal"!==t&&"dms"!==t||(this.coordFormat=t)}gpsMarkerSetValues(t,e,n){this.latlngFormGroup.controls.latInput.setValue(t),this.latlngFormGroup.controls.lngInput.setValue(e),this.elevationFormGroup.controls.elevationInput.setValue(n,{emitEvent:!1}),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!0,!1),this.geolocatedPhotoLatLngLayer.clearLayers()}resetComponent(){this.clearForm(),this.resetLocation(),this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.map.flyTo({lat:this.latLngInit[0],lng:this.latLngInit[1]},this.zoomInit,{animate:!1})}_patchAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!1})}_patchElevation(t){this.elevationFormGroup.controls.elevationInput.setValue(t,{emitEvent:!1})}_patchLatLngDec(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg())}_drawMarker(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg()),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues()}_patchGeometry(t){this.clearDrawnItemsLayer();for(const e of t){if("point"===e.type.toLowerCase()){const n=Object(jd.latLng)(e.coordinates[0],e.coordinates[1]);let i;1===t.length?i=Gm(e.coordinates[0],e.coordinates[1],()=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}):t.length>1&&(i=new jd.Marker(n,{icon:$m()})),i.addTo(this.drawnItems)}if("linestring"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polyline(t).addTo(this.drawnItems)}if("polygon"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polygon(t).addTo(this.drawnItems)}}this.setMapEditMode(),this.flyToDrawnItems()}}class tf{constructor(t){this.geocodeService=t}transform(t,e){return this.geocodeService.getReadbleAddress(t,e)}}class ef{}function nf(t){switch(t.length){case 0:return new fa;case 1:return t[0];default:return new _a(t)}}function sf(t,e,n,i,s={},o={}){const r=[],a=[];let l=-1,h=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&h||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,r),a){case ga:a=s[n];break;case ca:a=o[n];break;default:a=e.normalizeStyleValue(n,i,a,r)}u[i]=a}),i||a.push(u),h=u,l=n}),r.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${r.join(t)}`)}return a}function of(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&rf(n,"start",t)));break;case"done":t.onDone(()=>i(n&&rf(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&rf(n,"destroy",t)))}}function rf(t,e,n){const i=n.totalTime,s=af(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==i?t.totalTime:i,!!n.disabled),o=t._data;return null!=o&&(s._data=o),s}function af(t,e,n,i,s="",o=0,r){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:s,totalTime:o,disabled:!!r}}function lf(t,e,n){let i;return t instanceof Map?(i=t.get(e))||t.set(e,i=n):(i=t[e])||(i=t[e]=n),i}function hf(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let uf=(t,e)=>!1,cf=(t,e)=>!1,df=(t,e,n)=>[];if("undefined"!=typeof Element){if(uf=((t,e)=>t.contains(e)),Element.prototype.matches)cf=((t,e)=>t.matches(e));else{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;e&&(cf=((t,n)=>e.apply(t,[n])))}df=((t,e,n)=>{let i=[];if(n)i.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&i.push(n)}return i})}let pf=null,mf=!1;function ff(t){pf||(pf=_f()||{},mf=!!pf.style&&"WebkitAppearance"in pf.style);let e=!0;return pf.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in pf.style)&&mf&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in pf.style),e}function _f(){return"undefined"!=typeof document?document.body:null}const gf=cf,yf=uf,vf=df;function bf(t){const e={};return Object.keys(t).forEach(n=>{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}class wf{}wf.NOOP=new class{validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,s,o=[],r){return new fa(n,i)}};const xf=1e3,Ef="{{",Cf="ng-enter",Lf="ng-leave",kf="ng-trigger",Sf=".ng-trigger",Tf="ng-animating",If=".ng-animating";function Pf(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Mf(parseFloat(e[1]),e[2])}function Mf(t,e){switch(e){case"s":return t*xf;default:return t}}function Df(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,s=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Mf(parseFloat(n[1]),n[2]);const r=n[3];null!=r&&(s=Mf(Math.floor(parseFloat(r)),n[4]));const a=n[5];a&&(o=a)}else i=t;if(!n){let n=!1,o=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:s,easing:o}}(t,e,n)}function Af(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function Of(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Af(t,n);return n}function Rf(t,e){t.style&&Object.keys(e).forEach(n=>{const i=Zf(n);t.style[i]=e[n]})}function Nf(t,e){t.style&&Object.keys(e).forEach(e=>{const n=Zf(e);t.style[n]=""})}function Ff(t){return Array.isArray(t)?1==t.length?t[0]:da(t):t}const zf=new RegExp(`${Ef}\\s*(.+?)\\s*}}`,"g");function Vf(t){let e=[];if("string"==typeof t){const n=t.toString();let i;for(;i=zf.exec(n);)e.push(i[1]);zf.lastIndex=0}return e}function Bf(t,e,n){const i=t.toString(),s=i.replace(zf,(t,i)=>{let s=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),s=""),s.toString()});return s==i?t:s}function jf(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Hf=/-+([a-z0-9])/g;function Zf(t){return t.replace(Hf,(...t)=>t[1].toUpperCase())}function Uf(t,e){return 0===t||0===e}function Gf(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let o=e[0],r=[];if(i.forEach(t=>{o.hasOwnProperty(t)||r.push(t),o[t]=n[t]}),r.length)for(var s=1;s<e.length;s++){let n=e[s];r.forEach(function(e){n[e]=qf(t,e)})}}return e}function $f(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function qf(t,e){return window.getComputedStyle(t)[e]}const Wf="*",Kf=new Set(["true","1"]),Yf=new Set(["false","0"]);function Qf(t,e){const n=Kf.has(t)||Yf.has(t),i=Kf.has(e)||Yf.has(e);return(s,o)=>{let r=t==Wf||t==s,a=e==Wf||e==o;return!r&&n&&"boolean"==typeof s&&(r=s?Kf.has(t):Yf.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Kf.has(e):Yf.has(e)),r&&a}}const Xf=":self",Jf=new RegExp(`s*${Xf}s*,?`,"g");function t_(t,e,n){return new n_(t).build(e,n)}const e_="";class n_{constructor(t){this._driver=t}build(t,e){const n=new i_(e);return this._resetContextStyleTimingState(n),$f(this,Ff(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector=e_,t.collectedStyles={},t.collectedStyles[e_]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const s=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,s.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const s=this.visitTransition(t,e);n+=s.queryCount,i+=s.depCount,o.push(s)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:o,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const s=new Set,o=i||{};if(n.styles.forEach(t=>{if(s_(t)){const e=t;Object.keys(e).forEach(t=>{Vf(e[t]).forEach(t=>{o.hasOwnProperty(t)||s.add(t)})})}}),s.size){const n=jf(s.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=$f(this,Ff(t.animation),e);return{type:1,matchers:function(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>(function(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const s=i[1],o=i[2],r=i[3];e.push(Qf(s,r)),"<"!=o[0]||s==Wf&&r==Wf||e.push(Qf(r,s))})(t,n,e)):n.push(t),n}(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:o_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>$f(this,t,e)),options:o_(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const s=t.steps.map(t=>{e.currentTime=n;const s=$f(this,t,e);return i=Math.max(i,e.currentTime),s});return e.currentTime=i,{type:3,steps:s,options:o_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return r_(Df(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=r_(0,0,"");return t.dynamic=!0,t.strValue=i,t}return r_((n=n||Df(i,e)).duration,n.delay,n.easing)}(t.timings,e.errors);let i;e.currentAnimateTimings=n;let s=t.styles?t.styles:pa({});if(5==s.type)i=this.visitKeyframes(s,e);else{let s=t.styles,o=!1;if(!s){o=!0;const t={};n.easing&&(t.easing=n.easing),s=pa(t)}e.currentTime+=n.duration+n.delay;const r=this.visitStyle(s,e);r.isEmptyStep=o,i=r}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==ca?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,s=null;return n.forEach(t=>{if(s_(t)){const e=t,n=e.easing;if(n&&(s=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf(Ef)>=0){i=!0;break}}}),{type:6,styles:n,easing:s,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,s=e.currentTime;n&&s>0&&(s-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],r=o[n];let a=!0;r&&(s!=i&&s>=r.startTime&&i<=r.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${r.startTime}ms" and "${r.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${i}ms"`),a=!1),s=r.startTime),a&&(o[n]={startTime:s,endTime:i}),e.options&&function(i,s,o){const r=e.options.params||{},a=Vf(t[n]);a.length&&a.forEach(t=>{r.hasOwnProperty(t)||o.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(0,0,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const s=[];let o=!1,r=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),h=0;return null!=l&&(i++,h=n.offset=l),r=r||h<0||h>1,o=o||h<a,a=h,s.push(h),n});r&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const h=t.steps.length;let u=0;i>0&&i<h?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==i&&(u=1/(h-1));const c=h-1,d=e.currentTime,p=e.currentAnimateTimings,m=p.duration;return l.forEach((t,i)=>{const o=u>0?i==c?1:u*i:s[i],r=o*m;e.currentTime=d+p.delay+r,p.duration=r,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:$f(this,Ff(t.animation),e),options:o_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:o_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:o_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[s,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>t==Xf);return e&&(t=t.replace(Jf,"")),[t=t.replace(/@\*/g,Sf).replace(/@\w+/g,t=>Sf+"-"+t.substr(1)).replace(/:animating/g,If),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+s:s,lf(e.collectedStyles,e.currentQuerySelector,{});const r=$f(this,Ff(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:r,originalSelector:t.selector,options:o_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Df(t.timings,e.errors,!0);return{type:12,animation:$f(this,Ff(t.animation),e),timings:n,options:null}}}class i_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function s_(t){return!Array.isArray(t)&&"object"==typeof t}function o_(t){return t?(t=Af(t)).params&&(t.params=function(t){return t?Af(t):null}(t.params)):t={},t}function r_(t,e,n){return{duration:t,delay:e,easing:n}}function a_(t,e,n,i,s,o,r=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:s,delay:o,totalTime:s+o,easing:r,subTimeline:a}}class l_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const h_=1,u_=new RegExp(":enter","g"),c_=new RegExp(":leave","g");function d_(t,e,n,i,s,o={},r={},a,l,h=[]){return(new p_).buildKeyframes(t,e,n,i,s,o,r,a,l,h)}class p_{buildKeyframes(t,e,n,i,s,o,r,a,l,h=[]){l=l||new l_;const u=new f_(t,e,l,i,s,h,[]);u.options=a,u.currentTimeline.setStyles([o],null,u.errors,a),$f(this,n,u);const c=u.timelines.filter(t=>t.containsAnimation());if(c.length&&Object.keys(r).length){const t=c[c.length-1];t.allowOnlyTimelineStyles()||t.setStyles([r],null,u.errors,a)}return c.length?c.map(t=>t.buildKeyframes()):[a_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),s=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);s!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const s=null!=n.duration?Pf(n.duration):null,o=null!=n.delay?Pf(n.delay):null;return 0!==s&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,s,o);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),$f(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const s=t.options;if(s&&(s.params||s.delay)&&((i=e.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=m_);const t=Pf(s.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>$f(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?Pf(t.options.delay):0;t.steps.forEach(o=>{const r=e.createSubContext(t.options);s&&r.delayNextStep(s),$f(this,o,r),i=Math.max(i,r.currentTimeline.currentTime),n.push(r.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Df(e.params?Bf(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(n.duration),this.visitStyle(s,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(s):n.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,s=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*s),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(i+s),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},s=i.delay?Pf(i.delay):0;s&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=m_);let o=n;const r=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=r.length;let a=null;r.forEach((n,i)=>{e.currentQueryIndex=i;const r=e.createSubContext(t.options,n);s&&r.delayNextStep(s),n===e.element&&(a=r.currentTimeline),$f(this,t.animation,r),r.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,r.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,s=t.timings,o=Math.abs(s.duration),r=o*(e.currentQueryTotal-1);let a=o*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=r-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const h=l.currentTime;$f(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-h+(i.startTime-n.currentTimeline.startTime)}}const m_={};class f_{constructor(t,e,n,i,s,o,r,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=r,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=m_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new __(this._driver,e,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=Pf(n.duration)),null!=n.delay&&(i.delay=Pf(n.delay));const s=n.params;if(s){let t=i.params;t||(t=this.options.params={}),Object.keys(s).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Bf(s[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,s=new f_(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=m_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},s=new g_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,s,o){let r=[];if(i&&r.push(this.element),t.length>0){t=(t=t.replace(u_,"."+this._enterClassName)).replace(c_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),r.push(...e)}return s||0!=r.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),r}}class __{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new __(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=h_,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||ca,this._currentKeyframe[t]=ca}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const s=i&&i.params||{},o=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e)).forEach(t=>{n[t]=ca}):Of(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Bf(o[t],s,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:ca),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((s,o)=>{const r=Of(s,!0);Object.keys(r).forEach(n=>{const i=r[n];i==ga?t.add(n):i==ca&&e.add(n)}),n||(r.offset=o/this.duration),i.push(r)});const s=t.size?jf(t.values()):[],o=e.size?jf(e.values()):[];if(n){const t=i[0],e=Af(t);t.offset=0,e.offset=1,i=[t,e]}return a_(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class g_ extends __{constructor(t,e,n,i,s,o,r=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=r,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],o=n+e,r=e/o,a=Of(t[0],!1);a.offset=0,s.push(a);const l=Of(t[0],!1);l.offset=y_(r),s.push(l);const h=t.length-1;for(let i=1;i<=h;i++){let r=Of(t[i],!1);r.offset=y_((e+r.offset*n)/o),s.push(r)}n=o,e=0,i="",t=s}return a_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function y_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class v_{}class b_ extends v_{normalizePropertyName(t,e){return Zf(t)}normalizeStyleValue(t,e,n,i){let s="";const o=n.toString().trim();if(w_[e]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+s}}const w_=function(t){const e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(t=>e[t]=!0),e}();function x_(t,e,n,i,s,o,r,a,l,h,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:s,fromState:n,fromStyles:o,toState:i,toStyles:r,timelines:a,queriedElements:l,preStyleProps:h,postStyleProps:u,totalTime:c,errors:d}}const E_={};class C_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,s){return t.some(t=>t(e,n,i,s))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],s=this._stateStyles[t],o=i?i.buildStyles(e,n):{};return s?s.buildStyles(e,n):o}build(t,e,n,i,s,o,r,a,l){const h=[],u=this.ast.options&&this.ast.options.params||E_,c=this.buildStyles(n,r&&r.params||E_,h),d=a&&a.params||E_,p=this.buildStyles(i,d,h),m=new Set,f=new Map,_=new Map,g="void"===i,y={params:Object.assign({},u,d)},v=d_(t,e,this.ast.animation,s,o,c,p,y,l,h);let b=0;if(v.forEach(t=>{b=Math.max(t.duration+t.delay,b)}),h.length)return x_(e,this._triggerName,n,i,g,c,p,[],[],f,_,b,h);v.forEach(t=>{const n=t.element,i=lf(f,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const s=lf(_,n,{});t.postStyleProps.forEach(t=>s[t]=!0),n!==e&&m.add(n)});const w=jf(m.values());return x_(e,this._triggerName,n,i,g,c,p,v,w,f,_,b)}}class L_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},i=Af(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const s=t;Object.keys(s).forEach(t=>{let o=s[t];o.length>1&&(o=Bf(o,i,e)),n[t]=o})}}),n}}class k_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new L_(t.style,t.options&&t.options.params||{})}),S_(this.states,"true","1"),S_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new C_(t,e,this.states))}),this.fallbackTransition=function(e,n){return new C_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},n)}(0,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(s=>s.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function S_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const T_=new l_;class I_{constructor(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=t_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,s=sf(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],s=this._animations[t];let o;const r=new Map;if(s?(o=d_(this._driver,e,s,Cf,Lf,{},{},n,T_,i)).forEach(t=>{const e=lf(r,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)}):(i.push("The requested animation doesn't exist or has already been destroyed"),o=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);r.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,ca)})});const a=nf(o.map(t=>{const e=r.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const s=af(e,"","","");return of(this._getPlayer(t),n,s,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const s=this._getPlayer(t);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const P_="ng-animate-queued",M_=".ng-animate-queued",D_="ng-animate-disabled",A_=".ng-animate-disabled",O_="ng-star-inserted",R_=".ng-star-inserted",N_=[],F_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},z_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},V_="__ng_removed";class B_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Af(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const j_="void",H_=new B_(j_),Z_=new B_("DELETED");class U_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,X_(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=n&&"done"!=n)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const s=lf(this._elementListeners,t,[]),o={name:e,phase:n,callback:i};s.push(o);const r=lf(this._engine.statesByElement,t,{});return r.hasOwnProperty(e)||(X_(t,kf),X_(t,kf+"-"+e),r[e]=H_),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete r[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const s=this._getTrigger(e),o=new $_(this.id,e,t);let r=this._engine.statesByElement.get(t);r||(X_(t,kf),X_(t,kf+"-"+e),this._engine.statesByElement.set(t,r={}));let a=r[e];const l=new B_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),r[e]=l,a){if(a===Z_)return o}else a=H_;if(l.value!==j_&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let s=0;s<n.length;s++){const i=n[s];if(!e.hasOwnProperty(i)||t[i]!==e[i])return!1}return!0}(a.params,l.params)){const e=[],n=s.matchStyles(a.value,a.params,e),i=s.matchStyles(l.value,l.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{Nf(t,n),Rf(t,i)})}return}const h=lf(this._engine.playersByElement,t,[]);h.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=s.matchTransition(a.value,l.value,t,l.params),c=!1;if(!u){if(!i)return;u=s.fallbackTransition,c=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:o,isFallbackTransition:c}),c||(X_(t,P_),o.onStart(()=>{J_(t,P_)})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),h.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,Sf,!0).forEach(t=>{if(t[V_])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,i){const s=this._engine.statesByElement.get(t);if(s){const o=[];if(Object.keys(s).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,j_,i);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&nf(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const i=e.name;if(n.has(i))return;n.add(i);const s=this._triggers[i].fallbackTransition,o=this._engine.statesByElement.get(t)[i]||H_,r=new B_(j_),a=new $_(this.id,i,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:i,transition:s,fromState:o,toState:r,player:a,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}this.prepareLeaveAnimationListeners(t),i?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){X_(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const s=n.element,o=this._elementListeners.get(s);o&&o.forEach(e=>{if(e.name==n.triggerName){const i=af(s,n.triggerName,n.fromState.value,n.toState.value);i._data=t,of(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),!!this._queue.find(e=>e.element===t)||e}}class G_{constructor(t,e){this.driver=t,this._normalizer=e,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=((t,e)=>{})}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new U_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,e)){this._namespaceList.splice(s+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i<t.length;i++){const s=n[t[i]].namespaceId;if(s){const t=this._fetchNamespace(s);t&&e.add(t)}}}return e}trigger(t,e,n,i){if(q_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,n,i),!0}return!1}insertNode(t,e,n,i){if(!q_(e))return;const s=e[V_];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),X_(t,D_)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),J_(t,D_))}removeNode(t,e,n){if(!q_(e))return void this._onRemovalComplete(e,n);const i=t?this._fetchNamespace(t):null;i?i.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[V_]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,s){return q_(e)?this._fetchNamespace(t).listen(e,n,i,s):()=>{}}_buildInstruction(t,e,n,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e)}destroyInnerAnimations(t){let e=this.driver.query(t,Sf,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,If,!0)).forEach(t=>this.finishActiveQueriedAnimationOnElement(t))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()});const n=this.statesByElement.get(t);n&&Object.keys(n).forEach(t=>n[t]=Z_)}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return nf(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[V_];if(e&&e.setForRemoval){if(t[V_]=F_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,A_)&&this.markElementAsDisabled(t,!1),this.driver.query(t,A_,!0).forEach(e=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)X_(this.collectedEnterElements[n],O_);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?nf(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new l_,i=[],s=new Map,o=[],r=new Map,a=new Map,l=new Map,h=new Set;this.disabledNodes.forEach(t=>{h.add(t);const e=this.driver.query(t,M_,!0);for(let n=0;n<e.length;n++)h.add(e[n])});const u=_f(),c=Array.from(this.statesByElement.keys()),d=Y_(c,this.collectedEnterElements),p=new Map;let m=0;d.forEach((t,e)=>{const n=Cf+m++;p.set(e,n),t.forEach(t=>X_(t,n))});const f=[],_=new Set,g=new Set;for(let P=0;P<this.collectedLeaveElements.length;P++){const t=this.collectedLeaveElements[P],e=t[V_];e&&e.setForRemoval&&(f.push(t),_.add(t),e.hasAnimation?this.driver.query(t,R_,!0).forEach(t=>_.add(t)):g.add(t))}const y=new Map,v=Y_(c,Array.from(_));v.forEach((t,e)=>{const n=Lf+m++;y.set(e,n),t.forEach(t=>X_(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>J_(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>J_(t,n))}),f.forEach(t=>{this.processLeaveNode(t)})});const b=[],w=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(t=>{const e=t.player,s=t.element;if(b.push(e),this.collectedEnterElements.length){const t=s[V_];if(t&&t.setForMove)return void e.destroy()}if(!u||!this.driver.containsElement(u,s))return void e.destroy();const h=y.get(s),c=p.get(s),d=this._buildInstruction(t,n,c,h);if(!d.errors||!d.errors.length)return t.isFallbackTransition?(e.onStart(()=>Nf(s,d.fromStyles)),e.onDestroy(()=>Rf(s,d.toStyles)),void i.push(e)):(d.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(s,d.timelines),o.push({instruction:d,player:e,element:s}),d.queriedElements.forEach(t=>lf(r,t,[]).push(e)),d.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void d.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))}));w.push(d)});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),b.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,E=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(E.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{lf(x,e,[]).push(t),t.destroy()})});const C=f.filter(t=>eg(t,a,l)),L=new Map;K_(L,this.driver,g,l,ca).forEach(t=>{eg(t,a,l)&&C.push(t)});const k=new Map;d.forEach((t,e)=>{K_(k,this.driver,new Set(t),a,ga)}),C.forEach(t=>{const e=L.get(t),n=k.get(t);L.set(t,Object.assign({},e,n))});const S=[],T=[],I={};o.forEach(t=>{const{element:e,player:o,instruction:r}=t;if(n.has(e)){if(h.has(e))return o.onDestroy(()=>Rf(e,r.toStyles)),o.disabled=!0,o.overrideTotalTime(r.totalTime),void i.push(o);let t=I;if(E.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=E.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>E.set(e,t))}const n=this._buildAnimation(o.namespaceId,r,x,s,k,L);if(o.setRealPlayer(n),t===I)S.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=nf(e)),i.push(o)}}else Nf(e,r.fromStyles),o.onDestroy(()=>Rf(e,r.toStyles)),T.push(o),h.has(e)&&i.push(o)}),T.forEach(t=>{const e=s.get(t.element);if(e&&e.length){const n=nf(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let P=0;P<f.length;P++){const t=f[P],e=t[V_];if(J_(t,Lf),e&&e.hasAnimation)continue;let n=[];if(r.size){let e=r.get(t);e&&e.length&&n.push(...e);let i=this.driver.query(t,If,!0);for(let t=0;t<i.length;t++){let e=r.get(i[t]);e&&e.length&&n.push(...e)}}const i=n.filter(t=>!t.destroyed);i.length?tg(this,t,i):this.processLeaveNode(t)}return f.length=0,S.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),S}elementContainsData(t,e){let n=!1;const i=e[V_];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,s){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!s||s==j_;e.forEach(e=>{e.queued||(t||e.triggerName==i)&&o.push(e)})}}return(n||i)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const i=e.element,s=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const r of e.timelines){const t=r.element,a=t!==i,l=lf(n,t,[]);this._getPreviousPlayers(t,a,s,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Nf(i,e.fromStyles)}_buildAnimation(t,e,n,i,s,o){const r=e.triggerName,a=e.element,l=[],h=new Set,u=new Set,c=e.timelines.map(e=>{const c=e.element;h.add(c);const d=c[V_];if(d&&d.removedBeforeQueried)return new fa(e.duration,e.delay);const p=c!==a,m=function(t){const e=[];return function t(e,n){for(let i=0;i<e.length;i++){const s=e[i];s instanceof _a?t(s.players,n):n.push(s)}}((n.get(c)||N_).map(t=>t.getRealPlayer()),e),e}().filter(t=>!!t.element&&t.element===c),f=s.get(c),_=o.get(c),g=sf(0,this._normalizer,0,e.keyframes,f,_),y=this._buildPlayer(e,g,m);if(e.subTimeline&&i&&u.add(c),p){const e=new $_(t,r,c);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{lf(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>(function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e)){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e]){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i})(this.playersByQueriedElement,t.element,t))}),h.forEach(t=>X_(t,Tf));const d=nf(c);return d.onDestroy(()=>{h.forEach(t=>J_(t,Tf)),Rf(a,e.toStyles)}),u.forEach(t=>{lf(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new fa(t.duration,t.delay)}}class $_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new fa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>of(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){lf(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function q_(t){return t&&1===t.nodeType}function W_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function K_(t,e,n,i,s){const o=[];n.forEach(t=>o.push(W_(t)));const r=[];i.forEach((n,i)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(i,t,s);n&&0!=n.length||(i[V_]=z_,r.push(i))}),t.set(i,o)});let a=0;return n.forEach(t=>W_(t,o[a++])),r}function Y_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),s=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=s.get(e);if(o)return o;const r=e.parentNode;return o=n.has(r)?r:i.has(r)?1:t(r),s.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}const Q_="$$classes";function X_(t,e){if(t.classList)t.classList.add(e);else{let n=t[Q_];n||(n=t[Q_]={}),n[e]=!0}}function J_(t,e){if(t.classList)t.classList.remove(e);else{let n=t[Q_];n&&delete n[e]}}function tg(t,e,n){nf(n).onDone(()=>t.processLeaveNode(e))}function eg(t,e,n){const i=n.get(t);if(!i)return!1;let s=e.get(t);return s?i.forEach(t=>s.add(t)):e.set(t,i),n.delete(t),!0}class ng{constructor(t,e){this._driver=t,this._triggerCache={},this.onRemovalComplete=((t,e)=>{}),this._transitionEngine=new G_(t,e),this._timelineEngine=new I_(t,e),this._transitionEngine.onRemovalComplete=((t,e)=>this.onRemovalComplete(t,e))}registerTrigger(t,e,n,i,s){const o=t+"-"+i;let r=this._triggerCache[o];if(!r){const t=[],e=t_(this._driver,s,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);r=function(t,e){return new k_(t,e)}(i,e),this._triggerCache[o]=r}this._transitionEngine.registerTrigger(e,i,r)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,s]=hf(n);this._timelineEngine.command(t,e,s,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,s){if("@"==n.charAt(0)){const[t,i]=hf(n);return this._timelineEngine.listen(t,e,i,s)}return this._transitionEngine.listen(t,e,n,i,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}const ig=3,sg="animation",og="animationend",rg=1e3;class ag{constructor(t,e,n,i,s,o,r){this._element=t,this._name=e,this._duration=n,this._delay=i,this._easing=s,this._fillMode=o,this._onDoneFn=r,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=(t=>this._handleCallback(t))}apply(){!function(t,e){const n=pg(t,"").trim();n.length&&(function(t,e){let n=0;for(let i=0;i<t.length;i++)","===t.charAt(i)&&n++}(n),e=`${n}, ${e}`),dg(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),cg(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){lg(this._element,this._name,"paused")}resume(){lg(this._element,this._name,"running")}setPosition(t){const e=hg(this._element,this._name);this._position=t*this._duration,dg(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=parseFloat(t.elapsedTime.toFixed(ig))*rg;t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),cg(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=pg(t,"").split(","),i=ug(n,e);i>=0&&(n.splice(i,1),dg(t,"",n.join(",")))}(this._element,this._name))}}function lg(t,e,n){dg(t,"PlayState",n,hg(t,e))}function hg(t,e){const n=pg(t,"");return n.indexOf(",")>0?ug(n.split(","),e):ug([n],e)}function ug(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function cg(t,e,n){n?t.removeEventListener(og,e):t.addEventListener(og,e)}function dg(t,e,n,i){const s=sg+e;if(null!=i){const e=t.style[s];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[s]=n}function pg(t,e){return t.style[sg+e]}const mg="forwards",fg="linear",_g=function(){var t={INITIALIZED:1,STARTED:2,FINISHED:3,DESTROYED:4};return t[t.INITIALIZED]="INITIALIZED",t[t.STARTED]="STARTED",t[t.FINISHED]="FINISHED",t[t.DESTROYED]="DESTROYED",t}();class gg{constructor(t,e,n,i,s,o,r){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=s,this._finalStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this.state=0,this.easing=o||fg,this.totalTime=i+s,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this.state>=_g.DESTROYED||(this.state=_g.DESTROYED,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this.state>=_g.FINISHED||(this.state=_g.FINISHED,this._styler.finish(),this._flushStartFns(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this.state>=_g.STARTED}init(){this.state>=_g.INITIALIZED||(this.state=_g.INITIALIZED,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this.state=_g.STARTED),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new ag(this.element,this.animationName,this._duration,this._delay,this.easing,mg,()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this.state>=_g.FINISHED;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:qf(this.element,n))})}this.currentSnapshot=t}}class yg extends fa{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=bf(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}const vg="gen_css_kf_",bg=" ";class wg{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){let i=`@keyframes ${e} {\n`,s="";(n=n.map(t=>bf(t))).forEach(t=>{s=bg;const e=parseFloat(t.offset);i+=`${s}${100*e}% {\n`,s+=bg,Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${s}animation-timing-function: ${n};\n`));default:return void(i+=`${s}${e}: ${n};\n`)}}),i+=`${s}}\n`}),i+="}\n";const o=document.createElement("style");return o.innerHTML=i,o}animate(t,e,n,i,s,o=[],r){r&&this._notifyFaultyScrubber();const a=o.filter(t=>t instanceof gg),l={};Uf(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=Gf(t,e,l));if(0==n)return new yg(t,h);const u=`${vg}${this._count++}`,c=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(c);const d=new gg(t,e,u,n,i,s,h);return d.onDestroy(()=>void c.parentNode.removeChild(c)),d}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class xg{constructor(t,e,n){this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:qf(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Eg{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Cg().toString()),this._cssKeyframesDriver=new wg}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,s,o=[],r){if(!r&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,s,o);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};s&&(a.easing=s);const l={},h=o.filter(t=>t instanceof xg);return Uf(n,i)&&h.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])}),e=Gf(t,e=e.map(t=>Of(t,!1)),l),new xg(t,e,a)}}function Cg(){return"undefined"!=typeof Element&&Element.prototype.animate||{}}class Lg extends ha{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:ee.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?da(t):t;return Tg(this._renderer,null,e,"register",[n]),new kg(e,this._renderer)}}class kg extends ua{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Sg(this._id,t,e||{},this._renderer)}}class Sg{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Tg(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function Tg(t,e,n,i,s){return t.setProperty(e,`@@${n}:${i}`,s)}const Ig="@",Pg="@.disabled";class Mg{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=((t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)})}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Dg("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,s=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,t),e.data.animation.forEach(e=>this.engine.registerTrigger(i,s,t,e.name,e)),new Ag(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class Dg{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t){return this.delegate.selectRootElement(t)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==Ig&&e==Pg?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Ag extends Dg{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==Ig?"."==e.charAt(1)&&e==Pg?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==Ig){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let s=e.substr(1),o="";return s.charAt(0)!=Ig&&([s,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class Og extends ng{constructor(t,e){super(t,e)}}function Rg(){return"function"==typeof Cg()?new Eg:new wg}function Ng(){return new b_}function Fg(t,e,n){return new Mg(t,e,n)}const zg=new rt("AnimationModuleType");class Vg{}class Bg{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}Bg.ngInjectableDef=ot({factory:function(){return new Bg},token:Bg,providedIn:"root"});const jg=new rt("mat-select-scroll-strategy");function Hg(t){return()=>t.scrollStrategies.reposition()}class Zg{}function Ug(t,e){return new x(e?n=>e.schedule(Gg,0,{error:t,subscriber:n}):e=>e.error(t))}function Gg({error:t,subscriber:e}){e.error(t)}class $g{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Jl(this.value);case"E":return Ug(this.error);case"C":return Xl()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new $g("N",t):$g.undefinedValueNotification}static createError(t){return new $g("E",void 0,t)}static createComplete(){return $g.completeNotification}}function qg(t,e=ph){const n=t instanceof Date&&!isNaN(+t)?+t-e.now():Math.abs(t);return t=>t.lift(new Wg(n,e))}$g.completeNotification=new $g("C"),$g.undefinedValueNotification=new $g("N",void 0);class Wg{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new Kg(t,this.delay,this.scheduler))}}class Kg extends y{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,s=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(s);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else e.active=!1}_schedule(t){this.active=!0,this.add(t.schedule(Kg.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new Yg(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification($g.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t)}_complete(){this.scheduleNotification($g.createComplete())}}class Yg{constructor(t,e){this.time=t,this.notification=e}}let Qg=0;class Xg{constructor(t,e){this.source=t,this.option=e}}const Jg=gd(class{}),ty=new rt("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});class ey extends Jg{constructor(t,e,n){super(),this._changeDetectorRef=t,this._elementRef=e,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new on,this.opened=new on,this.closed=new on,this._classList={},this.id=`mat-autocomplete-${Qg++}`,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=ya(t)}set classList(t){t&&t.length&&(t.split(" ").forEach(t=>this._classList[t.trim()]=!0),this._elementRef.nativeElement.className="")}ngAfterContentInit(){this._keyManager=new Hu(this.options).withWrap(),this._setVisibility()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._classList["mat-autocomplete-visible"]=this.showPanel,this._classList["mat-autocomplete-hidden"]=!this.showPanel,this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new Xg(this,t);this.optionSelected.emit(e)}}const ny=48,iy=256,sy=new rt("mat-autocomplete-scroll-strategy");function oy(t){return()=>t.scrollStrategies.reposition()}class ry{constructor(t,e,n,i,s,o,r,a,l,h){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=s,this._scrollStrategy=o,this._dir=r,this._formField=a,this._document=l,this._viewportRuler=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=f.EMPTY,this._closeKeyEventStream=new S,this._onChange=(()=>{}),this._onTouched=(()=>{}),this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=function(t){return new x(e=>{let n;try{n=t()}catch(t){return void e.error(t)}return(n?G(n):Xl()).subscribe(e)})}(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.asObservable().pipe(Th(1),Tp(()=>this.optionSelections)))}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=ya(t)}ngOnDestroy(){this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(vh(()=>this._overlayAttached)),this._closeKeyEventStream,this._outsideClickStream,this._overlayRef?this._overlayRef.detachments().pipe(vh(()=>this._overlayAttached)):Jl()).pipe(j(t=>t instanceof Ad?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}get _outsideClickStream(){return this._document?Q(lh(this._document,"click"),lh(this._document,"touchend")).pipe(vh(t=>{const e=t.target,n=this._formField?this._formField._elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)})):Jl(null)}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e===Ca&&t.preventDefault(),this.panelOpen&&(e===Ca||e===Sa&&t.altKey))this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation();else if(this.activeOption&&e===Ea&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=e===Sa||e===Ia;this.panelOpen||e===xa?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption()}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&document.activeElement===t.target&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this.openPanel())}_handleFocus(){this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0))}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_scrollToOption(){const t=this.autocomplete._keyManager.activeItemIndex||0,e=function(t,e,n,i){const s=t*e;return s<n?s:s+e>n+iy?Math.max(0,s-iy+e):n}(t+function(t,e,n){if(n.length){let i=e.toArray(),s=n.toArray(),o=0;for(let e=0;e<t+1;e++)i[e].group&&i[e].group===s[o]&&o++;return o}return 0}(t,this.autocomplete.options,this.autocomplete.optionGroups),ny,this.autocomplete._getScrollTop());this.autocomplete._setScrollTop(e)}_subscribeToClosingActions(){return Q(this._zone.onStable.asObservable().pipe(Th(1)),this.autocomplete.options.changes.pipe(Iu(()=>this._positionStrategy.reapplyLastPosition()),qg(0))).pipe(Tp(()=>(this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&this._overlayRef.updatePosition(),this.panelClosingActions)),Th(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!=t&&e.selected&&e.deselect()})}_attachOverlay(){if(!this.autocomplete)throw Error("Attempting to open an undefined instance of `mat-autocomplete`. Make sure that the id passed to the `matAutocomplete` is correct and that you're attempting to open it after the ngAfterContentInit hook.");this._overlayRef?this._overlayRef.updateSize({width:this._getPanelWidth()}):(this._portal=new Oh(this.autocomplete.template,this._viewContainerRef),this._overlayRef=this._overlay.create(this._getOverlayConfig()),this._viewportRuler&&(this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&this._overlayRef&&this._overlayRef.updateSize({width:this._getPanelWidth()})}))),this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const t=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&t!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new Vh({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir})}_getOverlayPosition(){return this._positionStrategy=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]),this._positionStrategy}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption?0:-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}}class ay{}let ly=0;const hy={},uy={setImmediate(t){const e=ly++;return hy[e]=t,e},clearImmediate(t){delete hy[t]}},cy=new class extends dh{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,s=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i<s&&(t=e.shift()));if(this.active=!1,n){for(;++i<s&&(t=e.shift());)t.unsubscribe();throw n}}}(class extends uh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=uy.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(uy.clearImmediate(e),t.scheduled=void 0)}}),dy=new rt("MAT_MENU_PANEL"),py=gd(fd(class{}));class my extends py{constructor(t,e,n,i){super(),this._elementRef=t,this._focusMonitor=n,this._parentMenu=i,this._hovered=new S,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.monitor(this._getHostElement(),!1),i&&i.addItem&&i.addItem(this),this._document=e}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._getHostElement()),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3;let n="";if(t.childNodes){const i=t.childNodes.length;for(let s=0;s<i;s++)t.childNodes[s].nodeType===e&&(n+=t.childNodes[s].textContent)}return n.trim()}}const fy=new rt("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!0,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}}),_y=2;class gy{constructor(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new S,this._tabSubscription=f.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new S,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new on,this.close=this.closed}get xPosition(){return this._xPosition}set xPosition(t){"before"!==t&&"after"!==t&&function(){throw Error('x-position value must be either \'before\' or after\'.\n Example: <mat-menu x-position="before" #menu="matMenu"></mat-menu>')}(),this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: <mat-menu y-position="above" #menu="matMenu"></mat-menu>')}(),this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=ya(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=ya(t)}set panelClass(t){t&&t.length&&(this._classList=t.split(" ").reduce((t,e)=>(t[e]=!0,t),{}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._keyManager=new Zu(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab"))}ngOnDestroy(){this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._itemChanges.pipe(th(this._items),Tp(t=>Q(...t.map(t=>t._hovered))))}_handleKeydown(t){const e=t.keyCode;switch(e){case Ca:this.closed.emit("keydown"),t.stopPropagation();break;case ka:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ta:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Sa&&e!==Ia||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>this._keyManager.setFocusOrigin(t).setFirstItemActive()):this._keyManager.setFocusOrigin(t).setFirstItemActive()}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${_y+t}`,n=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}addItem(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))}removeItem(t){const e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))}setPositionClasses(t=this.xPosition,e=this.yPosition){const n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}}const yy=new rt("mat-menu-scroll-strategy");function vy(t){return()=>t.scrollStrategies.reposition()}const by=8;class wy{constructor(t,e,n,i,s,o,r,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=s,this._menuItemInstance=o,this._dir=r,this._focusMonitor=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=f.EMPTY,this._hoverSubscription=f.EMPTY,this._openedByMouse=!1,this.menuOpened=new on,this.onMenuOpen=this.menuOpened,this.menuClosed=new on,this.onMenuClose=this.menuClosed,o&&(o._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}ngAfterContentInit(){this._checkMenu(),this.menu.close.subscribe(t=>{this._destroyMenu(),"click"!==t&&"tab"!==t||!this._parentMenu||this._parentMenu.closed.emit(t)}),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;const t=this._createOverlay();this._setPosition(t.getConfig().positionStrategy),t.attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof gy&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()}_destroyMenu(){if(!this._overlayRef||!this.menuOpen)return;const t=this.menu;this._closeSubscription.unsubscribe(),this._overlayRef.detach(),t instanceof gy?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(vh(t=>"void"===t.toState),Th(1),ql(t.lazyContent._attached)).subscribe(()=>t.lazyContent.detach(),void 0,()=>{this._resetMenu()}):this._resetMenu()):(this._resetMenu(),t.lazyContent&&t.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_resetMenu(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n <mat-menu #menu="matMenu"></mat-menu>\n <button [matMenuTriggerFor]="menu"></button>')}()}_createOverlay(){if(!this._overlayRef){this._portal=new Oh(this.menu.templateRef,this._viewContainerRef);const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef}_getOverlayConfig(){return new Vh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withTransformOriginOn(".mat-menu-panel"),hasBackdrop:null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,n]="before"===this.menu.xPosition?["end","start"]:["start","end"],[i,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[o,r]=[i,s],[a,l]=[e,n],h=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",n=a="end"===e?"start":"end",h="bottom"===i?by:-by):this.menu.overlapTrigger||(o="top"===i?"bottom":"top",r="top"===s?"bottom":"top"),t.withPositions([{originX:e,originY:o,overlayX:a,overlayY:i,offsetY:h},{originX:n,originY:o,overlayX:l,overlayY:i,offsetY:h},{originX:e,originY:r,overlayX:a,overlayY:s,offsetY:-h},{originX:n,originY:r,overlayX:l,overlayY:s,offsetY:-h}])}_cleanUpSubscriptions(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments();return Q(t,this._parentMenu?this._parentMenu.closed:Jl(),this._parentMenu?this._parentMenu._hovered().pipe(vh(t=>t!==this._menuItemInstance),vh(()=>this._menuOpen)):Jl(),e)}_handleMousedown(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;this.triggersSubmenu()&&(e===Ta&&"ltr"===this.dir||e===ka&&"rtl"===this.dir)&&this.openMenu()}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(vh(t=>t===this._menuItemInstance&&!t.disabled),qg(0,cy)).subscribe(()=>{this._openedByMouse=!0,this.menu instanceof gy&&this.menu._isAnimating?this.menu._animationDone.pipe(Th(1),ql(this._parentMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}}class xy{}let Ey=0;class Cy{constructor(){this.id=`mat-error-${Ey++}`}}class Ly{}function ky(t){return Error(`A hint was already declared for 'align="${t}"'.`)}class Sy{}class Ty{}let Iy=0;const Py=.75,My=5,Dy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ay=new rt("MAT_FORM_FIELD_DEFAULT_OPTIONS");class Oy extends Dy{constructor(t,e,n,i,s,o,r,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=i,this._defaultOptions=s,this._platform=o,this._ngZone=r,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId=`mat-hint-${Iy++}`,this._labelId=`mat-form-field-label-${Iy++}`,this._outlineGapWidth=0,this._outlineGapStart=0,this._initialGapCalculated=!1,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto",this._animationsEnabled="NoopAnimations"!==a}get appearance(){return this._appearance||this._defaultOptions&&this._defaultOptions.appearance||"legacy"}set appearance(t){t!==this._appearance&&"outline"===t&&(this._initialGapCalculated=!1),this._appearance=t}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=ya(t)}get _shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}get _canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${this._control.controlType}`),this._control.stateChanges.pipe(th(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),Q(this._control.ngControl&&this._control.ngControl.valueChanges||Ql,this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>this._changeDetectorRef.markForCheck()),this._hintChildren.changes.pipe(th(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(th(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()})}ngAfterContentChecked(){this._validateControlChild(),this._initialGapCalculated||(this._ngZone?this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.updateOutlineGap())}):Promise.resolve().then(()=>this.updateOutlineGap()))}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!!this._labelChild}_shouldLabelFloat(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,lh(this._label.nativeElement,"transitionend").pipe(Th(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){if(this._hintChildren){let t,e;this._hintChildren.forEach(n=>{if("start"===n.align){if(t||this.hintLabel)throw ky("start");t=n}else if("end"===n.align){if(e)throw ky("end");e=n}})}}_syncDescribedByIds(){if(this._control){let t=[];if("hint"===this._getDisplayedMessages()){let e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")}updateOutlineGap(){if("outline"===this.appearance&&this._label&&this._label.nativeElement.children.length){if(this._platform&&!this._platform.isBrowser)return void(this._initialGapCalculated=!0);if(!document.documentElement.contains(this._elementRef.nativeElement))return;const t=this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect()),e=this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());let n=0;for(const i of this._label.nativeElement.children)n+=i.offsetWidth;this._outlineGapStart=e-t-My,this._outlineGapWidth=n*Py+2*My}else this._outlineGapStart=0,this._outlineGapWidth=0;this._initialGapCalculated=!0,this._changeDetectorRef.markForCheck()}_getStartEnd(t){return this._dir&&"rtl"===this._dir.value?t.right:t.left}}class Ry{}const Ny=!!Bl()&&{passive:!0};class Fy{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Ql;const e=this._monitoredElements.get(t);if(e)return e.subject.asObservable();const n=new S,i="cdk-text-field-autofilled",s=e=>{"cdk-text-field-autofill-start"!==e.animationName||t.classList.contains(i)?"cdk-text-field-autofill-end"===e.animationName&&t.classList.contains(i)&&(t.classList.remove(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!1}))):(t.classList.add(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,Ny),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:n,unlisten:()=>{t.removeEventListener("animationstart",s,Ny)}}),n.asObservable()}stopMonitoring(t){const e=this._monitoredElements.get(t);e&&(e.unlisten(),e.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}Fy.ngInjectableDef=ot({factory:function(){return new Fy(te(Fl),te(rn))},token:Fy,providedIn:"root"});class zy{}const Vy=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let By=0;const jy=function(t){return class extends class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}}{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new S}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}();class Hy extends jy{constructor(t,e,n,i,s,o,r,a,l){super(o,i,s,n),this._elementRef=t,this._platform=e,this.ngControl=n,this._autofillMonitor=a,this._uid=`mat-input-${By++}`,this._isServer=!1,this.focused=!1,this.stateChanges=new S,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>Hl().has(t)),this._inputValueAccessor=r||this._elementRef.nativeElement,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{let e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=ya(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=ya(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Hl().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=ya(t)}ngOnInit(){this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()}focus(){this._elementRef.nativeElement.focus()}_focusChanged(t){t===this.focused||this.readonly||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){if(Vy.indexOf(this._type)>-1)throw function(t){return Error(`Input type "${t}" isn't supported by matInput.`)}(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}_isTextarea(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){return this.focused||!this.empty}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus()}}class Zy{}const Uy=100,Gy=10,$y=_d(class{constructor(t){this._elementRef=t}},"primary"),qy=new rt("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:Uy}}}),Wy="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class Ky extends $y{constructor(t,e,n,i,s){super(t),this._elementRef=t,this._document=n,this.animationMode=i,this.defaults=s,this._value=0,this._fallbackAnimation=!1,this._noopAnimations="NoopAnimations"===this.animationMode&&!!this.defaults&&!this.defaults._forceAnimations,this._diameter=Uy,this.mode="determinate",this._fallbackAnimation=e.EDGE||e.TRIDENT,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth)),t.nativeElement.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}get diameter(){return this._diameter}set diameter(t){this._diameter=va(t),this._fallbackAnimation||Ky.diameters.has(this._diameter)||this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=va(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,va(t)))}get _circleRadius(){return(this.diameter-Gy)/2}get _viewBox(){const t=2*this._circleRadius+this.strokeWidth;return`0 0 ${t} ${t}`}get _strokeCircumference(){return 2*Math.PI*this._circleRadius}get _strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null}get _circleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){let t=Ky.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),Ky.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),Ky.diameters.add(this.diameter)}_getAnimationText(){return Wy.replace(/START_VALUE/g,`${.95*this._strokeCircumference}`).replace(/END_VALUE/g,`${.2*this._strokeCircumference}`).replace(/DIAMETER/g,`${this.diameter}`)}}Ky.diameters=new Set([Uy]),Ky.styleTag=null;class Yy extends Ky{constructor(t,e,n,i,s){super(t,e,n,i,s),this.mode="indeterminate"}}class Qy{}const Xy=new rt("mat-chips-default-options");class Jy{}class tv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new ev(t,this.selector,this.caught))}}class ev extends B{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle(),this.add(V(this,e))}}}class nv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new iv(t,this.callback))}}class iv extends y{constructor(t,e){super(t),this.add(new f(e))}}function sv(t){return Error(`Unable to find icon with the name "${t}"`)}function ov(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL "+`via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rv(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by "+`Angular's DomSanitizer. Attempted literal was "${t}".`)}class av{constructor(t){t.nodeName?this.svgElement=t:this.url=t}}class lv{constructor(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e){return this.addSvgIconInNamespace("",t,e)}addSvgIconLiteral(t,e){return this.addSvgIconLiteralInNamespace("",t,e)}addSvgIconInNamespace(t,e,n){return this._addSvgIconConfig(t,e,new av(n))}addSvgIconLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(Oi.HTML,n);if(!i)throw rv(n);const s=this._createSvgElementForSingleIcon(i);return this._addSvgIconConfig(t,e,new av(s))}addSvgIconSet(t){return this.addSvgIconSetInNamespace("",t)}addSvgIconSetLiteral(t){return this.addSvgIconSetLiteralInNamespace("",t)}addSvgIconSetInNamespace(t,e){return this._addSvgIconSetConfig(t,new av(e))}addSvgIconSetLiteralInNamespace(t,e){const n=this._sanitizer.sanitize(Oi.HTML,e);if(!n)throw rv(e);const i=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new av(i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._cachedIconsByUrl.get(e);return n?Jl(hv(n)):this._loadSvgIconFromConfig(new av(t)).pipe(Iu(t=>this._cachedIconsByUrl.set(e,t)),j(t=>hv(t)))}getNamedSvgIcon(t,e=""){const n=uv(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);const s=this._iconSetConfigs.get(e);return s?this._getSvgFromIconSetConfigs(t,s):Ug(sv(n))}_getSvgFromConfig(t){return t.svgElement?Jl(hv(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Iu(e=>t.svgElement=e),j(t=>hv(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Jl(n):Dp(e.filter(t=>!t.svgElement).map(t=>this._loadSvgIconSetFromConfig(t).pipe(function(t){return function(e){const n=new tv(t),i=e.lift(n);return n.caught=i}}(e=>{const n=this._sanitizer.sanitize(Oi.RESOURCE_URL,t.url);return console.error(`Loading icon set URL: ${n} failed: ${e.message}`),Jl(null)})))).pipe(j(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw sv(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgElement){const e=this._extractSvgIconFromSet(i.svgElement,t);if(e)return e}}return null}_loadSvgIconFromConfig(t){return this._fetchUrl(t.url).pipe(j(t=>this._createSvgElementForSingleIcon(t)))}_loadSvgIconSetFromConfig(t){return t.svgElement?Jl(t.svgElement):this._fetchUrl(t.url).pipe(j(e=>(t.svgElement||(t.svgElement=this._svgElementFromString(e)),t.svgElement)))}_createSvgElementForSingleIcon(t){const e=this._svgElementFromString(t);return this._setSvgAttributes(e),e}_extractSvgIconFromSet(t,e){const n=t.querySelector("#"+e);if(!n)return null;const i=n.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i));const s=this._svgElementFromString("<svg></svg>");return s.appendChild(i),this._setSvgAttributes(s)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString("<svg></svg>");for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),t}_fetchUrl(t){if(!this._httpClient)throw Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.");if(null==t)throw Error(`Cannot fetch icon from URL "${t}".`);const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._inProgressUrlFetches.get(e);if(n)return n;const i=this._httpClient.get(e,{responseType:"text"}).pipe(function(t){return e=>e.lift(new nv(t))}(()=>this._inProgressUrlFetches.delete(e)),st());return this._inProgressUrlFetches.set(e,i),i}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(uv(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}}function hv(t){return t.cloneNode(!0)}function uv(t,e){return t+":"+e}lv.ngInjectableDef=ot({factory:function(){return new lv(te(sp,8),te(td),te(Ol,8))},token:lv,providedIn:"root"});const cv=_d(class{constructor(t){this._elementRef=t}});class dv extends cv{constructor(t,e,n){super(t),this._iconRegistry=e,this._inline=!1,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=ya(t)}get fontSet(){return this._fontSet}set fontSet(t){this._fontSet=this._cleanupFontValue(t)}get fontIcon(){return this._fontIcon}set fontIcon(t){this._fontIcon=this._cleanupFontValue(t)}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnChanges(t){if(t.svgIcon)if(this.svgIcon){const[t,e]=this._splitIconName(this.svgIcon);this._iconRegistry.getNamedSvgIcon(e,t).pipe(Th(1)).subscribe(t=>this._setSvgElement(t),t=>console.log(`Error retrieving icon: ${t.message}`))}else this._clearSvgElement();this._usingFontIcon()&&this._updateFontIconClasses()}ngOnInit(){this._usingFontIcon()&&this._updateFontIconClasses()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n<e.length;n++)e[n].textContent+=" ";this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(;e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||t.removeChild(n)}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();e!=this._previousFontSetClass&&(this._previousFontSetClass&&t.classList.remove(this._previousFontSetClass),e&&t.classList.add(e),this._previousFontSetClass=e),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}}class pv{}const mv="accent",fv="primary",_v=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],gv=_d(fd(gd(class{constructor(t){this._elementRef=t}})));class yv extends gv{constructor(t,e,n,i){super(t),this._platform=e,this._focusMonitor=n,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of _v)this._hasHostAttributes(s)&&t.nativeElement.classList.add(s);this._focusMonitor.monitor(this._elementRef.nativeElement,!0),this.isRoundButton?this.color=mv:this._hasHostAttributes("mat-flat-button")&&(this.color=fv)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}focus(){this._getHostElement().focus()}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}class vv{}class bv{}class wv{}class xv{constructor(t){this._viewContainer=t,xv.mostRecentCellOutlet=this}ngOnDestroy(){xv.mostRecentCellOutlet===this&&(xv.mostRecentCellOutlet=null)}}xv.mostRecentCellOutlet=null;class Ev{}class Cv{}var Lv=Ji({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function kv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Sv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Tv(t){return Go(2,[(t()(),Ts(0,0,null,null,5,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,kv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Sv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,"indeterminate"===e.component.mode),t(e,3,0,!0),t(e,5,0,!1)},function(t,e){var n=e.component;t(e,0,0,n.diameter,n.diameter,n._viewBox)})}var Iv=Ji({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media screen and (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Pv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null],[2,"_mat-animation-noopable",null]],null,null,Av,Dv)),go(1,49152,null,0,Sd,[[2,zg]],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===io(e,1).state,"checked"===io(e,1).state,io(e,1).disabled,"NoopAnimations"===io(e,1)._animationMode)})}function Mv(t){return Go(2,[(t()(),Ss(16777216,null,null,1,null,Pv)),go(1,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(5,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,io(e,5).unbounded)})}var Dv=Ji({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:7px;left:0;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:3px;left:1px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Av(t){return Go(2,[],null,null)}var Ov=Ji({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Rv(t){return Go(2,[Oo(402653184,1,{ripple:0}),(t()(),Ts(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(4,212992,[[1,4]],0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),Ts(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n.isRoundButton||n.isIconButton,io(e,4).unbounded)})}var Nv=Ji({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],data:{}});function Fv(t){return Go(2,[Vo(null,0)],null,null)}var zv=Ji({encapsulation:2,styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none}",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}",".mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],data:{animation:[{type:7,name:"transitionMessages",definitions:[{type:0,name:"enter",styles:{type:6,styles:{opacity:1,transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:[{type:6,styles:{opacity:0,transform:"translateY(-100%)"},offset:null},{type:4,styles:null,timings:"300ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Vv(t){return Go(0,[(t()(),Ts(0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),Ts(1,0,null,null,3,"div",[["class","mat-form-field-outline"]],null,null,null,null,null)),(t()(),Ts(2,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(3,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,3,"div",[["class","mat-form-field-outline mat-form-field-outline-thick"]],null,null,null,null,null)),(t()(),Ts(6,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(7,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(8,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null))],null,function(t,e){var n=e.component;t(e,2,0,n._outlineGapStart),t(e,3,0,n._outlineGapWidth),t(e,6,0,n._outlineGapStart),t(e,7,0,n._outlineGapWidth)})}function Bv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-prefix"]],null,null,null,null,null)),Vo(null,0)],null,null)}function jv(t){return Go(0,[(t()(),Ts(0,0,null,null,2,null,null,null,null,null,null,null)),Vo(null,2),(t()(),Ho(2,null,["",""]))],null,function(t,e){t(e,2,0,e.component._control.placeholder)})}function Hv(t){return Go(0,[Vo(null,3),(t()(),Ss(0,null,null,0))],null,null)}function Zv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"span",[["aria-hidden","true"],["class","mat-placeholder-required mat-form-field-required-marker"]],null,null,null,null,null)),(t()(),Ho(-1,null,["\xa0*"]))],null,null)}function Uv(t){return Go(0,[(t()(),Ts(0,0,[[4,0],["label",1]],null,7,"label",[["class","mat-form-field-label"]],[[8,"id",0],[1,"for",0],[1,"aria-owns",0],[2,"mat-empty",null],[2,"mat-form-field-empty",null],[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,jv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Hv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Zv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,n._hasLabel()),t(e,3,0,!1),t(e,5,0,!0),t(e,7,0,!n.hideRequiredMarker&&n._control.required&&!n._control.disabled)},function(t,e){var n=e.component;t(e,0,0,n._labelId,n._control.id,n._control.id,n._control.empty&&!n._shouldAlwaysFloat,n._control.empty&&!n._shouldAlwaysFloat,"accent"==n.color,"warn"==n.color)})}function Gv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-suffix"]],null,null,null,null,null)),Vo(null,4)],null,null)}function $v(t){return Go(0,[(t()(),Ts(0,0,[[1,0],["underline",1]],null,1,"div",[["class","mat-form-field-underline"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,0,"span",[["class","mat-form-field-ripple"]],[[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,1,0,"accent"==n.color,"warn"==n.color)})}function qv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],[[24,"@transitionMessages",0]],null,null,null,null)),Vo(null,5)],null,function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Wv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-hint"]],[[8,"id",0]],null,null,null,null)),(t()(),Ho(1,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n._hintLabelId),t(e,1,0,n.hintLabel)})}function Kv(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"div",[["class","mat-form-field-hint-wrapper"]],[[24,"@transitionMessages",0]],null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Wv)),go(2,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),Vo(null,6),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-hint-spacer"]],null,null,null,null,null)),Vo(null,7)],function(t,e){t(e,2,0,e.component.hintLabel)},function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Yv(t){return Go(2,[Oo(671088640,1,{underlineRef:0}),Oo(402653184,2,{_connectionContainerRef:0}),Oo(402653184,3,{_inputContainerRef:0}),Oo(671088640,4,{_label:0}),(t()(),Ts(4,0,null,null,20,"div",[["class","mat-form-field-wrapper"]],null,null,null,null,null)),(t()(),Ts(5,0,[[2,0],["connectionContainer",1]],null,11,"div",[["class","mat-form-field-flex"]],null,[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==(s._control.onContainerClick&&s._control.onContainerClick(n))&&i),i},null,null)),(t()(),Ss(16777216,null,null,1,null,Vv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Bv)),go(9,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(10,0,[[3,0],["inputContainer",1]],null,4,"div",[["class","mat-form-field-infix"]],null,null,null,null,null)),Vo(null,1),(t()(),Ts(12,0,null,null,2,"span",[["class","mat-form-field-label-wrapper"]],null,null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Uv)),go(14,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Gv)),go(16,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,$v)),go(18,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(19,0,null,null,5,"div",[["class","mat-form-field-subscript-wrapper"]],null,null,null,null,null)),go(20,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,qv)),go(22,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Kv)),go(24,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){var n=e.component;t(e,7,0,"outline"==n.appearance),t(e,9,0,n._prefixChildren.length),t(e,14,0,n._hasFloatingLabel()),t(e,16,0,n._suffixChildren.length),t(e,18,0,"outline"!=n.appearance),t(e,20,0,n._getDisplayedMessages()),t(e,22,0,"error"),t(e,24,0,"hint")},null)}var Qv=Ji({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media screen and (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}.mat-menu-panel.ng-animating .mat-menu-item-submenu-trigger{pointer-events:none}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:{type:2,steps:[{type:11,selector:".mat-menu-content",animation:{type:6,styles:{opacity:0},offset:null},options:null},{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},timings:"100ms linear"},{type:3,steps:[{type:11,selector:".mat-menu-content",animation:{type:4,styles:{type:6,styles:{opacity:1},offset:null},timings:"400ms cubic-bezier(0.55, 0, 0.55, 0.2)"},options:null},{type:4,styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null}],options:null},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Xv(t){return Go(0,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.start"],[null,"@transformMenu.done"]],function(t,e,n){var i=!0,s=t.component;return"keydown"===e&&(i=!1!==s._handleKeydown(n)&&i),"click"===e&&(i=!1!==s.closed.emit("click")&&i),"@transformMenu.start"===e&&(i=0!=(s._isAnimating=!0)&&i),"@transformMenu.done"===e&&(i=!1!==s._onAnimationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),Ts(2,0,null,null,1,"div",[["class","mat-menu-content"]],null,null,null,null,null)),Vo(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState)})}function Jv(t){return Go(2,[Oo(402653184,1,{templateRef:0}),(t()(),Ss(0,[[1,2]],null,0,null,Xv))],null,null)}var tb=Ji({encapsulation:2,styles:[],data:{}});function eb(t){return Go(2,[Vo(null,0),(t()(),Ts(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(2,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,io(e,2).unbounded)})}var nb=Ji({encapsulation:2,styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}@media screen and (-ms-high-contrast:active){.mat-autocomplete-panel{outline:solid 1px}}"],data:{}});function ib(t){return Go(0,[(t()(),Ts(0,0,[[2,0],["panel",1]],null,2,"div",[["class","mat-autocomplete-panel"],["role","listbox"]],[[8,"id",0]],null,null,null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),Vo(null,0)],function(t,e){t(e,1,0,"mat-autocomplete-panel",e.component._classList)},function(t,e){t(e,0,0,e.component.id)})}function sb(t){return Go(2,[Oo(402653184,1,{template:0}),Oo(671088640,2,{panel:0}),(t()(),Ss(0,[[1,2]],null,0,null,ib))],null,null)}var ob=Ji({encapsulation:2,styles:["[hidden]{display:none!important}#geoloc-map{display:flex;flex-direction:column;min-height:200px}#geoloc-map #geoloc-map-meta{flex:1;padding:15px 15px 0}#geoloc-map #geoloc-map-meta .geolocationInputs{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}#geoloc-map #geoloc-map-meta .geolocationInputs .longitude-input-group{margin-left:5px}#geoloc-map #geoloc-map-draw{position:relative;flex:3}#geoloc-map #httpTasksRunningSpinner{flex:1}button .mini{min-width:0;line-height:30px}.geolocatedPhotoMetadataTable{width:100%}.sub-map-infos{color:#c5c5c5;display:flex;justify-content:space-between;flex-direction:row;padding:5px}.sub-map-infos.has-data{color:#000}.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{display:flex;flex-direction:row;flex-wrap:wrap}@media only screen and (max-width:600px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{margin-left:70px}}@media only screen and (max-width:360px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:37px}.lat-lng-dec-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}.lat-lng-dec-wrapper .latitude-wrapper,.lat-lng-dms-wrapper .latitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:-37px}.lat-lng-dec-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}}"],data:{}});function rb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[7,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function ab(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"osm")))})}function lb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"mapQuest")))})}function hb(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==io(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==io(t,1)._handleKeydown(n)&&i),i},Mv,Iv)),go(1,8568832,[[8,4]],0,Rd,[Mn,Rn,[2,Od],[2,Md]],{value:[0,"value"]},null),(t()(),Ss(16777216,null,0,1,null,ab)),go(3,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,0,1,null,lb)),go(5,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,e.context.$implicit),t(e,3,0,"osm"==n.geolocationProvider),t(e,5,0,"mapQuest"==n.geolocationProvider)},function(t,e){t(e,0,0,io(e,1)._getTabIndex(),io(e,1).selected,io(e,1).multiple,io(e,1).active,io(e,1).id,io(e,1).selected.toString(),io(e,1).disabled.toString(),io(e,1).disabled)})}function ub(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[16,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function cb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[13,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function db(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[23,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function pb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[20,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function mb(t){return Go(0,[(t()(),Ts(0,0,null,null,56,"div",[["class","lat-lng-dec-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,27,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,20,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,10,{_control:0}),Oo(335544320,11,{_placeholderChild:0}),Oo(335544320,12,{_labelChild:0}),Oo(603979776,13,{_errorChildren:1}),Oo(603979776,14,{_hintChildren:1}),Oo(603979776,15,{_prefixChildren:1}),Oo(603979776,16,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","latInput"],["matInput",""],["placeholder","latitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[10,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,ub)),go(26,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,cb)),go(28,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(29,0,null,null,27,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(30,0,null,null,20,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(31,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,17,{_control:0}),Oo(335544320,18,{_placeholderChild:0}),Oo(335544320,19,{_labelChild:0}),Oo(603979776,20,{_errorChildren:1}),Oo(603979776,21,{_hintChildren:1}),Oo(603979776,22,{_prefixChildren:1}),Oo(603979776,23,{_suffixChildren:1}),(t()(),Ts(39,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","lngInput"],["matInput",""],["placeholder","longitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,40)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,40).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,40)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,40)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,44)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,44)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,44)._onInput()&&i),i},null,null)),go(40,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(42,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(44,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(45,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[17,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,db)),go(48,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,pb)),go(50,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(51,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromLatLngCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(52,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(53,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,54).show()&&i),"keydown"===e&&(i=!1!==io(t,54)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,54)._handleTouchend()&&i),i},Fv,Nv)),go(54,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(55,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"latInput"),t(e,22,0,"latitude"),t(e,26,0,n.isLoadingLatitude),t(e,28,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,42,0,"lngInput"),t(e,44,0,"longitude"),t(e,48,0,n.isLoadingLongitude),t(e,50,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,52,0,!n.latlngFormGroup.controls.latInput.valid||!n.latlngFormGroup.controls.lngInput.valid,"primary"),t(e,54,0,"Utiliser ces coordonn\xe9es"),t(e,55,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,30,1,["standard"==io(e,31).appearance,"fill"==io(e,31).appearance,"outline"==io(e,31).appearance,"legacy"==io(e,31).appearance,io(e,31)._control.errorState,io(e,31)._canLabelFloat,io(e,31)._shouldLabelFloat(),io(e,31)._hideControlPlaceholder(),io(e,31)._control.disabled,io(e,31)._control.autofilled,io(e,31)._control.focused,"accent"==io(e,31).color,"warn"==io(e,31).color,io(e,31)._shouldForward("untouched"),io(e,31)._shouldForward("touched"),io(e,31)._shouldForward("pristine"),io(e,31)._shouldForward("dirty"),io(e,31)._shouldForward("valid"),io(e,31)._shouldForward("invalid"),io(e,31)._shouldForward("pending"),!io(e,31)._animationsEnabled]),t(e,39,1,[io(e,44)._isServer,io(e,44).id,io(e,44).placeholder,io(e,44).disabled,io(e,44).required,io(e,44).readonly,io(e,44)._ariaDescribedby||null,io(e,44).errorState,io(e,44).required.toString(),io(e,45).ngClassUntouched,io(e,45).ngClassTouched,io(e,45).ngClassPristine,io(e,45).ngClassDirty,io(e,45).ngClassValid,io(e,45).ngClassInvalid,io(e,45).ngClassPending]),t(e,51,0,io(e,52).disabled||null,"NoopAnimations"===io(e,52)._animationMode),t(e,53,0,io(e,55).inline)})}function fb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[30,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function _b(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[27,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function gb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[37,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function yb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[34,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function vb(t){return Go(0,[(t()(),Ts(0,0,null,null,62,"div",[["class","lat-lng-dms-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,30,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,23,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,24,{_control:0}),Oo(335544320,25,{_placeholderChild:0}),Oo(335544320,26,{_labelChild:0}),Oo(603979776,27,{_errorChildren:1}),Oo(603979776,28,{_hintChildren:1}),Oo(603979776,29,{_prefixChildren:1}),Oo(603979776,30,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLatInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[24,4]],Ly,null,[Hy]),(t()(),Ts(25,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(26,16384,[[29,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["N\xa0"])),(t()(),Ss(16777216,null,4,1,null,fb)),go(29,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,_b)),go(31,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(32,0,null,null,30,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(33,0,null,null,23,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(34,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,31,{_control:0}),Oo(335544320,32,{_placeholderChild:0}),Oo(335544320,33,{_labelChild:0}),Oo(603979776,34,{_errorChildren:1}),Oo(603979776,35,{_hintChildren:1}),Oo(603979776,36,{_prefixChildren:1}),Oo(603979776,37,{_suffixChildren:1}),(t()(),Ts(42,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLngInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,43)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,43).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,43)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,43)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,47)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,47)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,47)._onInput()&&i),i},null,null)),go(43,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(45,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(47,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(48,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[31,4]],Ly,null,[Hy]),(t()(),Ts(50,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(51,16384,[[36,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["E\xa0"])),(t()(),Ss(16777216,null,4,1,null,gb)),go(54,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,yb)),go(56,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(57,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromDmsCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(58,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(59,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,60).show()&&i),"keydown"===e&&(i=!1!==io(t,60)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,60)._handleTouchend()&&i),i},Fv,Nv)),go(60,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(61,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"dmsLatInput"),t(e,22,0,"(deg)\xb0 (min)' (sec)\""),t(e,29,0,n.isLoadingLatitude),t(e,31,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,45,0,"dmsLngInput"),t(e,47,0,"(deg)\xb0 (min)' (sec)\""),t(e,54,0,n.isLoadingLongitude),t(e,56,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,58,0,!n.latlngFormGroup.controls.dmsLatInput.valid||!n.latlngFormGroup.controls.dmsLngInput.valid,"primary"),t(e,60,0,"Utiliser ces coordonn\xe9es"),t(e,61,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,33,1,["standard"==io(e,34).appearance,"fill"==io(e,34).appearance,"outline"==io(e,34).appearance,"legacy"==io(e,34).appearance,io(e,34)._control.errorState,io(e,34)._canLabelFloat,io(e,34)._shouldLabelFloat(),io(e,34)._hideControlPlaceholder(),io(e,34)._control.disabled,io(e,34)._control.autofilled,io(e,34)._control.focused,"accent"==io(e,34).color,"warn"==io(e,34).color,io(e,34)._shouldForward("untouched"),io(e,34)._shouldForward("touched"),io(e,34)._shouldForward("pristine"),io(e,34)._shouldForward("dirty"),io(e,34)._shouldForward("valid"),io(e,34)._shouldForward("invalid"),io(e,34)._shouldForward("pending"),!io(e,34)._animationsEnabled]),t(e,42,1,[io(e,47)._isServer,io(e,47).id,io(e,47).placeholder,io(e,47).disabled,io(e,47).required,io(e,47).readonly,io(e,47)._ariaDescribedby||null,io(e,47).errorState,io(e,47).required.toString(),io(e,48).ngClassUntouched,io(e,48).ngClassTouched,io(e,48).ngClassPristine,io(e,48).ngClassDirty,io(e,48).ngClassValid,io(e,48).ngClassInvalid,io(e,48).ngClassPending]),t(e,57,0,io(e,58).disabled||null,"NoopAnimations"===io(e,58)._animationMode),t(e,59,0,io(e,61).inline)})}function bb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[46,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function wb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[["matSuffix",""]],null,null,null,null,null)),go(1,16384,[[46,4]],0,Ty,[],null,null),(t()(),Ho(-1,null,["m"]))],null,null)}function xb(t){return Go(0,[(t()(),Ts(0,0,null,null,44,"div",[["class","geolocationInputs"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,2).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,2).onReset()&&i),i},null,null)),go(2,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(4,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ss(16777216,null,null,1,null,mb)),go(6,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,vb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(9,0,null,null,10,"mat-menu",[],null,null,null,Jv,Qv)),go(10,1294336,[["menu",4]],2,gy,[Mn,rn,fy],null,null),Oo(603979776,38,{items:1}),Oo(335544320,39,{lazyContent:0}),vo(2048,null,dy,null,[gy]),(t()(),Ts(14,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,15)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,15)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("dms")&&i),i},eb,tb)),go(15,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["Degr\xe9s minutes secondes"])),(t()(),Ts(17,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,18)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,18)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("decimal")&&i),i},eb,tb)),go(18,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["D\xe9cimal"])),(t()(),Ts(20,0,null,null,24,"div",[["class","elevationInput"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,21).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,21).onReset()&&i),i},null,null)),go(21,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(23,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ts(24,0,null,null,20,"mat-form-field",[["class","mat-form-field"],["style","width: 100px;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(25,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,40,{_control:0}),Oo(335544320,41,{_placeholderChild:0}),Oo(335544320,42,{_labelChild:0}),Oo(603979776,43,{_errorChildren:1}),Oo(603979776,44,{_hintChildren:1}),Oo(603979776,45,{_prefixChildren:1}),Oo(603979776,46,{_suffixChildren:1}),(t()(),Ts(33,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","elevationInput"],["matInput",""],["placeholder","altitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,34)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,34).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,34)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,34)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,38)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,38)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,38)._onInput()&&i),i},null,null)),go(34,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(36,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(38,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(39,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[40,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,bb)),go(42,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,4,1,null,wb)),go(44,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.latlngFormGroup),t(e,6,0,"decimal"==n.coordFormat),t(e,8,0,"dms"==n.coordFormat),t(e,10,0),t(e,21,0,n.elevationFormGroup),t(e,36,0,"elevationInput"),t(e,38,0,"altitude"),t(e,42,0,n.isLoadingElevation),t(e,44,0,!n.isLoadingElevation)},function(t,e){t(e,1,0,io(e,4).ngClassUntouched,io(e,4).ngClassTouched,io(e,4).ngClassPristine,io(e,4).ngClassDirty,io(e,4).ngClassValid,io(e,4).ngClassInvalid,io(e,4).ngClassPending),t(e,14,0,io(e,15)._highlighted,io(e,15)._triggersSubmenu,io(e,15)._getTabIndex(),io(e,15).disabled.toString(),io(e,15).disabled||null),t(e,17,0,io(e,18)._highlighted,io(e,18)._triggersSubmenu,io(e,18)._getTabIndex(),io(e,18).disabled.toString(),io(e,18).disabled||null),t(e,20,0,io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending),t(e,24,1,["standard"==io(e,25).appearance,"fill"==io(e,25).appearance,"outline"==io(e,25).appearance,"legacy"==io(e,25).appearance,io(e,25)._control.errorState,io(e,25)._canLabelFloat,io(e,25)._shouldLabelFloat(),io(e,25)._hideControlPlaceholder(),io(e,25)._control.disabled,io(e,25)._control.autofilled,io(e,25)._control.focused,"accent"==io(e,25).color,"warn"==io(e,25).color,io(e,25)._shouldForward("untouched"),io(e,25)._shouldForward("touched"),io(e,25)._shouldForward("pristine"),io(e,25)._shouldForward("dirty"),io(e,25)._shouldForward("valid"),io(e,25)._shouldForward("invalid"),io(e,25)._shouldForward("pending"),!io(e,25)._animationsEnabled]),t(e,33,1,[io(e,38)._isServer,io(e,38).id,io(e,38).placeholder,io(e,38).disabled,io(e,38).required,io(e,38).readonly,io(e,38)._ariaDescribedby||null,io(e,38).errorState,io(e,38).required.toString(),io(e,39).ngClassUntouched,io(e,39).ngClassTouched,io(e,39).ngClassPristine,io(e,39).ngClassDirty,io(e,39).ngClassValid,io(e,39).ngClassInvalid,io(e,39).ngClassPending])})}function Eb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(1,null,["altitude : "," m"]))],null,function(t,e){t(e,1,0,e.component.elevationFormGroup.controls.elevationInput.value)})}function Cb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(-1,null,["altitude : calcul en cours..."]))],null,null)}function Lb(t){return Go(0,[(t()(),Ts(0,0,null,null,10,"div",[["class","sub-map-infos"]],[[2,"has-data",null]],null,null,null,null)),(t()(),Ts(1,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(2,null,["latitude : ",""])),jo(3,2),(t()(),Ts(4,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(5,null,["longitude : ",""])),jo(6,2),(t()(),Ss(16777216,null,null,1,null,Eb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Cb)),go(10,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,8,0,!n.isLoadingElevation),t(e,10,0,n.isLoadingElevation)},function(t,e){var n=e.component;t(e,0,0,""!==n.latlngFormGroup.controls.latInput.value&&""!==n.latlngFormGroup.controls.lngInput.value),t(e,2,0,Yi(e,2,0,t(e,3,0,io(e.parent,1),n.latlngFormGroup.controls.latInput.value,"2.0-6"))),t(e,5,0,Yi(e,5,0,t(e,6,0,io(e.parent,1),n.latlngFormGroup.controls.lngInput.value,"2.0-6")))})}function kb(t){return Go(0,[yo(0,tf,[Qm]),yo(0,Dl,[ri]),(t()(),Ts(2,0,null,null,34,"div",[["id","geoloc-map"]],null,null,null,null,null)),(t()(),Ts(3,0,null,null,29,"div",[["id","geoloc-map-meta"]],null,null,null,null,null)),(t()(),Ts(4,0,null,null,26,"mat-form-field",[["class","mat-form-field"],["style","width: 100%;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(5,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,1,{_control:0}),Oo(335544320,2,{_placeholderChild:0}),Oo(335544320,3,{_labelChild:0}),Oo(603979776,4,{_errorChildren:1}),Oo(603979776,5,{_hintChildren:1}),Oo(603979776,6,{_prefixChildren:1}),Oo(603979776,7,{_suffixChildren:1}),(t()(),Ts(13,16777216,null,1,8,"input",[["aria-label","Trouver un lieu"],["class","mat-input-element mat-form-field-autofill-control"],["matInput",""],["placeholder","Trouver un lieu"]],[[1,"autocomplete",0],[1,"role",0],[1,"aria-autocomplete",0],[1,"aria-activedescendant",0],[1,"aria-expanded",0],[1,"aria-owns",0],[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"focusin"],[null,"blur"],[null,"input"],[null,"keydown"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"focusin"===e&&(i=!1!==io(t,14)._handleFocus()&&i),"blur"===e&&(i=!1!==io(t,14)._onTouched()&&i),"input"===e&&(i=!1!==io(t,14)._handleInput(n)&&i),"keydown"===e&&(i=!1!==io(t,14)._handleKeydown(n)&&i),"input"===e&&(i=!1!==io(t,15)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,15).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,15)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,15)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,19)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,19)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,19)._onInput()&&i),i},null,null)),go(14,147456,null,0,ry,[Mn,ru,On,rn,Rn,sy,[2,Su],[2,Oy],[2,Ol],Lh],{autocomplete:[0,"autocomplete"]},null),go(15,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t,e){return[t,e]},[ry,Up]),go(17,540672,null,0,Pm,[[8,null],[8,null],[6,Hp],[2,Im]],{form:[0,"form"]},null),vo(2048,null,Wp,null,[Pm]),go(19,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(20,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[1,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,rb)),go(23,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(24,0,null,1,6,"mat-autocomplete",[["class","mat-autocomplete"]],null,[[null,"optionSelected"]],function(t,e,n){var i=!0;return"optionSelected"===e&&(i=!1!==t.component.addressSelectedChanged(n)&&i),i},sb,nb)),vo(6144,null,Od,null,[ey]),go(26,1097728,[["auto",4]],2,ey,[Rn,Mn,ty],null,{optionSelected:"optionSelected"}),Oo(603979776,8,{options:1}),Oo(603979776,9,{optionGroups:1}),(t()(),Ss(16777216,null,0,1,null,hb)),go(30,802816,null,0,sl,[On,An,ti],{ngForOf:[0,"ngForOf"]},null),(t()(),Ss(16777216,null,null,1,null,xb)),go(32,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(33,0,null,null,1,"div",[["id","geoloc-map-draw"],["leaflet",""],["style","height: 400px; min-height: 400px;"]],null,[[null,"leafletMapReady"],["window","resize"]],function(t,e,n){var i=!0,s=t.component;return"window:resize"===e&&(i=!1!==io(t,34).onResize()&&i),"leafletMapReady"===e&&(i=!1!==s.onMapReady(n)&&i),i},null,null)),go(34,606208,null,0,jm,[Mn,rn],{options:[0,"options"]},{mapReady:"leafletMapReady"}),(t()(),Ss(16777216,null,null,1,null,Lb)),go(36,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,14,0,io(e,26)),t(e,17,0,n.geoSearchFormGroup.controls.placeInput),t(e,19,0,"Trouver un lieu"),t(e,23,0,n.isLoadingAddress),t(e,30,0,n.geoSearchResults),t(e,32,0,n.showLatLngElevationInputs),t(e,34,0,n.mapOptions),t(e,36,0,!n.showLatLngElevationInputs)},function(t,e){t(e,4,1,["standard"==io(e,5).appearance,"fill"==io(e,5).appearance,"outline"==io(e,5).appearance,"legacy"==io(e,5).appearance,io(e,5)._control.errorState,io(e,5)._canLabelFloat,io(e,5)._shouldLabelFloat(),io(e,5)._hideControlPlaceholder(),io(e,5)._control.disabled,io(e,5)._control.autofilled,io(e,5)._control.focused,"accent"==io(e,5).color,"warn"==io(e,5).color,io(e,5)._shouldForward("untouched"),io(e,5)._shouldForward("touched"),io(e,5)._shouldForward("pristine"),io(e,5)._shouldForward("dirty"),io(e,5)._shouldForward("valid"),io(e,5)._shouldForward("invalid"),io(e,5)._shouldForward("pending"),!io(e,5)._animationsEnabled]),t(e,13,1,[io(e,14).autocompleteAttribute,io(e,14).autocompleteDisabled?null:"combobox",io(e,14).autocompleteDisabled?null:"list",null==io(e,14).activeOption?null:io(e,14).activeOption.id,io(e,14).autocompleteDisabled?null:io(e,14).panelOpen.toString(),io(e,14).autocompleteDisabled||!io(e,14).panelOpen?null:null==io(e,14).autocomplete?null:io(e,14).autocomplete.id,io(e,19)._isServer,io(e,19).id,io(e,19).placeholder,io(e,19).disabled,io(e,19).required,io(e,19).readonly,io(e,19)._ariaDescribedby||null,io(e,19).errorState,io(e,19).required.toString(),io(e,20).ngClassUntouched,io(e,20).ngClassTouched,io(e,20).ngClassPristine,io(e,20).ngClassDirty,io(e,20).ngClassValid,io(e,20).ngClassInvalid,io(e,20).ngClassPending])})}var Sb=Ji({encapsulation:0,styles:[[""]],data:{}});function Tb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"tb-geoloc-map",[],null,[[null,"location"]],function(t,e,n){var i=!0;return"location"===e&&(i=!1!==t.component.newLocation(n)&&i),i},kb,ob)),go(1,245760,null,0,Jm,[Nm,Qm,Xm,rn],{layersToAdd:[0,"layersToAdd"],geolocatedPhotoLatLng:[1,"geolocatedPhotoLatLng"],osmClassFilter:[2,"osmClassFilter"],allowEditDrawnItems:[3,"allowEditDrawnItems"],marker:[4,"marker"],polyline:[5,"polyline"],polygon:[6,"polygon"],latLngInit:[7,"latLngInit"],zoomInit:[8,"zoomInit"],getOsmSimpleLine:[9,"getOsmSimpleLine"],showLatLngElevationInputs:[10,"showLatLngElevationInputs"],elevationProvider:[11,"elevationProvider"],geolocationProvider:[12,"geolocationProvider"],mapQuestApiKey:[13,"mapQuestApiKey"]},{location:"location"})],function(t,e){var n=e.component;t(e,1,1,[n.layers_to_add,n.geolocated_photo_lat_lng,n._osm_class_filters,n.allow_edit_drawn_items,n._marker,n._polyline,n._polygon,n.lat_lng_init,n.zoom_init,n._get_osm_simple_line,n._show_lat_lng_elevation_inputs,n.elevation_provider,n.geolocation_provider,n.map_quest_api_key])},null)}var Ib=$s("app-root",aa,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"app-root",[],null,null,null,Tb,Sb)),go(1,49152,null,0,aa,[],null,null)],null,null)},{layer:"layer",layers_to_add:"layers_to_add",geolocated_photo_lat_lng:"geolocated_photo_lat_lng",osm_class_filter:"osm_class_filter",allow_edit_drawn_items:"allow_edit_drawn_items",marker:"marker",polyline:"polyline",polygon:"polygon",zoom_init:"zoom_init",lat_init:"lat_init",lng_init:"lng_init",lat_lng_init:"lat_lng_init",get_osm_simple_line:"get_osm_simple_line",show_lat_lng_elevation_inputs:"show_lat_lng_elevation_inputs",elevation_provider:"elevation_provider",geolocation_provider:"geolocation_provider",map_quest_api_key:"map_quest_api_key"},{location:"location"},[]),Pb=function(t,e,n){return new class extends Xe{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){!function(){if(pr)return;pr=!0;const t=bn()?{setCurrentNode:Nr,createRootView:fr,createEmbeddedView:gr,createComponentView:yr,createNgModuleRef:vr,overrideProvider:Er,overrideComponentView:Cr,clearOverrides:Lr,checkAndUpdateView:Ir,checkNoChangesView:Pr,destroyView:Mr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:Fr,updateDirectives:zr,updateRenderer:Vr}:{setCurrentNode:()=>{},createRootView:mr,createEmbeddedView:Wo,createComponentView:Yo,createNgModuleRef:ro,overrideProvider:qi,overrideComponentView:qi,clearOverrides:qi,checkAndUpdateView:er,checkNoChangesView:tr,destroyView:rr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:(t,e,n,i)=>t.def.handleEvent(t,e,n,i),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?Sr:Tr,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?Sr:Tr,t)};Zi.setCurrentNode=t.setCurrentNode,Zi.createRootView=t.createRootView,Zi.createEmbeddedView=t.createEmbeddedView,Zi.createComponentView=t.createComponentView,Zi.createNgModuleRef=t.createNgModuleRef,Zi.overrideProvider=t.overrideProvider,Zi.overrideComponentView=t.overrideComponentView,Zi.clearOverrides=t.clearOverrides,Zi.checkAndUpdateView=t.checkAndUpdateView,Zi.checkNoChangesView=t.checkNoChangesView,Zi.destroyView=t.destroyView,Zi.resolveDep=To,Zi.createDebugContext=t.createDebugContext,Zi.handleEvent=t.handleEvent,Zi.updateDirectives=t.updateDirectives,Zi.updateRenderer=t.updateRenderer,Zi.dirtyParentQueries=Ro}();const e=ys(this._ngModuleDefFactory);return Zi.createNgModuleRef(this.moduleType,t||Nt.NULL,this._bootstrapComponents,e)}}(la,[],function(t){return function(t){const e={},n=[];let i=!1;for(let s=0;s<t.length;s++){const o=t[s];o.token===Ie&&(i=!0),1073741824&o.flags&&n.push(o.token),o.index=s,e[Ki(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:i}}([Fs(512,We,Ke,[[8,[Bd,Ib]],[3,We],Qe]),Fs(5120,ri,hi,[[3,ri]]),Fs(4608,Ja,tl,[ri,[2,Xa]]),Fs(4608,He,He,[]),Fs(5120,Oe,Re,[]),Fs(5120,ti,ai,[]),Fs(5120,ei,li,[]),Fs(4608,td,ed,[Ol]),Fs(6144,Ri,null,[td]),Fs(4608,Kc,Yc,[]),Fs(5120,Ec,function(t,e,n,i,s,o){return[new class extends Lc{constructor(t,e){super(t),this.ngZone=e,this.patchEvent()}patchEvent(){if(!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[Uc]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let i=n;if(!t[jc]||rn.isInAngularZone()&&!$c(e))t.addEventListener(e,i,!1);else{let n=Zc[e];n||(n=Zc[e]=Bc("ANGULAR"+e+"FALSE"));let s=t[n];const o=s&&s.length>0;s||(s=t[n]=[]);const r=$c(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:r,handler:i});else{let t=!1;for(let e=0;e<s.length;e++)if(s[e].handler===i){t=!0;break}t||s.push({zone:r,handler:i})}o||t[jc](e,qc,!1)}return()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,n){let i=t[Hc];if(!i)return t.removeEventListener.apply(t,[e,n,!1]);let s=Zc[e],o=s&&t[s];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let r=!1;for(let a=0;a<o.length;a++)if(o[a].handler===n){r=!0,o.splice(a,1);break}r?0===o.length&&i.apply(t,[e,qc,!1]):t.removeEventListener.apply(t,[e,n,!1])}}(t,e),new Jc(n),new class extends Lc{constructor(t,e,n){super(t),this._config=e,this.console=n}supports(t){return!(!Wc.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&(this.console.warn(`Hammer.js is not loaded, can not bind '${t}' event.`),1))}addEventListener(t,e,n){const i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(()=>{const s=this._config.buildHammer(t),o=function(t){i.runGuarded(function(){n(t)})};return s.on(e,o),()=>s.off(e,o)})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}(i,s,o)]},[Ol,rn,Ol,Ol,Kc,Be]),Fs(4608,Cc,Cc,[Ec,rn]),Fs(135680,Sc,Sc,[Ol]),Fs(4608,Oc,Oc,[Cc,Sc]),Fs(5120,wf,Rg,[]),Fs(5120,v_,Ng,[]),Fs(4608,ng,Og,[wf,v_]),Fs(5120,Tn,Fg,[Oc,ng,rn]),Fs(6144,kc,null,[Sc]),Fs(4608,pn,pn,[rn]),Fs(4608,fc,fc,[Ol]),Fs(4608,vc,vc,[Ol]),Fs(4608,ha,Lg,[Tn,dc]),Fs(4608,mp,fp,[Ol,ze,dp]),Fs(4608,_p,_p,[mp,pp]),Fs(5120,rp,function(t){return[t]},[_p]),Fs(4608,up,up,[]),Fs(6144,hp,null,[up]),Fs(4608,cp,cp,[hp]),Fs(6144,Zd,null,[cp]),Fs(4608,Hd,gp,[Zd,Nt]),Fs(4608,sp,sp,[Hd]),Fs(4608,ru,ru,[Yh,Xh,We,su,Qh,Nt,rn,Ol,Su]),Fs(5120,au,lu,[ru]),Fs(5120,jg,Hg,[ru]),Fs(4608,yd,yd,[]),Fs(5120,sy,oy,[ru]),Fs(4608,Eu,Eu,[]),Fs(5120,pu,mu,[ru]),Fs(5120,yy,vy,[ru]),Fs(4608,Kp,Kp,[]),Fs(4608,Nm,Nm,[]),Fs(1073742336,Al,Al,[]),Fs(1024,he,hd,[]),Fs(1024,De,function(t){return[function(t){return bc("probe",xc),bc("coreTokens",Object.assign({},wc,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>xc}(t)]},[[2,wn]]),Fs(512,Ae,Ae,[[2,De]]),Fs(131584,kn,kn,[rn,Be,Nt,he,We,Ae]),Fs(1073742336,ui,ui,[kn]),Fs(1073742336,ud,ud,[[3,ud]]),Fs(1073742336,Vg,Vg,[]),Fs(1073742336,yp,yp,[]),Fs(1073742336,vp,vp,[]),Fs(1073742336,Tu,Tu,[]),Fs(1073742336,Fh,Fh,[]),Fs(1073742336,Zl,Zl,[]),Fs(1073742336,kh,kh,[]),Fs(1073742336,hu,hu,[]),Fs(1073742336,md,md,[[2,pd]]),Fs(1073742336,kd,kd,[]),Fs(1073742336,Td,Td,[]),Fs(1073742336,Nd,Nd,[]),Fs(1073742336,Ry,Ry,[]),Fs(1073742336,Zg,Zg,[]),Fs(1073742336,zy,zy,[]),Fs(1073742336,Zy,Zy,[]),Fs(1073742336,ay,ay,[]),Fs(1073742336,Qy,Qy,[]),Fs(1073742336,Lu,Lu,[]),Fs(1073742336,Ju,Ju,[]),Fs(1073742336,yu,yu,[]),Fs(1073742336,Jy,Jy,[]),Fs(1073742336,pv,pv,[]),Fs(1073742336,vv,vv,[]),Fs(1073742336,bv,bv,[]),Fs(1073742336,wv,wv,[]),Fs(1073742336,xy,xy,[]),Fs(1073742336,Ev,Ev,[]),Fs(1073742336,Cv,Cv,[]),Fs(1073742336,Hm,Hm,[]),Fs(1073742336,Zm,Zm,[]),Fs(1073742336,Fm,Fm,[]),Fs(1073742336,zm,zm,[]),Fs(1073742336,Vm,Vm,[]),Fs(1073742336,ef,ef,[]),Fs(1073742336,la,la,[Nt]),Fs(256,Ie,!0,[]),Fs(256,zg,"BrowserAnimations",[]),Fs(256,dp,"XSRF-TOKEN",[]),Fs(256,pp,"X-XSRF-TOKEN",[]),Fs(256,Xy,{separatorKeyCodes:[Ea]},[])])})}();(function(){if(yn)throw new Error("Cannot enable prod mode after platform setup.");gn=!1})(),ld().bootstrapModuleFactory(Pb).catch(t=>console.log(t))}},[[2,0]]]);
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/UtilsApa.js
New file
0,0 → 1,531
function UtilsApa() {
// this.infosUtilisateur = null;
this.langue = $( 'body' ).data( 'lang' );
this.urlRacine = window.location.origin;
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-plantes' : 'Saisir les plantes',
'saisir-lichens' : 'Saisir les lichens',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-plantes' : 'Enter the plants',
'saisir-lichens' : 'Enter the lichens',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.'
}
};
}
 
 
UtilsApa.prototype.chargerForm = function( nomSquelette, apaFormObj ) {
const lthis = this;
var urlSqueletteArbres = this.urlRacine + '/widget:cel:apa?squelette=' + nomSquelette;
 
$.ajax({
url: urlSqueletteArbres,
type: 'get',
success: function( squelette ) {
if ( lthis.valOk( squelette ) ) {
apaFormObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
UtilsApa.prototype.chargerFormPlantesOuLichens = function( squelette, nomSquelette ) {
if ( this.valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( var i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
UtilsApa.prototype.formaterReleveData = function( releveDatas ) {
var releve = [],
obs = releveDatas.obs,
obsE = releveDatas.obsE;
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
latitude : obs.latitude,
longitude : obs.longitude,
altitude : obs.altitude,
'zone-pietonne' : obsE['zone-pietonne'],
'pres-lampadaires' : obsE['pres-lampadaires'],
commentaires : obs.commentaire
};
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
UtilsApa.prototype.formaterArbreData = function( arbresDatas ) {
var retour = {},
obs = arbresDatas.obs,
obsE = arbresDatas.obsE,
miniatureImg = [];
if( this.valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( this.valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'latitude-arbres' : obsE['latitude-arbres'],
'longitude-arbres' : obsE['longitude-arbres'],
'altitude-arbres' : obsE['altitude-arbres'],
'circonference' : obsE.circonference,
'surface-pied' : obsE['surface-pied'],
'equipement-pied-arbre' : obsE['equipement-pied-arbre'],
'tassement' : obsE.tassement,
'dejections' : obsE.dejections,
'face-ombre' : obsE['face-ombre'],
'com-arbres' : obsE['com-arbres']
};
return retour;
};
 
UtilsApa.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
var dateArray = dateObs.split( '-' );
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.log( 'erreur date : ' + dateObs )
}
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
UtilsApa.prototype.msgTraduction = function( cle ) {
var msg = 'N/A';
 
if ( this.msgs ) {
if ( this.langue in this.msgs && cle in this.msgs[this.langue] ) {
msg = this.msgs[this.langue][cle];
} else if ( cle in this.msgs['fr'] ) {
msg = this.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
UtilsApa.prototype.valOk = function( valeur, sensComparaison = true, comparer = undefined ) {
var retour = true;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
} else {
// Un booléen est une valeur valable
return true;
}
}
 
// Lib hors objet
 
/*************************************
* Fonctions de Style et Affichage *
* des éléments "spéciaux" *
*************************************/
 
// Logique d'affichage pour le input type=file
function inputFile() {
// Initialisation des variables
var $fileInput = $( '.input-file' ),
$button = $( '.label-file' );
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#charger-form' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
}
 
// Style et affichage des list-checkboxes
function inputListCheckbox() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
var target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
var $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( var i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
var $otherListCheckboxes = $( '.checkboxes' )[i];
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
}
 
// Style et affichage des input type="range"
function inputRangeDisplayNumber() {
$( 'input[type="range"]','#charger-form' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
var $this = $( this );
$this.text( '' );
});
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function newFieldsHelpModal() {
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
var thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide pour : ' + $( this ).data( 'name' ) );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
// var extention = 'jpg';
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + thisFieldKey + '.' + extention + '" style="max-width:100%" alt="' + thisFieldKey + '" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
})
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function projetHelpModale() {
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
var fileMimeType = $( this ).data( 'mime-info' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide du projet : ' + $( '#titre-projet' ).text() );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + 'info.' + extention + '" style="max-width:100%" alt="info projet" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
});
 
});
}
 
// Faire apparaitre un champ text "Autre"
function onOtherOption() {
const PREFIX = 'collect-other-';
 
// Ajouter un champ texte pour "Autre"
function optionAdd( otherId, $target, element, dataName ) {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
}
 
// Supprimer un champ texte pour "Autre"
function optionRemove( otherId ) {
$( '.' + otherId + ', #' + otherId ).remove();
}
 
$( '.other', '#form-arbre' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else if ( $( this ).is( ':checked' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
}
});
 
$( '#charger-form' ).on( 'change', '.select', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'change', 'input[type=radio]', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
 
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
}
 
function collectOtherOption() {
$( '#charger-form' ).on( 'change', '.collect-other', function () {
var otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' );
var element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
}
 
/***************************
* Lancement des scripts *
***************************/
const CHEMIN_FICHIERS = $( '#zone-appli' ).data('url-fichiers');
 
jQuery( document ).ready( function() {
// Modale "aide" du projet
projetHelpModale();
// Affichage input file
inputFile();
// Affichage des List-checkbox
inputListCheckbox();
// Affichage des Range
inputRangeDisplayNumber()
// Modale "aide"
newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
onOtherOption();
// Récupérer les données entrées dans "Autre"
collectOtherOption();
});
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/ReleveApa.js
New file
0,0 → 1,2135
/**
* Constructeur ReleveApa par défaut
*/
function ReleveApa() {
this.obsNbre = 0;
this.numArbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.obsId = null;
this.serviceSaisieUrl = null;
this.serviceObsUrl = null;
this.serviceObsListUrl = null;
this.serviceObsImgs = null;
this.serviceObsImgUrl = null;
this.nomSciReferentiel = null;
this.isTaxonListe = false;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.serviceNomCommuneUrl = null;
this.serviceNomCommuneUrlAlt = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsApa();
}
 
ReleveApa.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveApa.prototype.initForm = function() {
const lthis = this;
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) ) {
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() );
releveDatas = $.parseJSON( $( '#releve-data' ).val() );
 
if ( !this.utils.valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( this.utils.valOk( $( '#apa-obs' ).val() ) ) {
const apaObs = $.parseJSON( $( '#apa-obs' ).val() );
 
$( '.charger-releve,.saisir-plantes,.saisir-lichens' ).click( function() {
var nomSquelette = $( this ).data( 'load' );
releveDatas = apaObs[ $( this ).data( 'releve' ) ];
$( '#releve-data' ).val( JSON.stringify( releveDatas ) );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveApa.prototype.initEvts = function() {
const lthis = this;
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
}
});
 
// Empêcher que le module carto ne bind ses events partout
$( '#tb-geolocation' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '*', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation' ).on( 'location' , lthis.locationHandler.bind( lthis ) );
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
// Gérer une option "aucune" sur plusieurs checkboxes
$( '#face-ombre input' ).on( 'click', function () {
if ( 'aucune' === $( this ).val() ) {
$( '#face-ombre input' ).not( '#aucune' ).prop( 'checked' , false );
} else {
$( '#aucune' ).prop( 'checked' , false );
}
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#soumettre-releve' ).on( 'click', function( even ) {
event.preventDefault();
lthis.saisirArbres();
});
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
var numArbre = $( this ).data( 'arbre-info' );
lthis.chargerInfosArbre( numArbre );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
var numArbre = lthis.numArbre + 1;
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
});
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement plantes ou lichens
$( '#charger-form' ).on( 'click', '#bouton-saisir-plantes,#bouton-saisir-lichens', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
ReleveApa.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.utils.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
ReleveApa.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveApa.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( 'zone-pietonne' === cle || 'pres-lampadaires' === cle ) {
$( 'input[name=' + cle + '][value=' + valeur + ']' , '#zone-observation' ).prop( 'checked', true );
} else if ( lthis.utils.valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300, function() {
$( '#releve-date' ).focus();
});
if (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveApa.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
var infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
arbre : {}
};
 
for( var i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.arbre = this.releveDatas[i];
this.lienArbreInfo( infosArbre.arbre['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveApa.prototype.lienArbreInfo = function( numArbre ) {
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
 
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
ReleveApa.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
$( '#taxon' ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( '#taxon' ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
ReleveApa.prototype.getUrlAutocompletionNomsSci = function() {
var mots = $( '#taxon' ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
ReleveApa.prototype.traiterRetourNomsSci = function( data ) {
var suggestions = [];
 
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( '#taxon' ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
ReleveApa.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsApa();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
ReleveApa.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
ReleveApa.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
ReleveApa.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
ReleveApa.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
ReleveApa.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
ReleveApa.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Etape formulaire avec transfert carto
*/
ReleveApa.prototype.saisirArbres = function() {
const lthis = this;
 
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off( event );
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas' ).removeClass( 'hidden' );
if ( !this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = this.utils.formaterReleveData({
obs : {
ce_utilisateur : this.infosUtilisateur.id,
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
latitude : $( '#latitude' ).val(),
longitude : $( '#longitude' ).val(),
altitude : $( '#altitude' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val(),
'zone-pietonne' : $( '#zone-pietonne input:checked' ).val(),
'pres-lampadaires' : $( '#pres-lampadaires input:checked' ).val()
}
});
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
this.releveDatas[0]['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
this.releveDatas[0]['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( var i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
 
// transfert carto
$( '#tb-geolocation' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
// Empêcher que le module carto ne bind ses events partout
$( '#zone-arbres' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '#tb-geolocation-arbres *', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind( this ) );
}
};
 
ReleveApa.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
var idArbre = 0,
last = false;
 
for ( var i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
 
var urlImgObs = this.serviceObsImgs + idArbre,
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveApa.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( lthis.utils.valOk( idsImg ) ) {
var urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
// dejsonifier releve data
// mettre l'array image dans miniature(s?)-img
} else {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) + ' : ' + lthis.utils.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveApa.prototype.locationHandler = function( location ) {
const lthis = this;
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var pays = ( this.utils.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR';
var latitude = '';
var longitude = '';
var nomCommune = '';
var communeInsee = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
if ( this.utils.valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( this.utils.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( this.utils.valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( this.utils.valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
if ( this.utils.valOk( $( '#rue' ).val() ) && this.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc' ).addClass( 'hidden' );
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' ).removeClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' ).removeClass( 'erreur' ).closest( '.control-group' ).removeClass( 'error' ).find( '#error-drc' ).remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( lthis.utils.valOk( $( '#rue' ).val() ) && lthis.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
console.log( 'Error location' );
}
}
 
/**
* Fonction handler de l'évenement location du module tb-geoloc étape arbres
*/
ReleveApa.prototype.locationArbresHandler = function( location ) {
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var latitude = '';
var longitude = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
$( '#rue-arbres' ).val( rue );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
if ( this.utils.valOk( $( '#latitude-arbres' ).val() ) && this.utils.valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.log( 'Error location' );
}
}
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
ReleveApa.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
 
if ( this.validerArbres() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
this.numArbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
//formatage des données
var obsData = this.formaterFormObsData(),
arbreData = obsData.arbre;
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
ReleveApa.prototype.formaterFormObsData = function() {
var miniatureImg = [],
faceOmbre = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx';
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' );
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
$( '#face-ombre input' ).each( function() {
if( $( this ).is( ':checked' ) ) {
faceOmbre.push( $( this ).val() );
}
});
var obsData = {
obsNum : this.obsNbre,
arbre : {
'num-arbre' : this.numArbre,
'taxon' : {
'numNomSel' : numNomSel,
'value' : $( '#taxon' ).val(),
'nomRet' : $( '#taxon' ).data( 'nomRet' ),
'numNomRet' : $( '#taxon' ).data( 'numNomRet' ),
'nt' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' )
},
'referentiel' : referentiel,
'certitude' : $( '#certitude' ).val(),
'rue-arbres' : $( '#rue-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'surface-pied' : $( '#surface-pied' ).val(),
'equipement-pied-arbre' : $( '#equipement-pied-arbre' ).val(),
'tassement' : $( '#tassement' ).val(),
'dejections' : $( '#dejections input:checked' ).val(),
'face-ombre' : faceOmbre,
'com-arbres' : $( '#com-arbres' ).val(),
'miniature-img' : miniatureImg,
},
releve : {
'date' : this.utils.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'latitude' : $( '#latitude' ).val(),
'longitude' : $( '#longitude' ).val(),
'altitude' : $( '#altitude' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commune-insee' : $( '#commune-insee' ).val(),
'pays' : $( '#pays' ).val(),
'zone-pietonne' : $( '#zone-pietonne input:checked' ).val(),
'pres-lampadaires' : $( '#pres-lampadaires input:checked' ).val(),
'commentaires' : $( '#commentaires' ).val()
}
};
return obsData;
};
 
/**
* Résumé obs
*/
ReleveApa.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.arbre['num-arbre'],
dateObs = this.utils.fournirDate( datasObs.releve.date ),
numNomSel = datasObs.arbre.taxon.numNomSel,
taxon = datasObs.arbre.taxon.value,
certitude = datasObs.arbre.certitude,
rue = datasObs.arbre['rue-arbres'],
commune = datasObs.releve['commune-nom'],
latitudeLongitude = '[' + datasObs.arbre['latitude-arbres'] + ' / ' + datasObs.arbre['longitude-arbres'] + ']',
miniatures = this.ajouterImgMiniatureAuTransfert( datasObs.arbre['miniature-img'] ),
commentaires = '';
 
if ( this.utils.valOk( datasObs.arbre['com-arbres'] ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.arbre['com-arbres'] +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'lieu-obs' ) +
' ' + rue +
', ' + commune +
latitudeLongitude +
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + this.utils.fournirDate( dateObs ) + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
ReleveApa.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages ) {
const lthis = this;
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( this.utils.valOk( chargerImages ) || this.utils.valOk( $( '#miniatures img' ) ) ) {
if ( this.utils.valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
var imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee';
 
var css = ( lthis.utils.valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
 
} else {
var premiere = true;
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
ReleveApa.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
ReleveApa.prototype.stockerObsData = function( obsDatas ) {
const lthis = this;
var obsNum = obsDatas.obsNum,
numNomSel = obsDatas.arbre.taxon.numNomSel,
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx',
date = lthis.utils.fournirDate( obsDatas.releve.date ),
// si releve dupliqué on ne stocke pas l'image :
stockerImg = this.utils.valOk( obsDatas.arbre['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
if( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if ( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'] , function(i, value) {
if( lthis.utils.valOk( value.nom ) ) {
imgNom.push( value.nom );
}
if( lthis.utils.valOk( value['b64'] ) ) {
imgB64.push( value['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
 
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsNum, {
'num_nom_sel' : numNomSel,
'nom_sel' : obsDatas.arbre.taxon.value,
'nom_ret' : obsDatas.arbre.taxon.nomRet,
'num_nom_ret' : obsDatas.arbre.taxon.numNomRet,
'num_taxon' : obsDatas.arbre.taxon.nt,
'famille' : obsDatas.arbre.taxon.famille,
'referentiel' : referentiel,
'certitude' : obsDatas.arbre.certitude,
'date' : date,
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'latitude' : obsDatas.releve.latitude,
'longitude' : obsDatas.releve.longitude,
'altitude' : obsDatas.releve.altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpArbres( obsDatas )
});
};
 
ReleveApa.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
ReleveApa.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveApa.prototype.getObsChpArbres = function( datasArbres ) {
const lthis = this;
 
var retour = [],
champs = [
'rue',
'zone-pietonne',
'pres-lampadaires',
'rue-arbres',
'latitude-arbres',
'longitude-arbres',
'altitude-arbres',
'circonference',
'surface-pied',
'equipement-pied-arbre',
'tassement',
'dejections',
'com-arbres'
];
 
var cleValeur = '',
faceOmbre = '',
faceOmbreLength = datasArbres.arbre['face-ombre'].length;
 
$.each( champs, function( i ,value ) {
cleValeur = ( 3 > i ) ? 'releve' : 'arbre';
 
if ( lthis.utils.valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
if ( 'string' === typeof datasArbres.arbre['face-ombre'] ) {
faceOmbre = datasArbres.arbre['face-ombre'];
} else {
$.each( datasArbres.arbre['face-ombre'], function( i ,value ) {
faceOmbre += value
if ( faceOmbreLength > ( i + 1 ) ) {
faceOmbre += ';';
}
});
}
retour.push(
{ cle : 'face-ombre', valeur : faceOmbre },
{ cle : 'num_arbre' , valeur : datasArbres.obsNum }
);
 
var stockerImg = this.utils.valOk( datasArbres.arbre['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.arbre['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.arbre['miniature-img'] ) });
}
 
return retour;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
ReleveApa.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
ReleveApa.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
// $( '#zone-liste-obs' ).addClass( 'hidden' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
$( '#bloc-form-arbres' ).addClass( 'hidden' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
ReleveApa.prototype.chargerInfosArbre = function( numArbre ) {
const lthis = this;
var desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
var releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre],
taxon = {item:{}},
imgHtml = '';
 
$( '#arbre-nb').text( numArbre );
 
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
 
const SELECTS = ['certitude','equipement-pied-arbre','tassement'];
 
$.each( SELECTS, function( i, value ) {
if( !lthis.utils.valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
if ( $( this ).hasClass( 'other' ) && lthis.utils.valOk( $( this ).val() ) ) {
$( this ).text( $( this ).val() );
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val(arbreDatas['rue-arbres']);
$( '#latitude-arbres' ).val(arbreDatas['latitude-arbres']);
$( '#longitude-arbres' ).val(arbreDatas['longitude-arbres']);
$( '#altitude-arbres' ).val(arbreDatas['altitude-arbres']);
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#surface-pied' ).val( arbreDatas['surface-pied'] );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
if ( undefined != arbreDatas.dejections ) {
$( '#dejections-oui' ).prop( 'checked', arbreDatas.dejections );
$( '#dejections-non' ).prop( 'checked', !arbreDatas.dejections );
}
$( '#face-ombre input' ).each( function() {
if ( -1 < arbreDatas['face-ombre'].indexOf( $( this ).val() ) ) {
$( this ).prop( 'checked', true );
} else {
$( this ).prop( 'checked', false );
}
});
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveApa.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
$(
'#taxon,'+
'#certitude,'+
'#equipement-pied-arbre,'+
'#tassement,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#surface-pied,'+
'#com-arbres,'+
'#ajouter-obs'
).prop( 'disabled', desactiver );
$( '#dejections,#face-ombre' ).find( 'input' ).prop( 'disabled', desactiver );
 
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
$( '#tb-geolocation-arbres' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind( this ) );
// retour aux valeurs par defaut
$( '#equipement-pied-arbre .other' ).text( 'Autre' ).val( 'other' );
$(
'#certitude option,'+
'#equipement-pied-arbre option,'+
'#tassement option'
).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
$('#collect-other-equipement-pied-arbre').closest('.control-group').remove();
this.supprimerMiniatures();
$( '#dejections,#face-ombre' ).find( 'input' ).prop( 'checked', false );
$(
'#circonference,'+
'#surface-pied,'+
'#com-arbres,'+
'#rue-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude,'+
'#equipement-pied-arbre,'+
'#tassement'
).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
ReleveApa.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
ReleveApa.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
ReleveApa.prototype.supprimerObsParId = function( obsId, transmission = false ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
 
this.obsNbre -= 1;
this.numArbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '',
arbreExId = 0,
arbreId = 0;
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
 
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveApa.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
ReleveApa.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
ReleveApa.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
ReleveApa.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-arbres-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-saisir-plantes,#bouton-saisir-lichens' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
ReleveApa.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
ReleveApa.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
ReleveApa.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
onkeyup : function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
unhighlight: function( element ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
ReleveApa.prototype.validerMinMax = function( element ) {
var mMCond = new Boolean(),
minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( this.utils.valOk( element.type, true, 'number' ) || this.utils.valOk( element.type, true, 'range' ) ) &&
( this.utils.valOk( element.min ) || this.utils.valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveApa.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
var valide = true;
 
if (
this.utils.valOk( $( '#dates-rues-communes' ).val() ) &&
this.utils.valOk( valeurDate ) &&
this.utils.valOk( valeurRue ) &&
this.utils.valOk( valeurCmn )
) {
var valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveApa.prototype.dateRueCommuneFormValidator = function() {
var dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( this.utils.valOk( $( '#commune-nom' ).val() ) && this.utils.valOk( $( '#rue' ).val() ) );
const errorDateRue =
'<span id="error-drc" class="error">'+
this.utils.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !this.utils.valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveApa.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
'zone-pietonne' : {
required : true,
minlength : 1
},
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbre' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1//,
//'minMaxOk' : true
},
'surface-pied' : {
required : true,
minlength : 1,
'minMaxOk' : true
},
'equipement-pied-arbre' : {
required : true,
minlength : 1
},
'face-ombre' : {
required : true,
minlength : 1
}
}
});
$( '#equipement-pied-arbre' ).change( function() {
if ( lthis.utils.valOk( $( this ).val(), false, 'other' ) ) {
$( this )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#face-ombre input' ).click( function() {
var oneIsChecked = false;
$( '#face-ombre input' ).each( function() {
if ( $( this ).is( ':checked' ) ) {
oneIsChecked = true;
return false;
}
});
if ( oneIsChecked ) {
$( '#face-ombre.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#face-ombre.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveApa.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-observation' ).valid();
const geoloc = (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) ;
var dateRue = true;
if ( this.utils.valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
if ( !obs ) {
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-observation' ).offset().top
}, 300 );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!this.utils.valOk( $( '#releve-date' ).val() ) ||
!this.utils.valOk( $( '#rue' ).val() ) ||
!this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return (observateur && obs && geoloc && dateRue);
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveApa.prototype.validerArbres = function() {
const validerReleve = this.validerReleve();
const geoloc = (
this.utils.valOk( $( '#latitude-arbres' ).val() ) &&
this.utils.valOk( $( '#longitude-arbres' ).val() )
);
const piedArbre = this.utils.valOk( $( '#equipement-pied-arbre' ).val(), false, 'other' );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const obs = (
$( '#form-arbre' ).valid() &&
$( '#form-arbre-fs' ).valid() &&
piedArbre
);
 
if ( piedArbre ) {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
 
// Controle des panneaux d'infos **********************************************/
 
ReleveApa.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
ReleveApa.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
ReleveApa.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
ReleveApa.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/WidgetApa.js
New file
0,0 → 1,333
function WidgetApa() {
this.utils = new UtilsApa();
this.mode = null;
this.urlRacine = window.location.origin;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.infosUtilisateur = null;
}
 
WidgetApa.prototype.init = function() {
const lthis = this;
 
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#mdp' ).val('');
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
 
this.chargerStatutSSO();
this.connexionDprodownMenu()
$( '#deconnexion a' ).click( function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
 
$( '#formulaire' ).on( 'click', '.saisir-plantes,.saisir-lichens', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetApa.prototype.chargerStatutSSO = function() {
const lthis = this;
var urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
$( '#connexion' ).click( function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !lthis.utils.valOk( $( '#nom-complet' ).text() ) ) {
var login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
if ( lthis.utils.valOk( login ) && lthis.utils.valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
alert( lthis.utils.msgTraduction( 'non-connexion' ) );
}
}
});
} else {
urlAuth = this.urlRacine + '/widget:cel:modules/apa/test-token.json';
// $( '#connexion' ).click( function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetApa.prototype.deconnecterUtilisateur = function() {
var urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetApa.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
 
WidgetApa.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
var nomComplet = '',
courriel = '',
pseudo = '',
prenom = '',
nom = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
// console.log(jetonDecode);
 
idUtilisateur = this.infosUtilisateur.id;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
pseudo = this.infosUtilisateur.pseudo;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#bloc-connexion' ).addClass( 'hidden' );
$( '#utilisateur-connecte, #anonyme' ).removeClass( 'hidden' );
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/' + pseudo.toLowerCase().replace( ' ', '-' ) );
if ( this.utils.valOk( idUtilisateur ) ) {
var nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.utils.chargerForm( nomSquelette, thisObj );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetApa.prototype.decoderJeton = function( jeton ) {
var parts = jeton.split( '.' ),
payload = parts[1];
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetApa.prototype.b64d = function( input ) {
var remainder = input.length % 4;
 
if ( 0 !== remainder ) {
var padlen = 4 - remainder;
 
for ( var i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
return atob( input );
};
 
WidgetApa.prototype.urlSiteTb = function() {
var urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// Volet de profil/déconnexion
WidgetApa.prototype.connexionDprodownMenu = function() {
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).click( function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
}
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetApa.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.utils.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.chargerObsUtilisateur( squelette );
break;
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetApa.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this;
const urlObs = $( 'body' ).data( 'obs-list' ) + '/' + this.infosUtilisateur.id;
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !lthis.utils.valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
alert( lthis.utils.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetApa.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
if ( this.utils.valOk( dataObs ) ) {
var apaObs = [],
datRuComun = [],
obsArbres = [],
apaObsE = {},
count = 0;
 
$.each( dataObs, function( i, obs ) {
if( /WidgetApa/.test( obs.mots_cles_texte ) && !/(:?plantes|lichens)/.test( obs.mots_cles_texte ) ) {
if ( lthis.utils.valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
apaObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + apaObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + apaObsE.rue + obs.zone_geo );
apaObs[count] = lthis.utils.formaterReleveData( { 'obs':obs, 'obsE':apaObsE } );
count++;
}
obsArbres.push( lthis.utils.formaterArbreData( { 'obs':obs, 'obsE':apaObsE } ) );
apaObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( var indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
apaObs[indexReleve].push( arbre );
}
}
});
if ( this.utils.valOk( apaObs ) ) {
this.prechargerLesObs( apaObs );
$( '#apa-obs' ).val( JSON.stringify( apaObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
WidgetApa.prototype.prechargerLesObs = function( apaObs ) {
const lthis = this;
const $listReleve = $( '#list-releves' );
const TEXT_ARBRE = ' ' + this.utils.msgTraduction( 'arbre' ).toLowerCase();
 
var nbArbres = '',
texteArbre = '';
 
var releveHtml = '';
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
 
$.each( apaObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.utils.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<div class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.utils.msgTraduction( 'dupliquer' )+
'</div> '+
'<div class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="plantes">'+
'<i class="fas fa-seedling"></i> ' + lthis.utils.msgTraduction( 'saisir-plantes' )+
'</div> '+
'<div class="saisir-lichens btn btn-sm btn-info" data-releve="' + i + '" data-load="lichens">'+
// '<i class="fas fa-certificate"></i> ' + lthis.utils.msgTraduction( 'saisir-lichens' )+
'<i class="far fa-snowflake"></i> ' + lthis.utils.msgTraduction( 'saisir-lichens' )+
'</div> '+
'</td>'+
'</tr>';
});
$listReleve.append( releveHtml );
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( apaObs.length );
};
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/LichensApa.js
New file
0,0 → 1,1264
/**
* Constructeur LichensApa par défaut
*/
function LichensApa() {
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.serviceSaisieUrl = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.nomSciReferentiel = null;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsApa();
}
 
LichensApa.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
LichensApa.prototype.initForm = function() {
const lthis = this;
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.log( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
LichensApa.prototype.initEvts = function() {
const lthis = this;
 
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) && this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement plantes ou lichens
$( '#bouton-saisir-plantes,#bouton-poursuivre' ).on( 'click', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
}
}
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
LichensApa.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.utils.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
LichensApa.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
// uniquement utilisé si taxon-liste ******************************************/
// Affiche/Cache le champ taxon
LichensApa.prototype.surChangementTaxonListe = function() {
const utils = new UtilsApa();
if ( utils.valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.focus()
.on( 'change', function() {
if( !utils.valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
LichensApa.prototype.surChangementValeurTaxon = function() {
var numNomSel = 0;
 
if( this.utils.valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
var optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
// $( '#taxon' ).val( $( '#taxon-liste' ).val() );
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
numNomSel = $( '#taxon' ).data( 'numNomSel' );
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !this.utils.valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
LichensApa.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
 
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
LichensApa.prototype.getUrlAutocompletionNomsSci = function() {
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
var mots = $( taxonSelecteur ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
LichensApa.prototype.traiterRetourNomsSci = function( data ) {
var taxonSelecteur = '#taxon';
var suggestions = [];
 
if ( this.utils.valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
LichensApa.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsApa();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
LichensApa.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
LichensApa.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
LichensApa.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
LichensApa.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
LichensApa.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
LichensApa.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-lichens' ).offset().top
}, 300);
 
if ( this.validerLichens() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
var obsData = this.formaterFormObsData();
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
this.reinitialiserFormLichens();
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
LichensApa.prototype.reinitialiserFormLichens = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
$( 'input[name=lichens-tronc]:checked' ).each( function() {
$( this ).prop( 'checked', false );
});
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
LichensApa.prototype.formaterFormObsData = function() {
var numArbre = $( '#choisir-arbre' ).val(),
miniatureImg = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : this.nomSciReferentiel;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
var obsData = {
obsNum : this.obsNbre,
numArbre : numArbre,
lichen : {
'num_nom_sel' : numNomSel,
'nom_sel' : $( '#taxon' ).val(),
'nom_ret' : $( '#taxon' ).data( 'nomRet' ),
'num_nom_ret' : $( '#taxon' ).data( 'numNomRet' ),
'num_taxon' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' ),
'referentiel' : referentiel,
'certitude' : ( !this.utils.valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner',
'date' : this.utils.fournirDate( $( '#obs-date' ).val() ),
'notes' : $( '#commentaire' ).val(),
'pays' : this.releveDatas[0].pays,
'commune_nom' : this.releveDatas[0]['commune-nom'],
'commune_code_insee' : this.releveDatas[0]['commune-insee'],
'latitude' : this.releveDatas[numArbre]['latitude-arbres'],
'longitude' : this.releveDatas[numArbre]['longitude-arbres'],
'altitude' : this.releveDatas[numArbre]['altitude-arbres'],
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : this.getObsChpLichens( numArbre )
}
};
return obsData;
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
LichensApa.prototype.getObsChpLichens = function( numArbre ) {
const lthis = this;
 
var retour = [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
];
 
var valeursLT = '';
const $lichensTronc = $( 'input[name=lichens-tronc]:checked' );
const LTLenght = $lichensTronc.length;
 
$( 'input[name=lichens-tronc]:checked' ).each( function( i, value ) {
valeursLT += $(value).val();
if( i < LTLenght ) {
valeursLT += ';';
}
});
retour.push({ cle : 'loc-sur-tronc', valeur : valeursLT });
 
return retour;
};
 
/**
* Résumé obs
*/
LichensApa.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.numArbre,
dateObs = datasObs.lichen.date,
numNomSel = datasObs.lichen['num_nom_sel'],
taxon = datasObs.lichen['nom_sel'],
certitude = datasObs.lichen.certitude,
miniatures = this.ajouterImgMiniatureAuTransfert(),
commentaires = '';
 
if ( this.utils.valOk( datasObs.lichen.notes ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.lichen.notes +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-lichen-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
this.ajouterNumNomSel( numNomSel ) +
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + dateObs + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
LichensApa.prototype.ajouterImgMiniatureAuTransfert = function() {
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
premiere = true,
centre = '';
defilVisible = '';
 
if ( this.utils.valOk( $( '#miniatures img' ) ) ) {
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
if ( 1 === $( '#miniatures img' ).length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
LichensApa.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
LichensApa.prototype.stockerObsData = function( datasObs ) {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + datasObs.obsNum, datasObs.lichen );
};
 
LichensApa.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
LichensApa.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
LichensApa.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
LichensApa.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
LichensApa.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
LichensApa.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
LichensApa.prototype.supprimerObsParId = function( obsId ) {
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '';
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt( id );
}
}
};
 
LichensApa.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
LichensApa.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
LichensApa.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( data, textStatus, jqXHR ) {
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-poursuivre' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
LichensApa.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
LichensApa.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
LichensApa.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
element.after( error );
},
onfocusout: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
LichensApa.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.utils.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.utils.valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-lichens' ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
LichensApa.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
LichensApa.prototype.validerLichens = function() {
const images = this.utils.valOk( $( '#miniatures .miniature' ) );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const taxonOuImage = this.validerTaxonImage( taxon, images );
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-lichens' ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
 
// Controle des panneaux d'infos **********************************************/
 
LichensApa.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
LichensApa.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
LichensApa.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
LichensApa.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/apa/squelettes/js/PlantesApa.js
New file
0,0 → 1,1237
/**
* Constructeur PlantesApa par défaut
*/
function PlantesApa() {
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.serviceSaisieUrl = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.nomSciReferentiel = null;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsApa();
}
 
PlantesApa.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
PlantesApa.prototype.initForm = function() {
const lthis = this;
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.log( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
PlantesApa.prototype.initEvts = function() {
const lthis = this;
 
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) && this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement plantes ou lichens
$( '#bouton-saisir-lichens,#bouton-poursuivre' ).on( 'click', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
}
}
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
PlantesApa.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.utils.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
PlantesApa.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
// uniquement utilisé si taxon-liste ******************************************/
// Affiche/Cache le champ taxon
PlantesApa.prototype.surChangementTaxonListe = function() {
const utils = new UtilsApa();
if ( utils.valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.focus()
.on( 'change', function() {
if( !utils.valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
PlantesApa.prototype.surChangementValeurTaxon = function() {
var numNomSel = 0;
 
if( this.utils.valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
var optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
// $( '#taxon' ).val( $( '#taxon-liste' ).val() );
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
numNomSel = $( '#taxon' ).data( 'numNomSel' );
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !this.utils.valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
PlantesApa.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
 
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
PlantesApa.prototype.getUrlAutocompletionNomsSci = function() {
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
var mots = $( taxonSelecteur ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
PlantesApa.prototype.traiterRetourNomsSci = function( data ) {
var taxonSelecteur = '#taxon';
var suggestions = [];
 
if ( this.utils.valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
PlantesApa.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsApa();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
PlantesApa.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
PlantesApa.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
PlantesApa.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
PlantesApa.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
PlantesApa.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
PlantesApa.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-plantes' ).offset().top
}, 300);
 
if ( this.validerPlantes() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
var obsData = this.formaterFormObsData();
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
this.reinitialiserFormPlantes();
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
PlantesApa.prototype.reinitialiserFormPlantes = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
PlantesApa.prototype.formaterFormObsData = function() {
var numArbre = $( '#choisir-arbre' ).val(),
miniatureImg = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx';
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
var obsData = {
obsNum : this.obsNbre,
numArbre : numArbre,
plante : {
'num_nom_sel' : numNomSel,
'nom_sel' : $( '#taxon' ).val(),
'nom_ret' : $( '#taxon' ).data( 'nomRet' ),
'num_nom_ret' : $( '#taxon' ).data( 'numNomRet' ),
'num_taxon' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' ),
'referentiel' : referentiel,
'certitude' : ( !this.utils.valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner',
'date' : this.utils.fournirDate( $( '#obs-date' ).val() ),
'notes' : $( '#commentaire' ).val(),
'pays' : this.releveDatas[0].pays,
'commune_nom' : this.releveDatas[0]['commune-nom'],
'commune_code_insee' : this.releveDatas[0]['commune-insee'],
'latitude' : this.releveDatas[numArbre]['latitude-arbres'],
'longitude' : this.releveDatas[numArbre]['longitude-arbres'],
'altitude' : this.releveDatas[numArbre]['altitude-arbres'],
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
]
}
};
return obsData;
};
 
/**
* Résumé obs
*/
PlantesApa.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.numArbre,
dateObs = datasObs.plante.date,
numNomSel = datasObs.plante['num_nom_sel'],
taxon = datasObs.plante['nom_sel'],
certitude = datasObs.plante.certitude,
miniatures = this.ajouterImgMiniatureAuTransfert(),
commentaires = '';
 
if ( this.utils.valOk( datasObs.plante.notes ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.plante.notes +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
this.ajouterNumNomSel( numNomSel ) +
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + dateObs + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
PlantesApa.prototype.ajouterImgMiniatureAuTransfert = function() {
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
premiere = true,
centre = '';
defilVisible = '';
 
if ( this.utils.valOk( $( '#miniatures img' ) ) ) {
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
if ( 1 === $( '#miniatures img' ).length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
PlantesApa.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
PlantesApa.prototype.stockerObsData = function( datasObs ) {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + datasObs.obsNum, datasObs.plante );
};
 
PlantesApa.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
PlantesApa.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
PlantesApa.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
PlantesApa.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
PlantesApa.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
PlantesApa.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
PlantesApa.prototype.supprimerObsParId = function( obsId ) {
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '';
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt( id );
}
}
};
 
PlantesApa.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
PlantesApa.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
PlantesApa.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( data, textStatus, jqXHR ) {
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-poursuivre' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
PlantesApa.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
PlantesApa.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
PlantesApa.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
element.after( error );
},
onfocusout: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
PlantesApa.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.utils.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.utils.valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-plantes' ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
PlantesApa.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
PlantesApa.prototype.validerPlantes = function() {
const images = this.utils.valOk( $( '#miniatures .miniature' ) );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const taxonOuImage = this.validerTaxonImage( taxon, images );
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-plantes' ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
 
// Controle des panneaux d'infos **********************************************/
 
PlantesApa.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
PlantesApa.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
PlantesApa.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
PlantesApa.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/apa/squelettes/arbres.tpl.html
New file
0,0 → 1,524
<form id="form-observation" role="form" autocomplete="on">
<h2><?php echo $observation['titre-obs']; ?></h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map" aria-hidden="true"></i>
<?php echo $observation['lieu-releve']; ?>
</label>
<div class="control-group">
<span id="geoloc-error" class="error hidden"><?php echo $observation['geoloc-erreur']; ?></span>
<div id="geoloc" class="col-sm-8 geoloc">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="true"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
</div>
<div id="geoloc-datas" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control rue" disabled id="rue" name="rue" value="1 Place Georges Frêche"> -->
<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
</div>
</div>
<div class="mt-3">
<label class="col-sm-8" for="commune-nom"><?php echo $observation['nom-commune']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="Montpellier">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="34172"> -->
<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
</div>
</div>
<!-- <input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="43.5984" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="3.896799" style="display:none">
<input type="text" class="form-control altitude" disabled id="altitude" name="altitude" value="23"> -->
<input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="" style="display:none">
<input type="hidden" class="form-control altitude" disabled id="altitude" name="altitude" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label for="pays"><?php echo $observation['pays']; ?></label>
<div>
<!-- <input type="text" class="form-control pays" disabled id="pays" name="pays" value="France"> -->
<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
 
<div class="col-md-6">
<h3 class="mb-3"><?php echo $observation['titre-info-obs']; ?></h3>
<div id="obs-info" class="text-justify col-sm-8">
<?php echo $observation['obs-info']; ?>
</div>
 
<div class="control-group">
<label for="releve-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $observation['date']; ?>
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
<input type="date" id="releve-date" name="releve-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="fa fa-walking" aria-hidden="true"></i>
<?php echo $observation['zone-pietonne']; ?>
</div>
<div id="zone-pietonne" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="pietonne" name="zone-pietonne" class="pietonne form-check-input" value="true">
<label for="pietonne" class="pietonne form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="non-pietonne" name="zone-pietonne" class="non-pietonne form-check-input" value="false">
<label for="non-pietonne" class="non-pietonne form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-lightbulb" aria-hidden="true"></i>
<?php echo $observation['pres-lampadaires']; ?>
</div>
<div id="pres-lampadaires" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="lampadaires" name="pres-lampadaires" class="lampadaires form-check-input" value="true">
<label for="lampadaires" class="lampadaires form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="sans-lapadaires" name="pres-lampadaires" class="sans-lampadaires form-check-input" value="false">
<label for="sans-lampadaires" class="sans-lampadaires form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div class="">
<label for="commentaires" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
</div>
</div>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<a href="" id="soumettre-releve" class="charger-carto btn btn-primary"><?php echo $general['enregistrer']; ?></a href="">
</div>
</div>
</div>
</div>
</form><!-- fin zone relevé -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
<p><?php echo $observation['alertgk']; ?></p>
</div>
<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertdr-title']; ?></h4>
<p><?php echo $observation['alertdr']; ?></p>
</div>
</div>
 
<div id="zone-arbres" class="bloc-top hidden">
<h2 class="mb-3"><?php echo $arbres['titre']; ?></h2>
<div id="bouton-saisir-plantes" class="btn btn-info hidden m-3" data-load="plantes">
<i class="fas fa-seedling"></i> <?php echo $resume['saisir-plantes']; ?>
</div>
<div id="bouton-saisir-lichens" class="btn btn-info hidden m-3" data-load="lichens">
<i class="far fa-snowflake"></i> <?php echo $resume['saisir-lichens']; ?>
</div>
<div class="row">
<div id="bloc-arbres-gauche" class="col-md-6">
<div id="bloc-info-arbres"></div>
<div id="bloc-form-arbres" class="">
<div id="arbres-info" class="text-justify">
<?php echo $arbres['arbres-info']; ?>
</div>
<form id="form-arbre" role="form" autocomplete="off">
<h3 class="mb-3"><?php echo $general['arbre'];?>&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
<input id="referentiel" name="referentiel" value="bdtfx" type="hidden">
<div id="bloc-taxon" class="control-group">
<label for="taxon" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?> (bdtfx)
</label>
<div class="col-sm-8 mb-3">
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $general['espece-title']; ?>" required autocomplete="off">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option class="choisir" hidden value="" selected><?php echo $general['choisir']; ?></option>
<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
<div class="">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map-marked-alt " aria-hidden="true"></i>
<?php echo $arbres['localiser']; ?>
</label>
<div class="control-group">
<div id="geoloc-datas-arbres" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue-arbres"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
</div>
</div>
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label class="" for="latitude-arbres"><?php echo $observation['latitude']; ?></label>
<div class="">
<input type="text" class="form-control latitude-arbres" disabled id="latitude-arbres" name="latitude-arbres" value="">
</div>
</div>
<div class="d-flex flex-column col-sm-4">
<label class="" for="longitude-arbres"><?php echo $observation['longitude']; ?></label>
<div class="">
<input type="text" class="form-control longitude-arbres" disabled id="longitude-arbres" name="longitude-arbres" value="">
</div>
</div>
</div>
<input type="hidden" id="altitude-arbres" name="altitude-arbres" class="" value="" style="display:none">
</div>
<div id="geoloc-arbres" class="col-sm-8"></div>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $arbres['titre-photos']; ?>
</div>
<p id="miniature-arbres-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<form id="form-arbre-fs" role="form" autocomplete="off">
<div class="control-group">
<label for="circonference" class="col-sm-8 obligatoire">
<i class="fa fa-circle-notch" aria-hidden="true"></i>
<?php echo $arbres['circonference'] ;?>
</label>
<div class="col-sm-8 mb-3">
<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['circonference-title'] ;?>" placeholder="<?php echo $arbres['circonference-ph'] ;?>" step="1" min="1" required>
</div>
</div>
<div class="control-group">
<label for="surface-pied" class="col-sm-8 obligatoire">
<i class="fa fa-arrows-alt" aria-hidden="true"></i>
<?php echo $arbres['surf-pied'] ;?>
</label>
<div class="col-sm-8 mb-3">
<input id="surface-pied" type="number" name="surface-pied" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['surf-pied-title'] ;?>" placeholder="<?php echo $arbres['surf-pied-ph'] ;?>" step="0.01" min="0" lang="en"required>
</div>
</div>
<div class="control-group">
<label for="equipement-pied-arbre" class="col-sm-8 obligatoire">
<i class="fa fa-dot-circle" aria-hidden="true"></i>
<?php echo $arbres['eqt-pied-arbre'] ;?>
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="equipement-pied-arbre" name="equipement-pied-arbre" class="equipement-pied-arbre select form-control custom-select" data-label="<?php echo $arbres['eqt-pied-arbre'] ;?>" data-name="equipement-pied-arbre" required>
<option class="choisir" selected value="" data-name="equipement-pied-arbre" hidden><?php echo $general['choisir']; ?></option>
<option value="plaque de metal" data-name="equipement-pied-arbre"><?php echo $arbres['palque-metal']; ?></option>
<option value="grille" data-name="equipement-pied-arbre"><?php echo $arbres['grille']; ?></option>
<option value="ciment" data-name="equipement-pied-arbre"><?php echo $arbres['ciment']; ?></option>
<option value="gomme" data-name="equipement-pied-arbre"><?php echo $arbres['gomme']; ?></option>
<option value="absent" data-name="equipement-pied-arbre"><?php echo $arbres['absent']; ?></option>
<option class="other form-control is-select" value="other" data-name="equipement-pied-arbre" data-element="select"><?php echo $general['autre']; ?></option>
</select>
</div>
<span class="error hidden"><?php echo $general['champ-obligatoire']; ?></span>
</div>
</div>
<div class="">
<label for="tassement" class="col-sm-8">
<i class="fas fa-sort-amount-down" aria-hidden="true"></i>
<?php echo $arbres['tassement'] ;?>
</label>
<div class="col-sm-8 mb-3">
<select id="tassement" name="tassement" class="tassement form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['tassement-title'] ;?>">
<option class="choisir" selected value="" hidden><?php echo $general['choisir']; ?></option>
<option value="dur"><?php echo $arbres['dur']; ?></option>
<option value="normal"><?php echo $arbres['normal']; ?></option>
<option value="mou"><?php echo $arbres['mou']; ?></option>
</select>
</div>
</div>
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-dog" aria-hidden="true"></i>
<?php echo $arbres['dejections']; ?>
</div>
<div id="dejections" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="dejections-oui" name="dejections" class="dejections-oui form-check-input" value="true">
<label for="dejections-oui" class="dejections-oui form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="dejections-non" name="dejections" class="dejections-non form-check-input" value="false">
<label for="dejections-non" class="dejections-non form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div id="face-ombre" class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="far fa-compass" aria-hidden="true"></i>
<?php echo $arbres['face-ombre']; ?>
</div>
<div class="col-sm-8 mb-3 has-tooltip list" data-toggle="tooltip" title="<?php echo $arbres['face-ombre-title']; ?>" required>
<div class="form-check form-check-inline">
<input type="checkbox" id="nord" name="face-ombre" class="nord form-check-input" value="nord">
<label for="nord" class="nord form-check-label"><?php echo $general['nord']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="sud" name="face-ombre" class="sud form-check-input" value="sud">
<label for="sud" class="sud form-check-label"><?php echo $general['sud']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="est" name="face-ombre" class="est form-check-input" value="est">
<label for="est" class="est form-check-label"><?php echo $general['est']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="ouest" name="face-ombre" class="ouest form-check-input" value="ouest">
<label for="ouest" class="ouest form-check-label"><?php echo $general['ouest']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="aucune" name="face-ombre" class="ouest form-check-input" value="aucune">
<label for="aucune" class="aucune form-check-label"><?php echo $general['aucune']; ?></label>
</div>
</div>
</div>
 
<div class="">
<label for="com-arbres" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
</div>
</div>
</form>
 
<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un arbre-->
<div class="col-sm-8 mb-3">
<button id="retour" class="btn btn-info has-tooltip hidden" data-toggle="tooltip" title="<?php echo $resume['retour-title']; ?>">
<i class="fas fa-undo-alt"></i> <?php echo $general['retour']; ?>
</button>
<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="<?php echo $resume['creer-title']; ?>">
<i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?>
</button>
</div>
</div>
</div><!-- fin formulaire arbres -->
<!-- zone résumé obs arbres ( =zone de droite) -->
<div id="boc-arbres-droite" class="col-md-6 mb-3">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="hidden">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin arbres zone résumé obs ( =zone de droite ) -->
</div>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
plantes = null;
lichens = null;
releve = null;
// OMG un modèle objet !!
releve = new ReleveApa();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
releve.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
releve.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
releve.tagProjet = "WidgetApa";
// Mots-clés à ajouter aux images
releve.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
releve.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
releve.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + releve.separationTagImg + releve.tagImg" : 'releve.tagImg'; ?>;
// Mots-clés à ajouter aux observations
releve.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
releve.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
releve.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + releve.separationTagObs + releve.tagObs" : 'releve.tagObs'; ?>;
// Précharger le formulaire avec les infos d'une observation
releve.obsId = "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>";
// URL du web service réalisant l'insertion des données dans la base du CEL.
releve.serviceSaisieUrl = "<?php echo $url_ws_apa; ?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
releve.serviceObsUrl = "<?php echo $url_ws_obs; ?>";
// URL du web service permettant de récupérer les images d'une observation.
releve.serviceObsImgs = "<?php echo $url_ws_cel_imgs; ?>";
// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
releve.serviceObsImgUrl = "<?php echo $url_ws_cel_img_url; ?>";
 
// langue
releve.langue = "<?php echo $widget['langue']; ?>";
// Squelette d'URL du web service de l'annuaire.
releve.serviceAnnuaireIdUrl = "<?php echo $url_ws_annuaire; ?>";
// mode : prod / beta / local
releve.mode = "<?php echo $conf_mode; ?>";
// URL de l'icône du chargement en cours d'une image
releve.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
releve.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
releve.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
releve.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
releve.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
releve.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
releve.dureeMessage = 10000;
 
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
releve.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
releve.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
 
// Initialisation du bousin
releve.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/apa/squelettes/apa.tpl.html
New file
0,0 → 1,226
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo $widget['titre']; ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne pour APA" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL pour APA" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne pour APA" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link href="<?php echo $url_base; ?>js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE APA -->
<link href="<?php echo $url_base; ?>css/apa.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<!-- <link rel="icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/tb-geoloc/tb-geoloc-lib-app.js"></script>
 
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script> -->
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/UtilsApa.js"></script>
<!-- chargement des formulaires -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetApa.js"></script>
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
releve = null;
widget = new WidgetApa();
widget.mode = "<?php echo $conf_mode; ?>";
widget.init();
});
//]]>
</script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/ReleveApa.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/PlantesApa.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/LichensApa.js"></script>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-obs-list="<?php echo $url_ws_obs_list; ?>" data-lang="<?php echo $langue; ?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.png' ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo $general['titre-page'];?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3><?php echo $aide['titre']; ?></h3>
<div id="aide-txt" class="hiden-sm-down">
<p><?php echo $aide['description']; ?></p>
</div>
</div>
</div>
</div>
 
<!-- zone observateur -->
<div id="formulaire" class="row mb-3">
<form id="form-observateur" role="form" autocomplete="on">
<h2 class="mb-3"><?php echo $observateur['titre']; ?></h2>
<div id="tb-observateur" class="row">
 
<div class="control-group col-md-6 col-sm-8 mb-3">
<div id="bloc-connexion">
<h3><?php echo $observateur['compte']; ?></h3>
<label for="courriel" class="col-sm-8 obligatoire">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control has-tooltip" data-toggle="tooltip" type="email" title="<?php echo $observateur['courriel-title']; ?> ">
</div>
 
<label for="mdp" class="col-sm-8 obligatoire">
<i class="fas fa-user-lock"></i>
<?php echo $observateur['mdp']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="mdp" name="mdp" class="form-control has-tooltip" data-toggle="tooltip" type="password" title="<?php echo $observateur['mdp-title']; ?> ">
</div>
 
<div id="boutons-connexion" class="col-sm-8 ml-3">
<a id="inscription" href="" class="mb-1" taget="_blank"><?php echo $observateur['inscription']; ?></a>
<a id="oublie" href="" class="float-right pr-3 mb-1" taget="_blank"><?php echo $observateur['oublie']; ?></a>
<div class="mt-3">
<a id="connexion" href="" class="float-right mr-3 btn btn-success" taget="_blank"><?php echo $observateur['connexion']; ?></a>
</div>
</div>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte"><?php echo $observateur['bienvenue']; ?></label>
<a href="" class="list-tool btn btn-large btn-info volet-toggle" data-toggle="volet">
<span id="nom-complet"></span> <!-- <i class="fas fa-caret-down"></i> -->
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" taget="_blank"><?php echo $observateur['profil']; ?></a>
</div>
<div id="deconnexion"><a href=""><?php echo $observateur['deconnexion']; ?></a></div>
</div>
</div>
<p id="nb-releves-bienvenue" class="hidden">
<?php echo $observateur['releves-deb'];?>
<span class="font-weight-bold nb-releves">0</span>
<?php echo $observateur['releves-fin'];?>
</p>
</div>
<div id="releves-utilisateur" class="col-md-6 col-sm-8 mt-3">
<div id="bouton-list-releves" class="mb-3 btn btn-info hidden">
<i class="fas fa-history"></i>&nbsp;<?php echo $observateur['reprendre-releve']; ?>
</div>
<div class="table-responsive mb-3">
<table id="table-releves" class="table table-hover hidden">
<tbody id="list-releves" class="border-0">
</tbody>
</table>
</div>
<div id="bouton-nouveau-releve" class="mb-3 btn btn-info hidden">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $observateur['creer-releve']; ?>
</div>
</div>
</div>
</form><!-- fin zone observateur -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertni-title']; ?></h4>
<p><?php echo $observateur['alertni']; ?></p>
</div>
</div>
<!-- zone relevé -->
 
<!-- zone chargement arbres lichens ou plantes -->
<div id="charger-form" data-mode="<?php echo $conf_mode; ?>" data-load="arbres"></div>
<!-- fin zone chargement formulaire -->
 
</div><!-- fin formulaire -->
 
</div><!-- fin Layout-wrapper page -->
</div><!-- fin zone-appli -->
 
<div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="help-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
<input id="prenom" name="prenom" type="hidden">
<input id="nom" name="nom" type="hidden">
<input id="apa-obs" type="hidden" value="">
<input id="releve-data" type="hidden" value="">
<input id="dates-rues-communes" type="hidden" value="">
<input id="img-releve-data" type="hidden" value="">
</body>
</html>
/branches/v3.01-serpe/widget/modules/apa/squelettes/lichens.tpl.html
New file
0,0 → 1,317
<div id="zone-lichens" class="bloc-top">
<h2 class="mb-3"><?php echo $lichens['titre']; ?></h2>
<div id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="lichens">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $lichens['poursuivre-lichens']; ?>
</div>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-lichens" class="">
<form id="form-lichens" role="form" autocomplete="off">
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="<?php echo $lichens['arbre-title']; ?>">
<i class="fas fa-tree" aria-hidden="true"></i>
<?php echo $general['arbre']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $lichens['arbre-title']; ?>" required>
<option value="" selected hidden><?php echo $general['numero-arbre']; ?></option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $general['date']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<div id="bloc-taxon" class="control-group">
<label for="taxon-liste" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?><!-- (<?php echo $widget['referentiel']; ?>)-->
</label>
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $general['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $general['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire" title="">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option value="" hidden selected><?php echo $general['choisir']; ?></option>
<option value="à déterminer" class="aDeterminer"><?php echo $general['certADet']; ?></option>
<option value="douteuse" class="douteuse"><?php echo $general['certDout']; ?></option>
<option value="certaine" class="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire" title="<?php echo $lichens['loc-tronc-title']; ?>">
<i class="fas fa-cube" aria-hidden="true"></i>
<?php echo $lichens['loc-tronc']; ?>
</div>
<table class="table col-sm-8">
<thead>
<tr>
<th scope="col">Face :</th>
<th scope="col"><?php echo $general['nord']; ?></th>
<th scope="col"><?php echo $general['est']; ?></th>
<th scope="col"><?php echo $general['sud']; ?></th>
<th scope="col"><?php echo $general['ouest']; ?></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1 (haut)</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n1" value="n1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s1" value="s1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e1" value="e1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o1" value="o1"></td>
</tr>
<tr>
<th scope="row">2</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n2" value="n2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s2" value="s2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e2" value="e2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o2" value="o2"></td>
</tr>
<tr>
<th scope="row">3</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n3" value="n3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s3" value="s3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e3" value="e3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o3" value="o3"></td>
</tr>
<tr>
<th scope="row">4</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n4" value="n4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s4" value="s4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e4" value="e4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o4" value="o4"></td>
</tr>
<tr>
<th scope="row">5 (bas)</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n5" value="n5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s5" value="s5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e5" value="e5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o5" value="o5"></td>
</tr>
</tbody>
</table>
</div>
 
<div class="">
<label for="commentaire" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $lichens['titre-photos']; ?>
</div>
<p id="miniature-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-primary"><i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?></button>
</div>
</div>
</div>
</div><!-- fin formulaire lichens -->
<!-- zone résumé obs lichens ( =zone de droite) -->
<div id="bloc-lichens-droite" class="col-md-6">
<div id="bouton-saisir-plantes" class="btn btn-info mb-3" data-load="plantes">
<i class="fas fa-seedling"></i> <?php echo $resume['saisir-plantes']; ?>
</div>
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $lichens['alert-img-tax']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin lichens zone résumé obs ( =zone de droite ) -->
</div>
<script type="text/javascript">
releve = null;
plantes = null;
lichens = null;
lichens = new LichensApa();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
lichens.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
lichens.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
lichens.tagProjet = "WidgetApa,lichens";
// Mots-clés à ajouter aux images
lichens.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
lichens.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
lichens.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + lichens.separationTagImg + lichens.tagImg" : 'lichens.tagImg'; ?>;
// Mots-clés à ajouter aux observations
lichens.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
lichens.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
lichens.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + lichens.separationTagObs + lichens.tagObs" : 'lichens.tagObs'; ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
lichens.serviceSaisieUrl = "<?php echo $url_ws_apa; ?>";
 
// URL de l'icône du chargement en cours d'une image
lichens.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
lichens.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
lichens.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
lichens.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
lichens.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
lichens.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + lichens.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
lichens.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + lichens.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
lichens.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
lichens.dureeMessage = 10000;
 
// Initialisation du bousin
lichens.init();
</script>
</div>
/branches/v3.01-serpe/widget/modules/apa/i18n/en.ini
New file
0,0 → 1,127
[General]
titre-page = "Input tool: sTREEts and Lichens GO!"
obligatoire = "required"
choisir = "Choose"
oui = "Yes"
non = "No"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the Tela Botanica network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton= "Inactive help"
contact= "For any questions,"
contact2= "contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
inscription = "Create an account"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
releves-deb = "You have already entered"
releves-fin = "records for <strong>Aupres de mon Arbre</strong>. Thank you!"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
 
 
[Observation]
titre-obs = "Observation"
titre-info-obs = "Informations about the survey"
obs-info = "<p><span class=\"warning\">Warning!></span><br>This information can not be modified after the creation of the survey</p>
<p>To indicate that<span class=\"font-weight-bold\">a survey item or a tree has changed</span> or correct an error, you must duplicate the existing survey.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">See the help</a> for further informations.</p>"
 
lieu-releve = "Location of the survey"
geoloc-title = "Please locate the street of the survey"
releves-exist = "Existing surveys&nbsp;: "
date = "Date"
date-title ="Enter the date of the observation"
zone-pietonne = "Pedestrian zone"
pres-lampadaires = "Presence of street lamps"
commentaires = "comments"
 
[Arbres]
Titre = "Trees from the survey"
referentiel = "Referential"
espece = "Species"
certitude = "Identification"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
milieu = "Environment"
milieu-ph = "wood, field, cliff, ..."
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transko = "An error occurred while transmitting an observation.<br />
You can try to retransmit it by clicking again on the transmit button or delete it and pass on the following.<br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">the error reporting form</a>."
 
/branches/v3.01-serpe/widget/modules/apa/i18n/fr.ini
New file
0,0 → 1,202
[General]
titre-page = "Outil de saisie&nbsp;:<br>sTREEts et Lichens&nbsp;GO!"
obligatoire = "obligatoire"
champ-obligatoire = "Ce champ est obligatoire."
commentaires = "Commentaires"
choisir = "...Choisir..."
arbre = "Arbre"
arbres = "Arbres"
espece = "Espèce"
autre-espece = "Autre espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
certitude = "Certitude"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
oui = "Oui"
non = "Non"
autre = "Autre"
aucune = "Aucune"
nord = "Nord"
sud = "Sud"
est = "Est"
ouest = "Ouest"
numero-arbre = "...Arbre numéro..."
date = "Date"
suivant = "Suivant"
enregistrer = "Enregistrer"
retour = "retour"
retour-title = "Retour à la saisie"
lieu = "Lieu"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau Tela Botanica
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/\#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton= "Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Se connecter"
inscription = "Créer un compte"
oublie = "Mot de pase oublié?"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
releves-deb = "Vous avez déjà saisi "
releves-fin = " relevés pour <span class="font-weight-bold">Aupres de mon Arbre</span>. Merci!"
courriel = "Courriel"
courriel-title = "Veuillez saisir votre adresse courriel."
mdp = "Mot de passe"
mdp-title = "Veuillez saisir votre mot de passe"
courriel-input-title = "Saisissez le courriel et le mot de passe avec lesquels vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit, veuillez suivre le lien \"Créer un compte\"."
prenom = "Prénom"
nom = "Nom"
reprendre-releve = "Reprendre un précédent relevé"
ordre-croissant = "Du plus ancien au plus recent"
creer-releve = "Créer un nouveau relevé"
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée à un compte.<br>
Veuillez vous connecter afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre-obs = "Relevé"
titre-info-obs = "Informations sur le relevé"
obs-info = "<p><span class=\"warning\">Attention!</span><br>Ces informations ne sont pas modifiables après la création du relevé</p>
<p>Pour indiquer qu'<span class=\"font-weight-bold\">un élément concernant le relevé ou un arbre a changé</span> ou corriger une erreur, vous devez dupliquer le relevé existant.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">Consultez l'aide</a> pour plus d'infos.</p>"
lieu-releve = "Lieu du relevé"
geoloc-title = "Localisation du relevé"
geoloc-erreur = "Le nom de la rue, ou de la commune, n'ont pas pu être correctement déterminées pour la localisation indiquée.
<br> Veuillez indiquer manuellement le nom de la rue ou/et de la commune."
releves-exist = "Relevés existants&nbsp;: "
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
zone-pietonne = "Zone piétonne"
pres-lampadaires = "Présence de lampadaires"
rue = "Rue"
latitude = "Latitude"
longitude = "Longitude"
nom-commune = "Nom de commune"
altitude = "Altitude"
pays = "Pays"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
alertdr-title = "Information&nbsp;: Relevé dupliqué"
alertdr = "Un releve existe dejà à cette date, pour cette rue.<br>Si vous souhaitez dupliquer le relevé, veuillez actionner le bouton \"Reprendre un précédent relevé\" de la rubique \"observateur\",<br>puis choisir dans le tableau le relevé à dupliquer et entrer la date de votre nouvelle observation"
error-taxon = "Une observation doit comporter au moins une image ou un nom d'espèce"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
 
[Arbres]
titre = "Saisie des Arbres du relevé"
arbres-info = "<p>Vous devez saisir <span class=\"font-weight-bold\">entre 5 et 10 arbres</span></p>"
referentiel = "Référentiel"
localiser = "Localiser l'arbre"
rue-erreur = "La rue sélectionnée pour cet arbre est différente de la rue du relevé"
circonference = "Circonférence"
circonference-title = "Circonférence en cm, à 1m de hauteur"
circonference-ph = "Circonférence (cm)"
surf-pied = "Surface du pied"
surf-pied-title = "Surface du pied d'arbre en m² (évaluée ou mesurée avec un mètre)"
surf-pied-ph = "Surface du pied (m²)"
eqt-pied-arbre = "Equipement au pied de l'arbre"
palque-metal = "Plaque de métal"
grille = "Grille"
ciment = "Ciment"
gomme = "Gomme"
absent = "Absent"
tassement = "Tassement"
tassement-title = "Évaluer le tassement du sol à l'aide d'un crayon que vous enfoncez verticalement dans le sol"
dur = "Dur (le crayon ne s'enfonce pas du tout)"
normal = "Normal (le crayon s'enfonce difficilement)"
mou = "Mou (le crayon s'enfonce facilement)"
dejections = "Présence de déjection(s)"
face-ombre = "Une ou plusieurs faces sont-elles à l'ombre la plupart du temps? Si oui, notez lesquelles&nbsp;:"
face-ombre-title = "Si vous estimez que le tronc est souvent à l'ombre (à cause de bâtiments ou du feuillage par exemple), notez la ou les faces ombragées."
suivant = "Suivant"
titre-photos = "Photo(s) de cet arbre"
 
[Plantes]
titre = "Saisie des plantes"
arbre-title = "Au pied de quel arbre du relevé cette plante a-t-elle été observée ?"
titre-photos = "Photo(s) de cette plante"
alert-img-tax = "Une observation de plantes de pied d'arbre doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image"
poursuivre-plantes = "Ajouter des plantes"
poursuivre-plantes-title = "Poursuivre la saisie des plantes"
 
[Lichens]
titre = "Saisie des lichens"
arbre-title = "Au pied de quel arbre du relevé ce lichen a-t-il été observé ?"
loc-tronc = "Localisation sur le tronc"
loc-tronc-title = "À partir de la grille d'observation, repérer où sont placés les lichens sur le tronc (bas à 1m du sol). Voir le tutoriel."
titre-photos = "Photo(s) de ce lichen"
alert-img-tax = "Une observation de plantes des lichens d'un arbre doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image"
poursuivre-lichens = "Ajouter des lichens"
poursuivre-lichens-title = "Poursuivre la saisie des lichens"
 
[Image]
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes."
ajouter = "Ajouter une image"
photos-title = "Photos au format JPEG, moins de 5Mo chacune."
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Merci pour l'envoi de vos données.<br />
Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br />
Pour toute question n'hésitez pas à nous contacter à l'adresse suivante : apa@tela-botanica.org<br>
Ces données seront utilisées par des chercheurs de Sorbonne Université et du Museum National d'Histoire Naturelle."
transko = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
et transmettre les suivantes.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">le formulaire de signalement d'erreurs</a>."
saisir-plantes = "Saisir les plantes"
saisir-lichens = "Saisir les lichens"
/branches/v3.01-serpe/widget/modules/apa/i18n/nl.ini
New file
0,0 → 1,40
[General]
obligatoire = "obligatoire"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec
le <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">réseau Tela Botanica</a>
(<a target=\"_blank\" href=\"https://www.tela-botanica.org/page:licence\">licence CC-BY-SA</a>).
Identifiez-vous bien pour ensuite retrouver et gérer vos données dans votre
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\"> Carnet en ligne</a>.
Créez jusqu'à 10 observations (avec 10Mo max d'images) puis partagez-les avec le bouton 'transmettre'.
Elles apparaissent immédiatement sur les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/flore/france-metropolitaine/\">
cartes et galeries photos </a> du site."
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Waarnemer"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées : prénom et nom."
prenom = "Voornaam"
nom = "Naam"
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
milieu = "Milieu"
date = "Datum waarneming"
referentiel = "Référentiel"
espece = "Algemene soort"
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
/branches/v3.01-serpe/widget/modules/apa/Apa.php
New file
0,0 → 1,381
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Apa extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'saisie';
const WS_SAISIE = 'CelWidgetSaisie';
const WS_UPLOAD = 'CelWidgetUploadImageTemp';
const WS_IMG_LIST = 'celImage';
const WS_OBS = 'CelObs';
const WS_OBS_LIST = 'InventoryObservationList';
const LANGUE_DEFAUT = 'fr';
const PROJET_DEFAUT = 'apa';
const WS_NOM = 'noms';
const EFLORE_API_VERSION = '0.1';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
$this->bar = (isset($bar)) ? $bar : false;
/* Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
Sinon, rien ne sera chargé.
L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé en framework.php et configuré pour chaque installation de
l'application.
Chemin du fichier chargeant le framework requis */
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
 
}
$langue = (isset($langue)) ? $langue : self::LANGUE_DEFAUT;
$this->langue = I18n::setLangue($langue);
$this->parametres['langue'] = $langue;
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
if (!isset($projet)) {
$this->parametres['projet'] = self::PROJET_DEFAUT;
}
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = '';
if (is_null($retour)) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
} else {
if (isset($retour['donnees'])) {
$retour['donnees']['conf_mode'] = $this->config['parametres']['modeServeur'];
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == 'prod');
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], $this->config['apa']['cheminDos']);
$retour['donnees']['url_ws_annuaire'] = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/');
$retour['donnees']['url_ws_apa'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_SAISIE);
$retour['donnees']['url_ws_obs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS);
$retour['donnees']['url_ws_obs_list'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS_LIST);
$retour['donnees']['url_ws_upload'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_UPLOAD);
$retour['donnees']['url_ws_cel_imgs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/liste-ids?obsId=';
$retour['donnees']['url_ws_cel_img_url'] = str_replace ( '%s.jpg', '{id}XS', $this->config['chemins']['celImgUrlTpl'] );
$retour['donnees']['mode'] = $mode;
$retour['donnees']['langue'] = $langue;
if( isset( $this->parametres['squelette'] ) ) {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS. $this->parametres['squelette'].'.tpl.html';
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
}
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
 
private function executerSaisie() {
$retour = array();
$retour['squelette'] = 'apa';
$retour['donnees']['general'] = I18n::get('General');
$retour['donnees']['observateur'] = I18n::get('Observateur');
$retour['donnees']['observation'] = I18n::get('Observation');
$retour['donnees']['arbres'] = I18n::get('Arbres');
$retour['donnees']['image'] = I18n::get('Image');
$retour['donnees']['plantes'] = I18n::get('Plantes');
$retour['donnees']['lichens'] = I18n::get('Lichens');
$retour['donnees']['chpsupp'] = I18n::get('Chpsupp');
$retour['donnees']['resume'] = I18n::get('Resume');
$retour['donnees']['widget'] = $this->rechercherProjet();
return $retour;
}
 
/* Recherche si le projet existe sinon va chercher les infos de base */
private function rechercherProjet() {
$tab = array();
$url = $this->config['apa']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$tableau = json_decode($json, true);
$tableau = $this->traiterParametres($tableau[0]);
if (
isset($this->parametres['squelette']) &&
($this->parametres['squelette'] === 'plantes' || $this->parametres['squelette'] === 'lichens')
) {
$tableau['type_especes'] = 'liste';
if ( $this->parametres['squelette'] === 'lichens' ) {
$tableau['referentiel'] = 'taxref';
}
}
$tableau['especes'] = $this->rechercherInfosEspeces($tableau);
if ($tableau['milieux'] != "") {
$tableau['milieux'] = explode(";", $tableau['milieux']);
} else {
$tableau['milieux'] = array();
}
if (isset($tableau['motscles'])) {
$tableau['tag-obs'] = $tableau['tag-img'] = $tableau['motscles'];
}
$tableau['chpSupp'] = $tab;
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$tableau['chemin_fichiers'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['apa']['imgProjet'] . '/' );
return $tableau;
}
 
// remplace certains parametres définis en bd par les parametres définis dans l'url
private function traiterParametres($tableau) {
$criteres = array('tag-obs', 'tag-img', 'projet', 'titre', 'logo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$tableau[$nom_critere] = $valeur_critere;
}
}
return $tableau;
}
 
private function rechercherInfosEspeces( $infos_projets ) { //print_r($infos_projets);exit;
$retour = array();
$referentiel = $infos_projets['referentiel'];
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$retour['url_ws_autocompletion_ns'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, $referentiel, self::WS_NOM );;
$retour['url_ws_autocompletion_ns_tpl'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM );
$retour['ns_referentiel'] = $referentiel;
 
if ( isset( $infos_projets['type_especes'] ) ) {
 
switch ( $infos_projets['type_especes'] ) {
case 'fixe' :
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['especes'] );
break;
case 'referentiel' : break;
case 'liste' :
$referentiel = $infos_projets['referentiel'];
$retour['taxons'] = $this->recupererListeNomsSci();
break;
}
} else if ( isset( $infos_projets['referentiel'] ) ) {
$referentiel = $infos_projets['referentiel'];
if ( isset($infos_projets['num_nom'] ) ) {
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['num_nom'] );
}
}
return $retour;
}
 
/**
* Consulte un webservice pour obtenir des informations sur le taxon dont le
* numéro nomenclatural est $num_nom (ce sont donc plutôt des infos sur le nom
* et non le taxon?)
* @param string|int $num_nom
* @return array
*/
protected function chargerInfosTaxon( $referentiel, $num_nom ) {
$url_service_infos = sprintf( $this->config['chemins']['infosTaxonUrl'], $referentiel, $num_nom );
$infos = json_decode( file_get_contents( $url_service_infos ) );
// trop de champs injectés dans les infos espèces peuvent
// faire planter javascript
$champs_a_garder = array( 'id', 'nom_sci','nom_sci_complet', 'nom_complet', 'famille','nom_retenu.id', 'nom_retenu_complet', 'num_taxonomique' );
$resultat = array();
$retour = array();
if ( isset( $infos ) && !empty( $infos ) ) {
$infos = (array) $infos;
if ( isset( $infos['nom_sci'] ) && $infos['nom_sci'] !== '' ) {
$resultat = array_intersect_key( $infos, array_flip($champs_a_garder ) );
$resultat['retenu'] = ( $infos['id'] == $infos['nom_retenu.id'] ) ? 'true' : 'false';
$retour['espece_imposee'] = true;
$retour['nn_espece_defaut'] = $nnEspeceImposee;
$retour['nom_sci_espece_defaut'] = $resultat['nom_complet'];
$retour['infos_espece'] = $this->array2js( $resultat, true );
}
}
return $retour;
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
if (!empty($_GET['referentiel']) && $_GET['referentiel'] !== 'autre') {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
}
return $referentiel_impose;
}
 
/**
* Trie par nom français les taxons lus dans le fichier tsv
*/
protected function recupererListeNomsSci() {
$taxons = $this->recupererListeTaxon();
if (is_array($taxons)) {
$taxons = self::trierTableauMd($taxons, array('nom_fr' => SORT_ASC));
}
return $taxons;
}
 
/**
* @TODO documenter
* @return array
*/
protected function recupererListeNoms() {
$taxons = $this->recupererListeTaxon();
$nomsAAfficher = array();
$nomsSpeciaux = array();
if (is_array($taxons)) {
foreach ($taxons as $taxon) {
$nomSciTitle = $taxon['nom_ret'].
($taxon['nom_fr'] != '' ? ' - '.$taxon['nom_fr'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
$nomFrTitle = $taxon['nom_sel'].
($taxon['nom_ret'] != $taxon['nom_sel']? ' - '.$taxon['nom_ret'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
 
if ($taxon['groupe'] == 'special') {
$nomsSpeciaux[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-special');
} else {
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_sel'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-sci');
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_fr'],
'nom_title' => $nomFrTitle,
'nom_type' => 'nom-fr');
}
}
$nomsAAfficher = self::trierTableauMd($nomsAAfficher, array('nom_a_afficher' => SORT_ASC));
$nomsSpeciaux = self::trierTableauMd($nomsSpeciaux, array('nom_a_afficher' => SORT_ASC));
}
return array('speciaux' => $nomsSpeciaux, 'sci-et-fr' => $nomsAAfficher);
}
 
/**
* Lit une liste de taxons depuis un fichier tsv fourni
*/
protected function recupererListeTaxon() {
$taxons = array();
$nom_fichier = ($this->parametres['squelette'] === 'lichens') ? 'lichens_taxons.tsv' : 'sauvages_taxons.tsv';
$fichier_tsv = dirname(__FILE__) . self::DS . 'configurations' . self::DS . $nom_fichier;
 
if ( file_exists( $fichier_tsv ) && is_readable( $fichier_tsv ) ) {
$taxons = $this->decomposerFichierTsv( $fichier_tsv );
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'.";
}
return $taxons;
}
 
/**
* Découpe un fihcier csv
*/
protected function decomposerFichierTsv($fichier, $delimiter = "\t"){
$header = null;
$data = array();
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
 
/**
* Convertit un tableau PHP en Javascript - @WTF pourquoi ne pas faire un json_encode ?
* @param array $array
* @param boolean $show_keys
* @return une portion de JSON représentant le tableau
*/
protected function array2js($array,$show_keys) {
$tableauJs = '{}';
if (!empty($array)) {
$total = count($array) - 1;
$i = 0;
$dimensions = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensions[$i] = array2js($value,$show_keys);
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
} else {
$dimensions[$i] = '\"'.addslashes($value).'\"';
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
}
if ($i == 0) {
$dimensions[$i] = '{'.$dimensions[$i];
}
if ($i == $total) {
$dimensions[$i].= '}';
}
$i++;
}
$tableauJs = implode(',', $dimensions);
}
return $tableauJs;
}
}
?>
/branches/v3.01-serpe/widget/modules/export/config.ini
New file
0,0 → 1,2
;rien pour le moment
;[export]
/branches/v3.01-serpe/widget/modules/export/Export.php
New file
0,0 → 1,137
<?php
// declare(encoding='UTF-8');
/**
* Service exportant les dernières observations publiques du CEL.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidget
*
* Paramètres :
* //TODO: décider des paramètres
*
* @author Aurélien Peronnet <aurelien@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2011, Tela Botanica (accueil@tela-botanica.org)
*/
class Export extends WidgetCommun {
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'export';
private $export_url = null;
private $eflore_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
/** pré-chargement du champ "projet" (pour les fainéants) - @TODO étendre à tous les champs ? */
protected $projet;
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
extract($this->parametres); // aaaargh mon pauvre cœur :'(
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
$this->bar = (isset($bar)) ? $bar : false;
$this->projet = (isset($projet)) ? $projet : '';
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
if (is_null($retour)) {
$contenu = 'Un problème est survenu : '.print_r($this->messages, true);
} else {
$urlWsCommune = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'LocationSearch');
$retour['donnees']['url_ws_autocompletion_commune'] = $urlWsCommune;
 
$urlWsNomSci = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'NameSearch');
$retour['donnees']['url_ws_autocompletion_nom_sci'] = $urlWsNomSci;
 
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
$retour['donnees']['url_export'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelWidgetExport');
$retour['donnees']['url_script_navigation'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/reseau/navigation.js');
 
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['projet'] = $this->projet;
$retour['donnees']['liste_pays'] = $this->obtenirListePays();
 
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
 
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
}
 
$this->envoyer($contenu);
}
private function executerAjax() {
$widget = $this->executerObservation();
$widget['squelette'] = 'export_ajax';
return $widget;
}
private function executerExport() {
$widget = array('squelette' => 'export', 'donnees' => array());
extract($this->parametres);
$max_obs = (isset($max_obs) && preg_match('/^[0-9]+,[0-9]+$/', $max_obs)) ? $max_obs : '10';
return $widget;
}
private function traiterParametres() {
$parametres_export = '?';
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'projet', 'programme', 'identiplante');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$valeur_critere = str_replace(' ', '%20', $valeur_critere);
$parametres_export .= $nom_critere.'='.$valeur_critere.'&';
}
}
if ($parametres_export == '?') {
$parametres_export = '';
} else {
$parametres_export = rtrim($parametres_export, '&');
}
return $parametres_export;
}
protected function obtenirListePays() {
$url = $this->config['chemins']['infosPaysUrl'];
$liste_pays = json_decode(file_get_contents($url), true);
$pays_fmt = array();
foreach($liste_pays['resultat'] as $pays) {
// Les pays renvoyé par le web service sont tous en majuscule
$nom = mb_convert_case($pays['nom'], MB_CASE_TITLE, 'UTF-8');
// Cas spécial de la france qui différencie france métropolitaine et "DOM TOM"
if($pays['code'] == "FR") {
$pays_fmt[] = array('code_iso_3166_1' => 'FR,FX,GF,PF,TF', 'nom' => 'France (tout)');
$pays_fmt[] = array('code_iso_3166_1' => 'FR,FX', 'nom' => 'France métropolitaine');
} else {
$pays_fmt[] = array('code_iso_3166_1' => $pays['code'], 'nom' => $nom);
}
}
// Tri par nom plutot que par code
usort($pays_fmt, array($this, "trierPays"));
return $pays_fmt;
}
protected function trierPays($a, $b) {
return strcmp($a['nom'], $b['nom']);
}
 
}
?>
/branches/v3.01-serpe/widget/modules/export/config.defaut.ini
New file
0,0 → 1,2
;rien pour le moment
;[export]
/branches/v3.01-serpe/widget/modules/export/squelettes/css/export.css
New file
0,0 → 1,134
@CHARSET "UTF-8";
 
#zone-appli {
width:280px;
font-family: Muli,sans-serif;
font-size: 12px;
}
 
h1#widget-titre {
font-size: 15px;
margin-top: 5px;
margin-bottom: 0;
font-weight: bold;
}
label {
font-weight: normal;
font-size: 12px;
margin-top: 5px;
margin-bottom: 0;
}
.clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
input[type="text"] {
height: 28px;
padding-left: 2px;
font-size: 12px;
color: #555555;
}
input.error {
border: 1px solid red;
}
label.error {
color: red;
}
 
.conteneur_dates {
width: 200px;
margin: auto;
margin-top: 2px;
}
.conteneur_date {
width: 90px;
float: left;
margin-right: 5px;
}
#date_debut, #date_fin {
width: 87px;
}
 
#form-export-obs input.large {
width: 230px;
}
 
.conteneur_selection_format ul {
list-style-type:none;
}
.conteneur_selection_champ div {
font-size: 13px;
}
 
select#pays {
font-size: 12px;
height: 30px;
width: 230px;
padding-left: 1px;
}
 
.attention {
background-color:#e7ebfd;
background-image:url("../images/information.png");
}
.attention {
display:inline-block;
background-repeat:no-repeat;
background-position:5px 50%;
padding:10px 5px 5px 40px;
background-size:24px 24px; -webkit-background-size:24px 24px; -o-background-size:24px 24px; -moz-background-size:24px 24px;
max-width:600px;
min-height:20px;
margin-top: 5px;
display:none;
}
 
/* Correction jQuery-ui */
 
ul.ui-autocomplete {
font-size: 12px;
}
 
/* Correction Bootstrap */
 
.well {
margin-bottom: 5px;
padding: 4px;
background-color: #fcfaf5;
}
#checkbox_set_cols input {
margin-right: 10px;
}
label.radio {
margin-top: 5px;
margin-bottom: 5px;
}
.btn {
padding: 4px 8px;
font-size: 11px;
}
.btn-success {
background-color: #b3c954;
border-color: #b3c954;
}
.btn-success:hover, .btn-success:active, .btn-success:focus {
background-color: #88a842;
border-color: #88a842;
}
 
 
.panel {
font-size: 12px;
}
 
.panel-body {
padding: 5px;
}
.panel-title {
font-size: 13px;
}
.panel-heading {
padding: 4px 8px;
background-color : hsla(0,0%,94%,.5);
font-size: 11px;
}
/branches/v3.01-serpe/widget/modules/export/squelettes/js/export.js
New file
0,0 → 1,227
//+---------------------------------------------------------------------------------------------------------+
// AUTO-COMPLÉTION Noms Scientifiques
function ajouterAutocompletionNomSci() {
$('#taxon').autocomplete({
source: function(requete, add){
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = "";
var url = getUrlAutocompletionNomSci()+"/"+formaterRequeteNomSci($('#taxon').val());
$.getJSON(url, requete, function(data) {
var suggestions = traiterRetourNomSci(data);
add(suggestions);
});
},
html: true
});
}
 
function formaterRequeteNomSci(nomSci) {
var nomSciCoupe = nomSci.split(' ');
if(nomSciCoupe.length >= 2) {
nomSci = nomSciCoupe[0]+'/'+nomSciCoupe[1];
} else {
nomSci = nomSciCoupe[0]+'/*';
}
return nomSci;
}
 
function traiterRetourNomSci(data) {
var suggestions = [];
if (data != undefined) {
$.each(data, function(i, val) {
var nom = {label : '', value : ''};
if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
nom.label = "...";
nom.value = val[0];
suggestions.push(nom);
return false;
} else {
nom.label = val[0];
nom.value = val[0];
suggestions.push(nom);
}
});
}
return suggestions;
}
 
function ajouterAutocompletionCommunes() {
$('#commune').autocomplete({
source: function(requete, add){
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = "";
var url = getUrlAutocompletionCommunes()+"/"+$('#commune').val();
$.getJSON(url, requete, function(data) {
var suggestions = traiterRetourCommune(data);
add(suggestions);
});
},
html: true
});
$( "#commune" ).bind("autocompleteselect", function(event, ui) {
console.log(ui.item);
$("#commune").data(ui.item.value);
$("#dept").data(ui.item.code);
$("#dept").val(ui.item.code);
});
}
 
function getUrlAutocompletionNomSci() {
var url = SERVICE_AUTOCOMPLETION_NOM_SCI_URL+"/"+REFERENTIEL_NOMS_SCI;
return url;
}
 
function separerCommuneDepartement(chaine) {
var deptCommune = chaine.split(' (');
if(deptCommune[1] != null && deptCommune[1] != undefined) {
deptCommune[1] = deptCommune[1].replace(')', '');
} else {
deptCommune[1] = '';
}
return deptCommune;
}
 
function traiterRetourCommune(data) {
var suggestions = [];
if (data != undefined) {
$.each(data, function(i, val) {
var nom = {label : '', value : ''};
if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
nom.label = "...";
nom.value = val[0];
suggestions.push(nom);
return false;
} else {
nom.label = val[0];
var deptCommune = separerCommuneDepartement(val[0]);
nom.value = deptCommune[0];
nom.code = deptCommune[1];
suggestions.push(nom);
}
});
}
return suggestions;
}
 
function getUrlAutocompletionCommunes() {
var url = SERVICE_AUTOCOMPLETION_COMMUNE_URL;
return url;
}
 
function getUrlExport() {
var url = SERVICE_EXPORT_URL;
return url;
}
 
function configurerValidationFormulaire() {
$("#form-export-obs").validate({
rules: {
utilisateur: {
email: true
},
date_debut: {
dateCel: true,
date_valid : $('#date_debut')
},
date_fin: {
dateCel: true,
date_valid : $('#date_fin')
},
dept: {
dept_valid : $('#dept')
},
num_taxon: {
number: true
}
},
messages: {
email: "L'email de l'utilisateur doit être valide",
num_taxon: "Le numéro taxonomique doit être un entier"
},
submitHandler: function(form) {
if($(form).valid()) {
validerExport();
}
return false;
}
});
 
$.validator.addMethod(
"dept_valid",
function (valeur) {
return valeur == "" || valeur.match(/^\d+(?:,\d+)*$/);
},
"Le ou les département(s) doivent être sur deux chiffres, séparés par des virgules"
);
$.validator.addMethod(
"date_valid",
function (element) {
var valid = true;
var dateDebut = $('#date_debut').datepicker("getDate");
var dateFin = $('#date_fin').datepicker("getDate");
if ($('#date_debut').val() != "" && $('#date_fin').val() != "") {
if (dateDebut != null && dateFin != null) {
valid = dateDebut <= dateFin;
} else {
valid = dateDebut == null || dateFin == null;
}
}
return valid;
},
"Les dates de début et de fin doivent être au format jj/mm/aaaa et la première inférieur à la dernière, si les deux sont présentes"
);
$.validator.addMethod(
"dateCel",
function (value, element) {
return value == "" || (/^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value));
},
"Format : jj/mm/aaaa"
);
}
 
function validerExport() {
var urlCalcul = getUrlExport()+'/calcul';
var valeurs =
$.grep($('#form-export-obs').serializeArray(), function(field, i) {
if($.trim(field.value) == '') return false;
return true;
});
 
$.get(urlCalcul, valeurs, function(data) {
if(data.length == 1) {
window.location.href = data[0];
$('.attention').hide();
$('#liste_telechargements').html('');
} else {
$('.attention').effect("highlight", {}, 1500);
afficherListeTelechargements(data);
}
});
}
 
function afficherListeTelechargements(urls) {
var htmlListe = '<ul>';
$.each(urls, function(index, url) {
htmlListe += '<li><a class="lien_telechargement" href="'+url+'">Feuille n°'+(index+1)+'</a></li>';
});
htmlListe += '</ul>';
$('#liste_telechargements').html(htmlListe);
}
 
function ouvrirDansUneNouvelleFenetre(evenement, lien) {
evenement.preventDefault();
window.open(lien.attr("href"));
}
 
$(document).ready(function() {
ajouterAutocompletionNomSci();
ajouterAutocompletionCommunes();
$("#date_debut").datepicker($.datepicker.regional['fr']);
$("#date_fin").datepicker($.datepicker.regional['fr']);
$(".lien_telechargement").live("click", function(event) {ouvrirDansUneNouvelleFenetre(event, $(this))});
configurerValidationFormulaire();
});
/branches/v3.01-serpe/widget/modules/export/squelettes/export.tpl.html
New file
0,0 → 1,231
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Export des observations du CeL</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widget d'export du carnet en ligne" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Export des observations publiques du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Export sous forme de fichier des observations publiques du Carnet en Ligne" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery.ui.datepicker-fr.js"></script>
 
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate-patched.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.9.0/messages_fr.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/form/2.95/jquery.form.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
 
<!-- Barre de navigation -->
<?php if ($bar !== false): ?>
<script src="<?=$url_script_navigation?>"></script>
<?php endif; ?>
<!-- Javascript : appli saisie -->
<script type="text/javascript">
//<![CDATA[
// Nombre d'élément dans les listes d'auto-complétion
var AUTOCOMPLETION_ELEMENTS_NBRE = 20;
// URL du web service permettant l'auto-complétion des noms scientifiques.
var SERVICE_AUTOCOMPLETION_NOM_SCI_URL = "<?= $url_ws_autocompletion_nom_sci; ?>";
// URL du web service permettant l'auto-complétion des communes.
var SERVICE_AUTOCOMPLETION_COMMUNE_URL = "<?= $url_ws_autocompletion_commune; ?>";
// Référentiel en cours d'utilisation pour les noms scientifiques, en dur pour le moment
var REFERENTIEL_NOMS_SCI = 'bdtfx';
// URL de base du service d'export
var SERVICE_EXPORT_URL = "<?= $url_export; ?>";
//]]>
</script>
<script type="text/javascript" src="<?= $url_base; ?>modules/export/squelettes/js/export.js"></script>
<!-- CSS -->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- <link href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> -->
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
<link href="<?= $url_base; ?>modules/export/squelettes/css/export.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<?php if ($bar !== false): ?>
<div id="tb-navigation" data-courant="widget-cel-export" data-squelette="bootstrap3" data-mode="prod">
</div>
<br/>
<?php endif; ?>
 
<div id="zone-appli" class="container">
<form id="form-export-obs" class="well" action="<?= $url_export.'/' ?>" method="get" >
<h1 id="widget-titre"> Export des données du CEL</h1>
<div class="row-fluid panel panel-default conteneur_selection_filtres">
<div class="panel-heading">
<div class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#filtres_export" id="label_filtres_export">Filtres</a>
</div>
</div>
<div id="filtres_export" class="panel-collapse collapse in" >
<div class="panel-body">
<div class="row-fluid">
<label for="utilisateur">Email de la source des données </label><input id="utilisateur" class="large" name="utilisateur" type="text" placeholder="ex: accueil@tela-botanica.org" />
</div >
<div class="row-fluid">
<label for="commune">Pays </label>
<select name="pays" id="pays" class="form-control" >
<option value="">...</option>
<?php foreach($liste_pays as $pays) { ?>
<option value="<?= $pays['code_iso_3166_1']; ?>"><?= $pays['nom']; ?></option>
<?php } ?>
</select>
</div>
<div class="row-fluid">
<label for="commune">Commune </label>
<input id="commune" class="large" name="commune" type="text" placeholder="ex: Montpellier" />
</div>
<div class="row-fluid">
<label for="dept">Département(s) </label>
<input id="dept" class="large" name="dept" type="text" placeholder="ex: 34 OU 26,84,34..." />
</div>
<div class="row-fluid">
<label for="projet">Mots-clés </label>
<input id="projet" class="large" name="projet" type="text" placeholder="ex: defiphoto, abba" value="<?= $projet ?>" />
</div>
<div class="row-fluid">
<label title="Programme de sciences participatives ou observatoire citoyen" for="programme">Programme </label>
<select name="programme" id="programme" class="form-control">
<option value="">...</option>
<option value="sauvages">Sauvages de ma rue</option>
<option value="missions-flore">Missions flore</option>
<option value="messicoles">Observatoire Des Messicoles</option>
<option value="biodiversite34">Biodiversité 34</option>
<option value="arbres-tetards">Arbres têtards</option>
<option value="arbres-remarquables">Arbres remarquables</option>
<option value="tb_lichensgo">Lichens Go !</option>
<option value="tb_streets">sTREEts</option>
<option value="bellesdemarue">Belles de ma rue</option>
</select>
</div>
<div class="row-fluid">
<label for="num_taxon">Taxon</label>
<input id="taxon" class="large" name="taxon" type="text" placeholder="ex: Viola OU Viola alba OU Violaceae" />
</div>
<div class="row-fluid">
<input type="checkbox" name="identiplante"
title ="exporter uniquement les observations dont l'espèce a été validée par le réseau" value="1" />
validé sur IdentiPlante<br/>
</div>
<div class="row-fluid">
<input type="checkbox" name="standard" checked="1"
title ="exporter uniquement les observations possédant un lieu, une date et une détermination non déclarée douteuse ou à déterminer" value="1" />
données standards<br/>
</div>
<div class="row-fluid conteneur_dates">
<div class="conteneur_date">
<label for="date_debut">Date de début </label>
<input id="date_debut" name="date_debut" type="text" placeholder="jj/mm/aaaa" />
</div>
<div class="conteneur_date">
<label for="date_fin">Date de fin </label>
<input id="date_fin" name="date_fin" type="text" placeholder="jj/mm/aaaa" />
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="row-fluid panel panel-default conteneur_selection_format">
<div class="panel-heading">
<div class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#format_export" id="label_format_export">Format d'export</a>
</div>
</div>
<div id="format_export" class="panel-collapse collapse in" >
<div class="panel-body">
<ul>
<li>
<label class="radio" for="format_xls">
<input type="radio" class="selection_format" name="format" value="xls" id="format_xls" checked="checked" />
excel (.xls)
</label>
</li>
<li>
<label class="radio" for="format_csv">
<input type="radio" class="selection_format" name="format" value="csv" id="format_csv"/>
csv (.csv)
</label>
</li>
</ul>
</div>
</div>
</div>
 
<div class="row-fluid panel panel-default">
<div class="panel-heading">
<div class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#checkbox_set_cols" id="label_options_export">Champs à exporter</a>
</div>
</div>
<div id="checkbox_set_cols" class="panel-collapse collapse" >
<div class="panel-body">
<!-- problème: readonly sur checkbox n'empêche pas de changer le statut (un)checked -->
<!-- <input type="checkbox" name="colonnes[]" readonly="readonly" checked="1" value="standard" />standard (nom scientifique, date ...)<br/> -->
<input type="hidden" name="colonnes[]" value="standardexport" />
<input type="hidden" name="colonnes[]" disabled="disabled" checked="1" value="standard" />
<input type="checkbox" name="colonnes[]" value="avance" />avancés (nom commun, précision de la localisation, station, Score IdentiPlante, abondance, phénologie, ...)<br/>
<input type="checkbox" name="colonnes[]" value="etendu" />étendus (champs spécifiques à un programme)<br/>
<input type="checkbox" name="colonnes[]" value="baseflor" />écologiques (données Baseflor et syntaxons Baseveg)<br/>
<!-- <input type="checkbox" name="colonnes[]" value="auteur" checked="checked" readonly="readonly" />Observateur<br/> -->
<input type="hidden" name="colonnes[]" value="auteur" />
<input type="hidden" name="colonnes[]" disabled="disabled" checked="1" value="auteur" />
</div>
</div>
</div>
 
 
<input class="btn btn-success" style="margin-top: 10px;" value="Télécharger les données" type="submit" />
 
<div class="attention">
Le volume de données à exporter est trop important,<br /> l'export a donc été divisé en plusieurs feuilles
à télécharger avec les liens ci-dessous<br /> (cliquer sur ces liens ne fermera pas cette fenetre).
<div id="liste_telechargements">
</div>
</div>
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/export/squelettes/images/information.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/export/squelettes/images/information.png
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/export/squelettes/images/favicon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/export/squelettes/images/favicon.ico
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/CartoPoint.php
New file
0,0 → 1,285
<?php
// declare(encoding='UTF-8');
/**
* Service fournissant une carte dynamique des obsertions publiques du CEL.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetCarto
*
* Paramètres :
* ===> utilisateur = identifiant
* Affiche seulement les observations d'un utilisateur donné. L'identifiant correspond au courriel de
* l'utilisateur avec lequel il s'est inscrit sur Tela Botanica.
* ===> dept = code_du_département
* Affiche seulement les observations pour le département français métropolitain indiqué. Les codes de département utilisables
* sont : 01 à 19, 2A, 2B et 21 à 95.
* ===> projet = mot-clé
* Affiche seulement les observations pour le projet d'observations indiqué. Dans l'interface du CEL, vous pouvez taguer vos
* observations avec un mot-clé de projet. Si vous voulez regrouper des observations de plusieurs utilisateurs, communiquez un
* mot-clé de projet à vos amis et visualisez les informations ainsi regroupées.
* ===> num_taxon = num_taxon
* Affiche seulement les observations pour la plante indiquée. Le num_taxon correspond au numéro taxonomique de la plante.
* Ce numéro est disponible dans les fiches d'eFlore. Par exemple, pour "Poa bulbosa L." le numéro taxonomique vaut 7080.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Cartopoint extends WidgetCommun {
const DS = DIRECTORY_SEPARATOR;
const SERVICE_CARTO_NOM = 'CelWidgetMapPoint';
const SERVICE_CARTO_ACTION_DEFAUT = 'carte-defaut';
 
private $carte = null;
private $num_taxon = false;
private $utilisateur = null;
private $projet = null;
private $dept = null;
private $num_nom_ret = null;
private $station = null;
private $format = null;// Format des obs pour les stations (tableau/liste)
private $photos = null; // Seulement les obs avec photos ou bien toutes
private $titre = null; // Indication s'il faut le titre par défaut, personnalisé ou bien sans titre
private $logo = null; // url du logo à ajouter si nécessaire
private $url_site = null; // url du site auquel le logo est lié
private $image = null; // url d'une image à ajouter dans l'interface
private $nbjours = null; // nombre de jour à partir de la date courate pour lesquels on affiche les points
private $annee = null; // filtre par année
private $referentiel = null;
private $groupe_zones_geo = null; // Groupe de zones géographiques personnalisé
/** langue (traduction), charge un template de la forme "defaut_en.tpl.html" */
protected $langue = null;
 
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
$this->extraireParametres();
if ($this->num_taxon == false) {
$methode = $this->traiterNomMethodeExecuter($this->carte);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
if (is_null($retour)) {
$info = 'Un problème est survenu : '.print_r($this->messages, true);
$this->envoyer($info);
} else {
// Suffixe de template pour la langue - fr par défaut @TODO configurer ça un jour
$suffixeLangue = "";
if ($this->langue != null && $this->langue != "fr") {
$suffixeLangue = "_" . $this->langue;
}
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].$suffixeLangue.'.tpl.html';
$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
$this->envoyer($html);
}
} else {
$this->envoyer("Cette carto utilise le paramètre num_taxon pour afficher les observations liées à un taxon particulier.
Ce paramètre n'est plus maintenu. Vous pouvez utiliser le paramètre num_nom_retenu pour réaliser
un filtre sur le numéro nomenclatural du nom. En cas de problème, vous pouvez nous contacter via l'outil suivant : <br />
<iframe style=\"width:650px;height:600px;\" src=\"https://www.tela-botanica.org/widget:reseau:remarques?lang=fr&service=cel&pageSource=tela-botanica.org/widget:cel:cartoPoint\"></iframe>");
}
}
 
public function extraireParametres() {
extract($this->parametres);
$this->num_taxon = (isset($num_taxon) ? true : false);
unset($this->parametres['num_taxon']);
$this->carte = (isset($carte) ? $carte : self::SERVICE_CARTO_ACTION_DEFAUT);
$this->utilisateur = (isset($utilisateur) ? $utilisateur : '*');
$this->projet = (isset($projet) ? $projet : '*');
$this->tag = (isset($tag) ? $tag : '*');
$this->tag = (isset($motcle) ? $motcle : $this->tag);
if (isset($standard)) {
$this->standard = '1';
} elseif (isset($projet) && in_array($projet, array("sauvages", "messicoles",
"arbres-tetards", "arbres-remarquables","missions-flore", "tb_lichensgo", "tb_streets", "bellesdemarue"))) {
$this->standard = '0';
} else {
$this->standard = '1';
}
$this->dept = (isset($dept) ? $dept : '*');
$this->commune = (isset($commune) ? $commune : '*');
$this->pays = (isset($pays) ? $pays : '*');
$this->num_nom_ret = (isset($num_nom_ret) ? $num_nom_ret : '*');
$this->date = (isset($date) ? $date : '*');
$this->taxon = (isset($taxon) ? $taxon : '*');
$this->commentaire = (isset($commentaire) ? $commentaire : null);
$this->station = (isset($station) ? $station : null);
$this->format = (isset($format) ? $format : null);
$this->photos = (isset($photos) ? $photos : null);
$this->titre = (isset($titre) ? urldecode($titre) : null);
$this->logo = (isset($logo) ? urldecode($logo) : null);
$this->url_site = (isset($url_site) ? urldecode($url_site) : null);
$this->image = (isset($image) ? urldecode($image) : null);
$this->nbjours = (isset($nbjours) ? urldecode($nbjours) : null);
$this->annee = (isset($annee) ? urldecode($annee) : null);
$this->referentiel = (isset($referentiel) ? urldecode($referentiel) : null);
$this->groupe_zones_geo = (isset($groupe_zones_geo) ? urldecode($groupe_zones_geo) : null);
$this->start = (isset($start) ? $start : null);
$this->limit = (isset($limit) ? $limit : null);
// définition de la langue, en mode souple
if (isset($this->parametres['lang'])) {
$this->langue = $this->parametres['lang'];
}
}
 
/**
* Carte par défaut
*/
public function executerCarteDefaut() {
$widget = null;
$url_stations = $this->contruireUrlServiceCarto('stations');
$url_base = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
 
// Création des infos du widget
$widget['donnees']['url_cel_carto'] = $this->contruireUrlServiceCarto();
$widget['donnees']['url_stations'] = $url_stations;
$widget['donnees']['url_base'] = $url_base;
$widget['donnees']['utilisateur'] = $this->utilisateur;
$widget['donnees']['projet'] = $this->projet;
$widget['donnees']['standard'] = $this->standard;
$widget['donnees']['tag'] = $this->tag;
$widget['donnees']['dept'] = $this->dept;
$widget['donnees']['commune'] = $this->commune;
$widget['donnees']['pays'] = $this->pays;
$widget['donnees']['num_nom_ret'] = $this->num_nom_ret;
$widget['donnees']['date'] = $this->date;
$widget['donnees']['taxon'] = $this->taxon;
$widget['donnees']['commentaire'] = $this->commentaire;
$widget['donnees']['photos'] = $this->photos;
$widget['donnees']['titre'] = $this->titre;
$widget['donnees']['logo'] = $this->logo;
$widget['donnees']['url_site'] = $this->url_site;
$widget['donnees']['image'] = $this->image;
$widget['donnees']['nbjours'] = $this->nbjours;
$widget['donnees']['annee'] = $this->annee;
$widget['donnees']['referentiel'] = $this->referentiel;
$widget['donnees']['groupe_zones_geo'] = $this->groupe_zones_geo;
$widget['donnees']['url_limites_communales'] = $this->obtenirUrlsLimitesCommunales();
$widget['donnees']['communeImageUrl'] = $this->config['carto']['communeImageUrl'];
$widget['donnees']['pointImageUrl'] = $this->config['carto']['pointImageUrl'];
$widget['donnees']['groupeImageUrlTpl'] = $this->config['carto']['groupeImageUrlTpl'];
$widget['donnees']['url_widget_saisie'] = $this->config['urls']['widgetSaisie'];
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
$widget['donnees']['cleGoogleMaps'] = $this->config['api']['cleGoogleMapsCartoPoint'];
$widget['donnees']['baseURLServicesAnnuaireTpl'] = $this->config['chemins']['baseURLServicesAnnuaireTpl'];
$widget['donnees']['baseURLServicesCelTpl'] = $this->config['chemins']['baseURLServicesCelTpl'];
 
$widget['squelette'] = 'carte_defaut';
 
return $widget;
}
 
private function contruireUrlServiceCarto($action = null) {
// Création url données json
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::SERVICE_CARTO_NOM);
if ($action) {
$url .= "/$action";
 
$parametres_retenus = array();
$parametres_a_tester = array('station', 'standard', 'utilisateur', 'projet', 'tag', 'dept', 'commune',
'num_nom_ret', 'taxon', 'date', 'commentaire', 'nbjours', 'referentiel','pays', 'groupe_zones_geo',
'start', 'limit');
foreach ($parametres_a_tester as $param) {
if (isset($this->$param) && $this->$param != '*') {
$parametres_retenus[$param] = $this->$param;
}
}
if (count($parametres_retenus) > 0) {
$parametres_url = array();
foreach ($parametres_retenus as $cle => $valeur) {
$parametres_url[] = $cle.'='.$valeur;
}
$url .= '?'.implode('&', $parametres_url);
}
}
return $url;
}
 
private function obtenirUrlsLimitesCommunales() {
$urls = null;
if (isset($this->dept)) {
// si on veut afficher les limites départementales on va compter et chercher les noms de fichiers
$fichiersKml = $this->chercherFichierKml();
if (count($fichiersKml) > 0) {
foreach ($fichiersKml as $kml => $dossier){
$url_limites_communales = sprintf($this->config['carto']['limitesCommunaleUrlTpl'], $dossier, $kml);
$urls[] = $url_limites_communales;
}
}
}
$urls = json_encode($urls);
return $urls;
}
 
private function chercherFichierKml(){
$fichiers = array();
if (isset($this->config['carto']['communesKmzChemin'])) {
$chemins = explode(',', $this->config['carto']['communesKmzChemin']);
$departements = explode(',', $this->dept);// plrs code de départements peuvent être demandés séparés par des virgules
$departements_trouves = array();
foreach ($chemins as $dossier_chemin) {
if ($dossier_ressource = opendir($dossier_chemin)) {
while ($element = readdir($dossier_ressource)) {
if ($element != '.' && $element != '..') {
foreach ($departements as $departement) {
$nom_dossier = basename($dossier_chemin);
if (!isset($departements_trouves[$departement]) || $departements_trouves[$departement] == $nom_dossier) {
$dept_protege = preg_quote($departement);
if (!is_dir($dossier_chemin.'/'.$element) && preg_match("/^$dept_protege(?:_[0-9]+|)\.km[lz]$/", $element)) {
$fichiers[$element] = $nom_dossier;
$departements_trouves[$departement] = $nom_dossier;
}
}
}
}
}
closedir($dossier_ressource);
}
}
} else {
$this->messages[] = 'Veuillez configurer le paramètres carto.communesKmzChemin.';
}
return $fichiers;
}
 
/**
* Afficher message d'avertissement.
*/
public function executerAvertissement() {
$widget = null;
 
// Création des infos du widget
$widget['donnees']['contenu_aide'] = $this->chargerAideWiki();
$widget['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
$widget['squelette'] = 'avertissement';
 
return $widget;
}
 
/**
* Charge le contenu du wikini demandé
*/
function chargerAideWiki() {
$url = str_replace('{page}','AideCarto',$this->config['carto']['aideWikiniUrlCartoPoint']);
$infos_aide = file_get_contents($url);
 
$aide = '';
 
if($infos_aide != null && $infos_aide != '') {
$infos_aide = json_decode($infos_aide);
$infos_aide = (is_a($infos_aide, 'StdClass') && $infos_aide->texte != null) ? $infos_aide->texte : '';
}
 
return $infos_aide;
}
}
?>
/branches/v3.01-serpe/widget/modules/cartopoint/config.defaut.ini
New file
0,0 → 1,12
[urls]
widgetSaisie = "https://www.tela-botanica.org/widget:cel:saisie";
 
[carto]
; Chemin vers le dossier contenant les fichiers kmz des limites communales
communesKmzChemin = "/home/telabotap/www/commun/google/map/3/kmz/communes/,/home/telabotap/www/commun/google/map/3/kmz/communes_incompletes/"
; Template de l'url où charger les fichiers kml des limites communales.
limitesCommunaleUrlTpl = "https://www.tela-botanica.org/eflore/cel2/widget/modules/carto/squelettes/kml/%s/%s"
communeImageUrl = "https://www.tela-botanica.org/commun/icones/carto/commune.png"
pointImageUrl = "https://www.tela-botanica.org/commun/icones/carto/point2.png"
groupeImageUrlTpl = "https://www.tela-botanica.org/service:cel:CelWidgetMapPoint/icone-groupe?type={type}&nbre={nbre}"
aideWikiniUrlCartoPoint = "https://www.tela-botanica.org/wikini/eflore/api/rest/0.5/pages/{page}?txt.format=text/html";
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/carte_defaut_nl.tpl.html
New file
0,0 → 1,382
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Publieke waarnemingen CEL - Tela Botanica</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, cartographie, CEL" />
<meta name="description" content="Kaartenwidget publieke waarnemingen van planten die in de ‘Carnet en Ligne’ (CEL) werden ingevoerd" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Publieke waarnemingen CEL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Kaartweergave publieke waarnemingen van de ‘Carnet en Ligne’" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=<?php echo $cleGoogleMaps; ?>&v=3.5&amp;sensor=true&amp;language=nl&amp;region=NL"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/google/map/3/markermanager/1.0/markermanager-1.0.pack.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/js/jquery-ui-1.8.15.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/tablesorter/2.0.5/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/pagination/2.2/jquery.pagination.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/messages_fr.js"></script>
<!-- Javascript : appli carto -->
<script type="text/javascript">
//<![CDATA[
global_lang = "nl"; // langue pour la traduction du JS
 
var urlWidgetSaisie = '<?= $url_widget_saisie; ?>',
urlsLimitesCommunales = '<?= $url_limites_communales; ?>',
nt = '<?=$num_nom_ret?>',
filtreCommun =
'&standard=<?=rawurlencode($standard)?>'+
'&taxon=<?=rawurlencode($taxon)?>'+
'&utilisateur=<?=$utilisateur?>'+
'&projet=<?=rawurlencode($projet)?>'+
'&tag=<?=rawurlencode($tag)?>'+
'&date=<?=$date?>'+
'&dept=<?=$dept?>'+
'&commune=<?=rawurlencode($commune)?>'+
'&pays=<?=rawurlencode($pays)?>'+
'&commentaire=<?=rawurlencode($commentaire)?>'+
'&groupe_zones_geo=<?=rawurlencode($groupe_zones_geo)?>',
utilisateur = '<?=$utilisateur?>',
photos = '<?= ($photos != null) ? $photos : "null"; ?>';
groupe_zones_geo = '<?= ($groupe_zones_geo != null) ? $groupe_zones_geo : "null"; ?>';
if (photos != null) {
filtreCommun += '&photos=<?=rawurlencode($photos)?>';
}
var nbJours = '<?= ($nbjours != null) ? $nbjours : "null"; ?>';
if (nbJours != null) {
filtreCommun += '&nbjours=<?=rawurlencode($nbjours)?>';
}
var annee = '<?= ($annee != null) ? $annee : "null"; ?>';
if (annee != null) {
filtreCommun += '&annee=<?=rawurlencode($annee)?>';
}
var referentiel = '<?= ($referentiel != null) ? $referentiel : "null"; ?>';
if (referentiel != null) {
filtreCommun += '&referentiel=<?=rawurlencode($referentiel)?>';
}
var baseURLServicesAnnuaireTpl = '<?= $baseURLServicesAnnuaireTpl; ?>',
baseURLServicesCelTpl = '<?= $baseURLServicesCelTpl; ?>';
var titreCarte = '<?= ($titre != null) ? addslashes($titre) : "null"; ?>',
urlLogo = '<?= ($logo != null) ? $logo : "null"; ?>',
urlSite = '<?= ($url_site != null) ? $url_site : "null"; ?>',
urlImage = '<?= ($image != null) ? $image : "null"; ?>',
stationsUrl = '<?=$url_cel_carto?>/tout'+'?' + 'num_nom_ret=' + nt + filtreCommun,
taxonsUrl = '<?=$url_cel_carto?>/taxons'+'?' + 'num_nom_ret=' + nt + filtreCommun,
observationsUrl = '<?=$url_cel_carto?>/observations' + '?' +
'station={stationId}'+
'&num_nom_ret={nt}'+
filtreCommun,
communeImageUrl = '<?= $communeImageUrl; ?>',
pointImageUrl = '<?= $pointImageUrl; ?>',
groupeImageUrlTpl = '<?= $groupeImageUrlTpl; ?>';
//]]>
</script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto.js"></script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto_msgs.js"></script>
<!-- CSS -->
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/css/smoothness/jquery-ui-1.8.15.custom.css" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/cartopoint/squelettes/css/<?=isset($_GET['style']) ? $_GET['style'] : 'carto'?>.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<div id="zone-chargement-point" class="element-overlay">
<img id="img-chargement" src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement_transparent.gif" alt="Wordt geladen..." />
<div id="legende-chargement">Punten worden geladen...</div>
</div>
<?php if($logo != null) { ?>
<?php if($logo != '0') { ?>
<div id="logo">
<?php if($url_site != null) { ?>
<a href="<?= $url_site; ?>"
title="<?= $url_site; ?>"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="<?= $logo ?>" alt="logo" />
</a>
<?php } else { ?>
<img class="image-logo" src="<?= $logo ?>" alt="logo" />
<?php } ?>
</div>
<?php } ?>
<?php } else { ?>
<div id="logo">
<a href="http://www.tela-botanica.org/site:accueil"
title="Naar homepage Tela Botanica"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="https://resources.tela-botanica.org/tb/img/128x128/logo_carre_officiel.png" alt="TB" />
</a>
</div>
<?php } ?>
<?php if($titre !== "0" && $titre != null) : ?>
<div id="zone-titre" class="element-overlay">
<h1 id="carte-titre">
<span id="carte-titre-infos"><?= htmlspecialchars($titre); ?></span>
</h1>
</div>
<?php endif; ?>
<div id="carte" <?= ($titre != 0) ? 'class="carte_titree"': 'class="carte_non_titree"'; ?>></div>
<div id="lien_plein_ecran" class="element-overlay">
<a href="#" title="Over volledig scherm tonen (opent in een nieuw venster)">
<img class="icone" src="<?=$url_base?>modules/cartopoint/squelettes/images/plein_ecran.png" alt="Volledig scherm tonen" />
</a>
</div>
<div id="zone-stats" style="display:none" class="element-overlay">
<h1>
</h1>
</div>
<div id="conteneur-filtre-utilisateur" class="ferme element-overlay">
<div id="lien-affichage-filtre-utilisateur">Mijn kaart</div>
<div id="formulaire-filtre-utilisateur">
<span class="indication-filtre-utilisateur">Toon de kaart met uw waarnemingen</span>
<input type="text" id="filtre-utilisateur" placeholder="Voer uw e-mailadres in" value="<?= ($utilisateur != '*') ? $utilisateur : '' ?>" title="Voer het e-mailadres in van een gebruiker om zijn gegevens te bekijken" />
<input id="valider-filtre-utilisateur" type="button" value="ok" />
<a href="#" id="raz-filtre-utilisateur">Toon de algemene kaart</a>
</div>
</div>
<?php if($image != null) { ?>
<div id="image-utilisateur">
<img width="155px" src="<?= $image ?>" alt="afbeelding" />
</div>
<?php } ?>
<div id="origine-donnees">
Netwerkwaarnemingen <a href="http://www.tela-botanica.org/site:botanique"
onClick="ouvrirNouvelleFenetre(this, event)">
Tela Botanica
</a>
- Kaart : <a href="http://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>
- Tegels : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>
</div>
<!-- trichouille : cette partie n'est pas traduite. De toute façon personne ne la lit :)
<div id="lien-voir-cc" class="element-overlay">
<a href="<?=$url_base?>cartoPoint?carte=avertissement">
?
</a>
</div>-->
<!-- Blocs chargés à la demande : par défaut avec un style display à none -->
<!-- Squelette du message de chargement des observations -->
<script id="tpl-chargement" type="text/x-jquery-tmpl">
<div id="chargement" style="height:300px;">
<img src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement.gif" alt="Wordt geladen..." />
<p>Waarnemingen worden geladen...</p>
</div>
</script>
<!-- Squelette du contenu d'une info-bulle observation -->
<script id="tpl-obs" type="text/x-jquery-tmpl">
<div id="info-bulle" style="width:{largeur}px;">
<div id="obs">
<h2 id="obs-station-titre">Station</h2>
<div class="navigation">&nbsp;</div>
<div>
<ul>
<li><a href="#obs-vue-tableau">Tabel</a></li>
<li><a href="#obs-vue-liste">Lijst</a></li>
</ul>
</div>
<div id="observations">
<div id="obs-vue-tableau" style="display:none;">
<table id="obs-tableau">
<thead>
<tr>
<th title="Door de gebruiker gedefinieerde wetenschappelijke naam">Naam</th>
<th title="Datum waarneming">Datum</th>
<th title="Plaats waarneming">Plaats</th>
<th title="Auteur waarneming">Waarnemer</th>
</tr>
</thead>
<tbody id="obs-tableau-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-tableau -->
</tbody>
</table>
</div>
<div id="obs-vue-liste" style="display:none;">
<ol id="obs-liste-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-liste -->
</ol>
</div>
</div>
<div id="obs-pieds-page">
<p>Id : <span id="obs-station-id">&nbsp;</span></p>
</div>
<div class="navigation">&nbsp;</div>
<div class="conteneur-lien-saisie" style="display:none;">
<a href="#" class="lien-widget-saisie">
Waarneming voor deze site toevoegen
</a>
</div>
</div>
</div>
</script>
<!-- Squelette du contenu du tableau des observations -->
<script id="tpl-obs-tableau" type="text/x-jquery-tmpl">
<tr class="cel-obs-${idObs}">
<td>
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</td>
<td class="date">{{if date}}${date}{{else}}&nbsp;{{/if}}</td>
<td class="lieu">{{if lieu}}${lieu}{{else}}&nbsp;{{/if}}</td>
<td>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contact opnemen met deze medewerker">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Contact opnemen met deze medewerker">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</td>
</tr>
</script>
<!-- Squelette du contenu de la liste des observations -->
<script id="tpl-obs-liste" type="text/x-jquery-tmpl">
<li>
<div class="cel-obs-${idObs}">
{{if images}}
{{each(index, img) images}}
<div{{if index == 0}} class="cel-img-principale" {{else}} class="cel-img-secondaire"{{/if}}>
<a class="cel-img"
href="${img.normale}"
title="${nomSci} {{if nn != null && nn != 0 && nn != ''}} [${nn}] {{/if}} door ${observateur} - gepubliceerd op ${datePubli} - GUID : ${img.guid}"
rel="cel-obs-${idObs}">
<img src="${img.miniature}" alt="Afbeelding #${img.idImg} van der waarneming #${nn}" />
</a>
<p id="cel-info-${img.idImg}" class="cel-infos">
<a class="cel-img-titre" href="${urlEflore}"
onclick="window.open(this.href);return false;"
title="Klik hier om toegang te krijgen tot de eFlore fiche">
<strong>${nomSci} {{if nn}} [nn${nn}] {{/if}}</strong> door <em>${observateur}</em>
</a>
<br />
<span class="cel-img-date">Gepubliceerd op ${datePubli}</span>
</p>
</div>
{{/each}}
{{/if}}
<dl>
<dt class="champ-nom-sci">Naam</dt>
<dd title="Door de gebruiker gedefinieerde naam.{{if nn != 0}}. Klik hier om toegang te krijgen tot de eFlore fiche.{{/if}}">
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</dd>
<dt title="Plaats waarneming">Plaats</dt><dd class="lieu">&nbsp;${lieu}</dd>
<dt title="Datum waarneming">Op</dt><dd class="date">&nbsp;${date}</dd>
<dt title="Auteur waarneming">Gepubliceerd door</dt>
<dd>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contact opnemen met deze medewerker">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Contact opnemen met deze medewerker">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</dd>
</dl>
<hr class="nettoyage"/>
</div>
</li>
</script>
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact" style="display:none;">
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue"></div>
<dl>
<dt><label for="fc_sujet">Onderwerp</label></dt>
<dd><input id="fc_sujet" name="fc_sujet"/></dd>
<dt><label for="fc_message">Mededeling</label></dt>
<dd><textarea id="fc_message" name="fc_message"></textarea></dd>
<dt><label for="fc_utilisateur_courriel" title="Gebruik het e-mailadres waarmee u bij Tela Botanica bent geregistreerd">Uw e-mailadres</label></dt>
<dd><input id="fc_utilisateur_courriel" name="fc_utilisateur_courriel"/></dd>
</dl>
<p>
<input id="fc_destinataire_id" name="fc_destinataire_id" type="hidden" value="" />
<input id="fc_copies" name="fc_copies" type="hidden" value="eflore_remarques@tela-botanica.org" />
<input type="hidden" name="fc_type_envoi" id="fc_type_envoi" value="inscrit" />
<button id="fc_annuler" type="button">Annuleren</button>
&nbsp;
<button id="fc_effacer" type="reset">Wissen</button>
&nbsp;
<input id="fc_envoyer" type="submit" value="Verzenden" />
</p>
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/ouverture.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/ouverture.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie_decroissant.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie_decroissant.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/attention.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/attention.png
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/information.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/information.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie_croissant.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/trie_croissant.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/saisie.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/saisie.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/fermeture.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/fermeture.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/chargement_transparent.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/chargement_transparent.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/plein_ecran.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/images/plein_ecran.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/carte_defaut.tpl.html
New file
0,0 → 1,382
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Observations publiques du CEL - Tela Botanica</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, cartographie, CEL" />
<meta name="description" content="Widget de cartographie des observations publiques de plantes saisies dans le Carnet en Ligne (CEL)" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Cartographie des observations publiques du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Représentation cartographique des observations publiques du Carnet en Ligne" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=<?php echo $cleGoogleMaps; ?>&v=3.5&amp;sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/google/map/3/markermanager/1.0/markermanager-1.0.pack.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/js/jquery-ui-1.8.15.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/tablesorter/2.0.5/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/pagination/2.2/jquery.pagination.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/messages_fr.js"></script>
<!-- Javascript : appli carto -->
<script type="text/javascript">
//<![CDATA[
global_lang = "fr"; // langue pour la traduction du JS
 
var urlWidgetSaisie = '<?= $url_widget_saisie; ?>',
urlsLimitesCommunales = '<?= $url_limites_communales; ?>',
nt = '<?=$num_nom_ret?>',
filtreCommun =
'&standard=<?=rawurlencode($standard)?>'+
'&taxon=<?=rawurlencode($taxon)?>'+
'&utilisateur=<?=$utilisateur?>'+
'&projet=<?=rawurlencode($projet)?>'+
'&tag=<?=rawurlencode($tag)?>'+
'&date=<?=$date?>'+
'&dept=<?=$dept?>'+
'&commune=<?=rawurlencode($commune)?>'+
'&pays=<?=rawurlencode($pays)?>'+
'&commentaire=<?=rawurlencode($commentaire)?>'+
'&groupe_zones_geo=<?=rawurlencode($groupe_zones_geo)?>',
utilisateur = '<?=$utilisateur?>',
photos = '<?= ($photos != null) ? $photos : "null"; ?>';
groupe_zones_geo = '<?= ($groupe_zones_geo != null) ? $groupe_zones_geo : "null"; ?>';
if (photos != null) {
filtreCommun += '&photos=<?=rawurlencode($photos)?>';
}
var nbJours = '<?= ($nbjours != null) ? $nbjours : "null"; ?>';
if (nbJours != null) {
filtreCommun += '&nbjours=<?=rawurlencode($nbjours)?>';
}
var annee = '<?= ($annee != null) ? $annee : "null"; ?>';
if (annee != null) {
filtreCommun += '&annee=<?=rawurlencode($annee)?>';
}
var referentiel = '<?= ($referentiel != null) ? $referentiel : "null"; ?>';
if (referentiel != null) {
filtreCommun += '&referentiel=<?=rawurlencode($referentiel)?>';
}
var baseURLServicesAnnuaireTpl = '<?= $baseURLServicesAnnuaireTpl; ?>',
baseURLServicesCelTpl = '<?= $baseURLServicesCelTpl; ?>';
var titreCarte = '<?= ($titre != null) ? addslashes($titre) : "null"; ?>',
urlLogo = '<?= ($logo != null) ? $logo : "null"; ?>',
urlSite = '<?= ($url_site != null) ? $url_site : "null"; ?>',
urlImage = '<?= ($image != null) ? $image : "null"; ?>',
stationsUrl = '<?=$url_cel_carto?>/tout'+'?' + 'num_nom_ret=' + nt + filtreCommun,
taxonsUrl = '<?=$url_cel_carto?>/taxons'+'?' + 'num_nom_ret=' + nt + filtreCommun,
observationsUrl = '<?=$url_cel_carto?>/observations' + '?' +
'station={stationId}'+
'&num_nom_ret={nt}'+
filtreCommun,
communeImageUrl = '<?= $communeImageUrl; ?>',
pointImageUrl = '<?= $pointImageUrl; ?>',
groupeImageUrlTpl = '<?= $groupeImageUrlTpl; ?>';
//]]>
</script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto.js"></script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto_msgs.js"></script>
<!-- CSS -->
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/css/smoothness/jquery-ui-1.8.15.custom.css" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/cartopoint/squelettes/css/<?=isset($_GET['style']) ? $_GET['style'] : 'carto'?>.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<div id="zone-chargement-point" class="element-overlay">
<img id="img-chargement" src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement_transparent.gif" alt="Chargement en cours..." />
<div id="legende-chargement">Chargement des points en cours...</div>
</div>
<?php if($logo != null) { ?>
<?php if($logo != '0') { ?>
<div id="logo">
<?php if($url_site != null) { ?>
<a href="<?= $url_site; ?>"
title="<?= $url_site; ?>"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="<?= $logo ?>" alt="logo" />
</a>
<?php } else { ?>
<img class="image-logo" src="<?= $logo ?>" alt="logo" />
<?php } ?>
</div>
<?php } ?>
<?php } else { ?>
<div id="logo">
<a href="http://www.tela-botanica.org/site:accueil"
title="Aller à l'accueil de Tela Botanica"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="https://resources.tela-botanica.org/tb/img/128x128/logo_carre_officiel.png" alt="TB" />
</a>
</div>
<?php } ?>
<?php if($titre !== "0" && $titre != null) : ?>
<div id="zone-titre" class="element-overlay">
<h1 id="carte-titre">
<span id="carte-titre-infos"><?= htmlspecialchars($titre); ?></span>
</h1>
</div>
<?php endif; ?>
<div id="carte" <?= ($titre != 0) ? 'class="carte_titree"': 'class="carte_non_titree"'; ?>></div>
<div id="lien_plein_ecran" class="element-overlay">
<a href="#" title="Voir en plein écran (s'ouvre dans une nouvelle fenêtre)">
<img class="icone" src="<?=$url_base?>modules/cartopoint/squelettes/images/plein_ecran.png" alt="Voir en plein écran" />
</a>
</div>
<div id="zone-stats" style="display:none" class="element-overlay">
<h1>
</h1>
</div>
<div id="conteneur-filtre-utilisateur" class="ferme element-overlay">
<div id="lien-affichage-filtre-utilisateur">Ma carte</div>
<div id="formulaire-filtre-utilisateur">
<span class="indication-filtre-utilisateur">Affichez la carte
de vos observations</span>
<input type="text" id="filtre-utilisateur" placeholder="entrez votre email" value="<?= ($utilisateur != '*') ? $utilisateur : '' ?>" title="entrez l'email d'un utilisateur pour voir ses données" />
<input id="valider-filtre-utilisateur" type="button" value="ok" />
<a href="#" id="raz-filtre-utilisateur">Voir la carte globale</a>
</div>
</div>
<?php if($image != null) { ?>
<div id="image-utilisateur">
<img width="155px" src="<?= $image ?>" alt="image" />
</div>
<?php } ?>
<div id="origine-donnees">
Observations du réseau <a href="http://www.tela-botanica.org/site:botanique"
onClick="ouvrirNouvelleFenetre(this, event)">
Tela Botanica
</a>
- Carte : <a href="http://www.openstreetmap.org/copyright" target="_blank">© les contributeurs d’OpenStreetMap</a>
- Tuiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>
</div>
<div id="lien-voir-cc" class="element-overlay">
<a href="<?=$url_base?>cartoPoint?carte=avertissement" title="Voir les informations et conditions d'utilisation de ce widget">
?
</a>
</div>
<!-- Blocs chargés à la demande : par défaut avec un style display à none -->
<!-- Squelette du message de chargement des observations -->
<script id="tpl-chargement" type="text/x-jquery-tmpl">
<div id="chargement" style="height:300px;">
<img src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement.gif" alt="Chargement en cours..." />
<p>Chargement des observations en cours...</p>
</div>
</script>
<!-- Squelette du contenu d'une info-bulle observation -->
<script id="tpl-obs" type="text/x-jquery-tmpl">
<div id="info-bulle" style="width:{largeur}px;">
<div id="obs">
<h2 id="obs-station-titre">Station</h2>
<div class="navigation">&nbsp;</div>
<div>
<ul>
<li><a href="#obs-vue-tableau">Tableau</a></li>
<li><a href="#obs-vue-liste">Liste</a></li>
</ul>
</div>
<div id="observations">
<div id="obs-vue-tableau" style="display:none;">
<table id="obs-tableau">
<thead>
<tr>
<th title="Nom scientifique défini par l'utilisateur.">Nom</th>
<th title="Date de l'observation">Date</th>
<th title="Lieu-dit, milieu">Lieu</th>
<th title="Auteur de l'observation">Observateur</th>
</tr>
</thead>
<tbody id="obs-tableau-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-tableau -->
</tbody>
</table>
</div>
<div id="obs-vue-liste" style="display:none;">
<ol id="obs-liste-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-liste -->
</ol>
</div>
</div>
<div id="obs-pieds-page">
<p>Id : <span id="obs-station-id">&nbsp;</span></p>
</div>
<div class="navigation">&nbsp;</div>
<div class="conteneur-lien-saisie" style="display:none;">
<a href="#" class="lien-widget-saisie">
Ajouter une observation pour ce site
</a>
</div>
</div>
</div>
</script>
<!-- Squelette du contenu du tableau des observation -->
<script id="tpl-obs-tableau" type="text/x-jquery-tmpl">
<tr class="cel-obs-${idObs}">
<td>
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</td>
<td class="date">{{if date}}${date}{{else}}&nbsp;{{/if}}</td>
<td class="lieu">{{if lieu}}${lieu}{{else}}&nbsp;{{/if}}</td>
<td>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</td>
</tr>
</script>
<!-- Squelette du contenu de la liste des observations -->
<script id="tpl-obs-liste" type="text/x-jquery-tmpl">
<li>
<div class="cel-obs-${idObs}">
{{if images}}
{{each(index, img) images}}
<div{{if index == 0}} class="cel-img-principale" {{else}} class="cel-img-secondaire"{{/if}}>
<a class="cel-img"
href="${img.normale}"
title="${nomSci} {{if nn != null && nn != 0 && nn != ''}} [${nn}] {{/if}} par ${observateur} - Publiée le ${datePubli} - GUID : ${img.guid}"
rel="cel-obs-${idObs}">
<img src="${img.miniature}" alt="Image #${img.idImg} de l'observation #${nn}" />
</a>
<p id="cel-info-${img.idImg}" class="cel-infos">
<a class="cel-img-titre" href="${urlEflore}"
onclick="window.open(this.href);return false;"
title="Cliquez pour accéder à la fiche eFlore">
<strong>${nomSci} {{if nn}} [nn${nn}] {{/if}}</strong> par <em>${observateur}</em>
</a>
<br />
<span class="cel-img-date">Publiée le ${datePubli}</span>
</p>
</div>
{{/each}}
{{/if}}
<dl>
<dt class="champ-nom-sci">Nom</dt>
<dd title="Nom défini par l'utilisateur{{if nn != 0}}. Cliquez pour accéder à la fiche d'eFlore.{{/if}}">
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</dd>
<dt title="Lieu d'observation">Lieu-dit, milieu</dt><dd class="lieu">&nbsp;${lieu}</dd>
<dt title="Date d'observation">Le</dt><dd class="date">&nbsp;${date}</dd>
<dt title="Auteur de l'observation">Publié par</dt>
<dd>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</dd>
</dl>
<hr class="nettoyage"/>
</div>
</li>
</script>
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact" style="display:none;">
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue"></div>
<dl>
<dt><label for="fc_sujet">Sujet</label></dt>
<dd><input id="fc_sujet" name="fc_sujet"/></dd>
<dt><label for="fc_message">Message</label></dt>
<dd><textarea id="fc_message" name="fc_message"></textarea></dd>
<dt><label for="fc_utilisateur_courriel" title="Utilisez le courriel avec lequel vous êtes inscrit à Tela Botanica">Votre courriel</label></dt>
<dd><input id="fc_utilisateur_courriel" name="fc_utilisateur_courriel"/></dd>
</dl>
<p>
<input id="fc_destinataire_id" name="fc_destinataire_id" type="hidden" value="" />
<input id="fc_copies" name="fc_copies" type="hidden" value="eflore_remarques@tela-botanica.org" />
<input type="hidden" name="fc_type_envoi" id="fc_type_envoi" value="inscrit" />
<button id="fc_annuler" type="button">Annuler</button>
&nbsp;
<button id="fc_effacer" type="reset">Effacer</button>
&nbsp;
<input id="fc_envoyer" type="submit" value="Envoyer" />
</p>
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/scripts/carto_msgs.js
New file
0,0 → 1,145
// système de tr(a|ou)duc à la rache - Mathias, 2017-04-05
//
// @TODO traduire des phrases à trous plutôt que des petits mots séparés (pas fiable sans contexte)
//
 
/**
* Recherche le message identifié par la clé "cle" dans la langue "langue";
* s'il n'existe pas, retourne la version française (par défaut); si
* "langue" n'est pas défini, regarde si la variable globale global_lang est
* disponible, auquel cas on cherche le message dans cette langue
*/
function msg(cle, langue) {
var lang = "fr";
if (langue) {
lang = langue;
} else {
if (global_lang) {
lang = global_lang;
}
}
if (lang in msgs && cle in msgs[lang]) {
return msgs[lang][cle];
} else {
if (lang != "fr" && cle in msgs["fr"]) {
return msgs["fr"][cle];
} else {
return "N/A";
}
}
}
 
var msgs = {
"fr": {
"observation": "observation",
"observations": "observations",
"avec photos": "avec photos",
"station": "station",
"stations": "stations",
"sur": "sur",
"pour": "pour",
"parmi": "parmi",
"taxon": "taxon",
"taxons": "taxons",
"pour l'utilisateur": "pour l'utilisateur",
"aucune-observation": "Aucune observation pour ces critères ou pour cette zone",
"Avertissement": "Avertissement",
"contributeurs-osm": "les contributeurs d’OpenStreetMap",
"points-renseignes": "points renseignés",
"chargement-observations": "Chargement des observations",
"la-commune": "la commune",
"la-station": "la station",
"Precedent": "Précédent",
"Suivant": "Suivant",
"Image-n": "Image n°",
"concerne-l-observation": "Concerne l'observation de",
"du": "du",
"au-lieu": "au lieu",
"erreur-transmission-message": "Une erreur est survenue lors de la transmission de votre message.",
"signaler-dysfonctionnement": "Vous pouvez signaler le dysfonctionnement à"
},
"en": {
"observation": "observation",
"observations": "observations",
"avec photos": "with photos",
"station": "station",
"stations": "stations",
"sur": "on",
"pour": "for",
"parmi": "among",
"taxon": "taxon",
"taxons": "taxons",
"pour l'utilisateur": "for user",
"aucune-observation": "No observation matching those criteria or this zone",
"Avertissement": "Warning",
"contributeurs-osm": "OpenStreetMap contributors",
"points-renseignes": "points defined",
"chargement-observations": "Loading observations",
"la-commune": "zone",
"la-station": "station",
"Precedent": "Previous",
"Suivant": "Next",
"Image-n": "Image n°",
"concerne-l-observation": "About your observation of",
"du": "on",
"au-lieu": "located at",
"erreur-transmission-message": "An error occurred while transmitting your message.",
"signaler-dysfonctionnement": "You can report this issue to"
},
"nl": {
"observation": "waarneming",
"observations": "waarnemingen",
"avec photos": "met foto's",
"station": "station",
"stations": "stations",
"sur": "op",
"pour": "voor",
"parmi": "onder",
"taxon": "taxon",
"taxons": "taxa",
"pour l'utilisateur": "voor de gebruiker",
"aucune-observation": "Geen waarnemingen voor deze criteria of voor die zone",
"Avertissement": "Waarschuwing",
"contributeurs-osm": "OpenStreetMap contributors",
"points-renseignes": "gedefinieerde punten",
"chargement-observations": "Waarnemingen worden geladen",
"la-commune": "de stad",
"la-station": "het station",
"Precedent": "Vorig",
"Suivant": "Volgend",
"Image-n": "Foto n°",
"concerne-l-observation": "zorgen waarneming van",
"du": "op",
"au-lieu": "naar",
"erreur-transmission-message": "Er is een fout opgetreden tijdens de verzending van uw bericht.",
"signaler-dysfonctionnement": "U kunt dit melden bij storingen"
},
"schtroumpf": {
"observation": "schtroumpf",
"observations": "schtroumpfs",
"avec photos": "avec schtroumpf",
"station": "schtroumpf",
"stations": "schtroumpfs",
"sur": "sur",
"pour": "pour",
"parmi": "parmi",
"taxon": "schtroumpf",
"taxons": "schtroumpfs",
"pour l'utilisateur": "pour le schtroumpf",
"aucune-observation": "Aucune schtroumpf ne correspond à ces schtroumpfs ou cette schtroumpf",
"Avertissement": "Avertissement",
"contributeurs-osm": "les schtroumpf d’OpenStreetMap",
"points-renseignes": "schtroumpf renseignés",
"chargement-observations": "Chargement des schtroumpf",
"la-commune": "la schtroumpf",
"la-station": "la schtroumpf",
"Precedent": "Précédent",
"Suivant": "Suivant",
"Image-n": "schtroumpf n°",
"concerne-l-observation": "Concerne le schtroumpf de",
"du": "du",
"au-lieu": "au lieu",
"erreur-transmission-message": "Une schtroumpf est survenue lors de la transmission de votre schtroumpf.",
"signaler-dysfonctionnement": "Vous pouvez schtroumpfer le dysfonctionnement à"
}
};
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/scripts/carto.js
New file
0,0 → 1,1409
/*+--------------------------------------------------------------------------------------------------------+*/
// PARAMÊTRES et CONSTANTES
/**
* Indication de certaines variables ajoutée par php
* var communeImageUrl ;
* var pointImageUrl ;
* var groupeImageUrlTpl ;
*/
var DEBUG = false,// Mettre à true pour afficher les messages de débogage
pointsOrigine = null,
boundsOrigine = null,
markerClusterer = null,
map = null,
infoBulle = new google.maps.InfoWindow(),
stations = null,
pointClique = null,
carteCentre = new google.maps.LatLng(25, 10),
carteOptions = {
zoom: 3,
center:carteCentre,
mapTypeId: 'OSM',
mapTypeControlOptions: {
mapTypeIds: ['OSM',
google.maps.MapTypeId.ROADMAP,
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.SATELLITE,
google.maps.MapTypeId.TERRAIN
],
position: google.maps.ControlPosition.RIGHT_TOP
},
scaleControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE,
position: google.maps.ControlPosition.LEFT_CENTER
},
panControl: false
},
osmMapType = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
return "https://osm.tela-botanica.org/tuiles/osmfr/" + // cache de tuiles avec nginx
zoom + "/" + coord.x + "/" + coord.y + ".png";
},
tileSize: new google.maps.Size(256, 256),
isPng: true,
alt: "OpenStreetMap",
name: "OSM",
maxZoom: 19
}),
ctaLayer = null,
pagineur = {'limite':300, 'start':0, 'total':0, 'stationId':null, 'format':'tableau'},
station = {'commune':'', 'obsNbre':0},
obsStation = new Array(),
obsPage = new Array(),
taxonsCarte = new Array(),
mgr = null,
marqueursCache = new Array(),
zonesCache = new Array(),
requeteChargementPoints,
urlVars = null;
 
/*+--------------------------------------------------------------------------------------------------------+*/
// INITIALISATION DU CODE
 
//Déclenchement d'actions quand JQuery et le document HTML sont OK
$(document).ready(function() {
initialiserWidget();
});
 
function initialiserWidget() {
urlVars = getUrlVars();
dimensionnerCarte();
definirTailleOverlay();
initialiserCarte();
attribuerListenersOverlay();
centrerTitreEtStats();
initialiserAffichagePanneauLateral();
initialiserGestionnaireMarqueurs()
initialiserInfoBulle();
initialiserFormulaireContact();
chargerLimitesCommunales();
attribuerListenerCarte();
}
 
function getUrlVars() {
var vars = [], hash;
if (window.location.href.indexOf('?') != -1) {
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
}
return vars;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// AFFICHAGE GÉNÉRAL
 
function afficherTitreCarteEtStats() {
if (stations != null && taxonsCarte.length > 0) {
var obsNbre = stations.stats.observations;
var obsNbreFormate = obsNbre;
if(obsNbre != 0) {
obsNbreFormate = stations.stats.observations.formaterNombre();
}
var plteNbre = taxonsCarte.length;
var plteNbreFormate = plteNbre;
if (plteNbre != 0) {
plteNbreFormate = taxonsCarte.length.formaterNombre();
}
var communeNbre = stations.stats.communes;
var communeNbreFormate = communeNbre;
if(communeNbre != 0) {
communeNbreFormate = stations.stats.communes.formaterNombre();
}
var stationNbre = stations.stats.stations;
var stationNbreFormate = stationNbre;
if(stationNbre != 0) {
stationNbreFormate = stations.stats.stations.formaterNombre();
}
var stats = obsNbreFormate + ' ' + ((obsNbre > 1) ? msg('observations') : msg('observation'));
 
if (photos != null && photos == 1) {
stats += ' ' + msg('avec photos') + ' ';
}
stats += ' ' + msg('sur') + ' ' + (stationNbre+ communeNbre)+' ' + ((stationNbre > 1) ? msg('stations') : msg('station'));
if (nt == '*') {
stats += ' ' + msg('parmi') + ' '+plteNbreFormate+' ' + ((plteNbre > 1) ? msg('taxons') : msg('taxon'));
} else {
if($('.taxon-actif .taxon').text() != '') {
var element = $('.taxon-actif .taxon').clone();
element.children().remove();
var taxon = element.text();
stats += ' ' + msg('pour') + ' '+taxon;
} else {
if (taxonsCarte[0]) {
var taxon = taxonsCarte[0];
stats += ' ' + msg('pour') + ' ' + taxon.nom;
}
}
}
if(utilisateur != '*') {
stats += " " + msg("pour l'utilisateur") + " "+utilisateur+' ';
}
$('#zone-stats').show();
} else {
stats = msg("aucune-observation");
}
$('#zone-stats > h1').text(stats);
centrerTitreEtStats();
}
 
function attribuerListenersOverlay() {
$(window).resize(function() {
dimensionnerCarte();
definirTailleOverlay();
centrerTitreEtStats();
programmerRafraichissementCarte();
google.maps.event.trigger($('#carte'), 'resize');
});
$('#lien_plein_ecran a').click(function(event) {
window.open(window.location.href);
event.preventDefault();
});
$('#lien-voir-cc a').click(function(event) {
ouvrirPopUp(this, msg('Avertissement'), event);
event.preventDefault();
});
}
 
var tailleMaxFiltreUtilisateur;
function definirTailleOverlay() {
var largeurViewPort = $(window).width(),
taille = '1.6',
tailleMaxLogo = 60,
tailleMaxIcones = 10,
padding_icones = 8,
tailleFiltre = 80;
tailleMaxFiltreUtilisateur = 350;
$('#raz-filtre-utilisateur').css('display', 'block');
if (largeurViewPort <= 450) {
taille = '1';
tailleMaxIcones = 10;
tailleFiltre = 65;
padding_icones = 2;
var tailleMaxLogo = 50;
$('#raz-filtre-utilisateur').css('display', 'inline');
} else if (largeurViewPort <= 500) {
taille = '1.2';
tailleMaxIcones = 10;
tailleFiltre = 65;
padding_icones = 2;
var tailleMaxLogo = 50;
tailleMaxFiltreUtilisateur = 200;
$('#raz-filtre-utilisateur').css('display', 'inline');
} else if (largeurViewPort > 500 && largeurViewPort <= 800) {
taille = '1.4';
tailleMaxIcones = 15;
padding_icones = 6;
tailleFiltre = 65;
var tailleMaxLogo = 55;
tailleMaxFiltreUtilisateur = 250;
} else if (largeurViewPort > 800) {
taille = '1.6';
tailleMaxIcones = 20;
padding_icones = 8;
tailleFiltre = 80;
tailleMaxFiltreUtilisateur = 350;
}
// Aménagement de la taille de police selon l'écran
$("#carte-titre").css('font-size', taille+'em');
$("#zone-stats h1").css('font-size', Math.round((taille*0.75*100))/100+'em');
$("#zone-stats").css('padding', padding_icones+"px "+padding_icones+"px "+Math.round(padding_icones/4)+"px");
$('#zone-stats').height(tailleMaxIcones*1.5);
$("#zone-titre h1").css('font-size', (taille)+'em');
$("#zone-titre").css('padding', padding_icones+"px "+padding_icones+"px "+Math.round(padding_icones/4)+"px");
$('#zone-titre').height(tailleMaxIcones*2);
$('.icone').height(tailleMaxIcones);
$('#lien_plein_ecran').css("padding", padding_icones+"px "+padding_icones+"px "+Math.ceil(padding_icones/2)+"px");
$('#lien-voir-cc').css("font-size", taille+"em");
$('#lien-voir-cc').css("padding", padding_icones+"px");
$("#panneau-lateral").css('font-size', (taille*0.9)+'em');
$("#pl-contenu").css('font-size', (taille/2)+'em');
$("#panneau-lateral").css('padding', padding_icones+"px "+padding_icones+"px "+Math.round(padding_icones/4)+"px");
$('#pl-ouverture').height(((padding_icones*2)+$('#panneau-lateral').height())+"px");
$("#panneau-lateral").width(tailleFiltre);
$('#lien-affichage-filtre-utilisateur').width(tailleFiltre);
$('#lien-affichage-filtre-utilisateur').height(tailleFiltre*0.35);
$('#lien-affichage-filtre-utilisateur').css('font-size', (taille*0.9)+'em');
$('#conteneur-filtre-utilisateur').css('max-width',tailleMaxFiltreUtilisateur);
dimensionnerLogo(tailleMaxLogo);
dimensionnerImage(largeurViewPort);
redimensionnerControleTypeCarte(largeurViewPort);
}
 
function dimensionnerLogo(tailleMaxLogo) {
// Dimensionnement du logo
hauteurLogo = $('.image-logo').height();
// Redimensionnement du logo s'il est trop grand
// on perd en qualité mais ça vaut mieux que de casser l'affichage
if (hauteurLogo > tailleMaxLogo) {
hauteurLogo = tailleMaxLogo;
$('.image-logo').css("top", "5px");
$('.image-logo').height(tailleMaxLogo);
}
if (hauteurLogo == 0) {
$('.image-logo').load(function(event) {
definirTailleOverlay();
});
return;
}
largeurLogo = $('#logo img').width();
}
 
function dimensionnerImage(largeurViewPort) {
// Dimensionnement de l'image
if (largeurViewPort > 500) {
largeurLogo = 155;
} else {
largeurLogo = 70;
}
$('#image-utilisateur img').width(largeurLogo);
}
 
function redimensionnerControleTypeCarte(largeurViewPort) {
if (largeurViewPort <= 500) {
carteOptions.mapTypeControlOptions.style = google.maps.MapTypeControlStyle.DROPDOWN_MENU;
} else {
carteOptions.mapTypeControlOptions.style = google.maps.MapTypeControlStyle.DEFAULT;
}
if (map != null) {
map.setOptions(carteOptions);
}
}
 
function centrerTitreEtStats() {
centrerTitre();
centrerStats();
}
 
function centrerTitre() {
var largeurViewPort = $(window).width(),
largeurTitre = $('#zone-titre').width(),
marge = (largeurViewPort - largeurTitre)/2;
$('#zone-titre').css("margin-left",marge);
var tailleRestante = largeurViewPort - (marge + largeurTitre);
if (tailleRestante <= 170) {
$('#zone-titre').css("top", "25px");
} else {
$('#zone-titre').css("top", "5px");
}
}
 
function centrerStats() {
var largeurViewPort = $(window).width(),
largeurStats = $('#zone-stats').width(),
marge = ((largeurViewPort - largeurStats)/2);
$('#zone-stats').css("margin-left",marge);
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// CARTE
 
function dimensionnerCarte() {
var largeurViewPort = $(window).width();
var hauteurViewPort = $(window).height();
$('#carte').height(hauteurViewPort);
$('#carte').width(largeurViewPort);
}
 
function initialiserCarte() {
map = new google.maps.Map(document.getElementById('carte'), carteOptions);
// Ajout de la couche OSM à la carte
map.mapTypes.set('OSM', osmMapType);
 
// écouteur sur changement de fond
google.maps.event.addListener( map, 'maptypeid_changed', function() {
// licence par défaut
var mention = 'Observations du réseau <a href="https://www.tela-botanica.org/site:botanique" ' +
'onClick="ouvrirNouvelleFenetre(this, event)">' +
'Tela Botanica' +
'</a> ';
if (map.getMapTypeId() == 'OSM') {
// ajout licence OSM
mention += ' - Carte : <a href="http://www.openstreetmap.org/copyright" target="_blank">© ' + msg("contributeurs-osm") + '</a>' +
' - Tuiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>';
}
$('#origine-donnees').html(mention);
});
}
 
function initialiserGestionnaireMarqueurs() {
mgr = new MarkerManager(map);
}
 
function chargerLimitesCommunales() {
if (urlsLimitesCommunales != null) {
for (urlId in urlsLimitesCommunales) {
var url = urlsLimitesCommunales[urlId];
ctaLayer = new google.maps.KmlLayer(url, {preserveViewport: true});
ctaLayer.setMap(map);
}
}
}
 
var listener = null, // pourquoi on le conserve, et on met 3 trucs différents dedans ?
timer = null;
 
function attribuerListenerCarte() {
listener = google.maps.event.addListener(map, 'bounds_changed', function() {
programmerRafraichissementCarte();
});
listener = google.maps.event.addListener(map, 'zoom_changed', function() {
programmerRafraichissementCarte();
});
listener = google.maps.event.addListener(map, 'click', function() {
if (infoBulleOuverte) {
infoBulle.close();
surFermetureInfoBulle();
}
});
}
 
function programmerRafraichissementCarte() {
if (timer != null) {
window.clearTimeout(timer);
}
if (requeteChargementPoints != null) {
requeteChargementPoints.abort();
}
timer = window.setTimeout(function() {
if (map.getBounds() != undefined) {
var zoom = map.getZoom(),
lngNE = map.getBounds().getNorthEast().lng(),
lngSW = map.getBounds().getSouthWest().lng()
if (map.getBounds().getNorthEast().lng() < map.getBounds().getSouthWest().lng()) {
lngNE = 176;
lngSW = -156;
}
var NELatLng = (map.getBounds().getNorthEast().lat())+'|'+(lngNE),
SWLatLng = (map.getBounds().getSouthWest().lat())+'|'+(lngSW);
chargerMarqueurs(zoom, NELatLng, SWLatLng);
} else {
programmerRafraichissementCarte();
}
}, 400);
}
 
var marqueurs = new Array();
function chargerMarqueurs(zoom, NELatLng, SWLatLng) {
cacherMessageAucuneObs();
var url = stationsUrl+
'&zoom='+zoom+
'&ne='+NELatLng+
'&sw='+SWLatLng;
if (infoBulleOuverte) {
return;
}
if (requeteChargementPoints != null) {
requeteChargementPoints.abort();
cacherMessageChargementPoints();
}
afficherMessageChargementPoints();
requeteChargementPoints = $.getJSON(url, function(data) {
rafraichirMarqueurs(data);
cacherMessageChargementPoints();
});
}
 
function centrerDansLaPage(selecteur) {
var largeurViewport = $(window).width(),
hauteurViewport = $(window).height();
selecteur.css('display','block');
var left = (largeurViewport/2) - (selecteur.width())/2,
top = (hauteurViewport/2) - (selecteur.height())/2
selecteur.css('left',left);
selecteur.css('top',top);
}
 
function afficherMessageChargementPoints() {
//centrerDansLaPage($('#zone-chargement-point'));
$('#zone-chargement-point').css('display','block');
}
 
function cacherMessageChargementPoints() {
$('#zone-chargement-point').css('display','none');
}
 
function afficherMessageAucuneObs() {
centrerDansLaPage($('#message-aucune-obs'));
$('#message-aucune-obs').show();
}
 
function cacherMessageAucuneObs() {
centrerDansLaPage($('#message-aucune-obs'));
$('#message-aucune-obs').hide();
}
 
premierChargement = true;
function doitCentrerCarte() {
return premierChargement && urlVars != null && urlVars.length > 0;
}
 
function rafraichirMarqueurs(data) {
$.each(marqueurs, function(index, marqueur) {
marqueur.setMap(null);
});
 
marqueurs = new Array();
stations = null;
if (data.points.length > 0) {
marqueurs = new Array();
stations = data;
$.each(stations.points, function (index, station) {
if(station != null) {
var nouveauMarqueur = creerMarqueur(station);
marqueurs.push(nouveauMarqueur);
}
});
if (doitCentrerCarte()) {
premierChargement = false;
var bounds = new google.maps.LatLngBounds(),
latMax = new google.maps.LatLng(data.stats.coordmax.latMax, data.stats.coordmax.lngMax),
latMin = new google.maps.LatLng(data.stats.coordmax.latMin, data.stats.coordmax.lngMin);
bounds.extend(latMax);
bounds.extend(latMin);
rendrePointsVisibles(bounds);
}
}
afficherTitreCarteEtStats();
}
 
function creerMarqueur(station) {
var titre = '';
if (station.nbreMarqueur) {
titre = station.nbreMarqueur+' ' + ('points-renseignes');
} else {
if(station.nom) {
titre = station.nom;
}
}
var icone = attribuerImageMarqueur(station['id'], station['nbreMarqueur']),
latLng = new google.maps.LatLng(station['lat'], station['lng']),
marqueur = new google.maps.Marker({
position: latLng,
icon: icone,
title: ''+titre,
map: map,
stationInfos: station
});
attribuerListenerClick(marqueur, station['id']);
marqueur.setMap(map);
return marqueur;
}
 
function rendrePointsVisibles(bounds) {
map.setCenter(bounds.getCenter());
map.fitBounds(bounds);
}
 
function attribuerImageMarqueur(id, nbreMarqueur) {
var marqueurImage = null;
if (etreMarqueurCommune(id)) {
marqueurImage = new google.maps.MarkerImage(communeImageUrl, new google.maps.Size(24, 32));
} else if (etreMarqueurStation(id)) {
marqueurImage = new google.maps.MarkerImage(pointImageUrl, new google.maps.Size(16, 16));
} else if (etreMarqueurGroupe(id)) {
var type = 0,
largeur = 0,
hauteur = 0;
if (nbreMarqueur != null) {
if (nbreMarqueur >= 2 && nbreMarqueur < 100 ) {
type = '1';
largeur = 53;
hauteur = 52;
} else if (nbreMarqueur >= 100 && nbreMarqueur < 1000 ) {
type = '2';
largeur = 56;
hauteur = 55;
} else if (nbreMarqueur >= 1000 && nbreMarqueur < 10000 ) {
type = '3';
largeur = 66;
hauteur = 65;
} else if (nbreMarqueur >= 10000 && nbreMarqueur < 20000 ) {
type = '4';
largeur = 78;
hauteur = 77;
} else if (nbreMarqueur >= 20000) {
type = '5';
largeur = 66;
hauteur = 65;
}
}
groupeImageUrl = groupeImageUrlTpl.replace(/\{type\}/, type);
groupeImageUrl = groupeImageUrl.replace(/\{nbre\}/, nbreMarqueur);
marqueurImage = new google.maps.MarkerImage(groupeImageUrl, new google.maps.Size(largeur, hauteur));
}
return marqueurImage
}
 
function attribuerListenerClick(marqueur, id) {
if (etreMarqueurCommune(id) || etreMarqueurStation(id)) {
google.maps.event.addListener(marqueur, 'click', surClickMarqueur);
} else if (etreMarqueurGroupe(id)) {
google.maps.event.addListener(marqueur, 'click', surClickGroupe);
}
}
 
var pointCentreAvantAffichageInfoBulle = null;
function surClickMarqueur(event) {
pointCentreAvantAffichageInfoBulle = map.getCenter();
 
if(infoBulleOuverte) {
infoBulle.close();
}
 
pointClique = this;
infoBulle.open(map, this);
actualiserPagineur();
 
var limites = map.getBounds(),
centre = limites.getCenter(),
nordEst = limites.getNorthEast(),
centreSudLatLng = new google.maps.LatLng(nordEst.lat(), centre.lng());
map.panTo(centreSudLatLng);
afficherInfoBulle();
}
 
function surClickGroupe() {
map.setCenter(this.getPosition());
var nouveauZoom = map.getZoom() + 2;
map.setZoom(nouveauZoom);
mgr.clearMarkers();
}
 
function etreMarqueurGroupe(id) {
var groupe = false,
motif = /^GROUPE/;
if (motif.test(id)) {
groupe = true;
}
return groupe;
}
 
function etreMarqueurCommune(id) {
var commune = false,
motif = /^COMMUNE:/;
if (motif.test(id)) {
commune = true;
}
return commune;
}
 
function etreMarqueurStation(id) {
var station = false,
motif = /^STATION:/;
if (motif.test(id)) {
station = true;
}
return station;
}
 
function deplacerCarteSurPointClique() {
map.panTo(pointClique.position);
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// INFO BULLE
var infoBulleOuverte = false;
function initialiserInfoBulle() {
google.maps.event.addListener(infoBulle, 'domready', initialiserContenuInfoBulle);
google.maps.event.addListener(infoBulle, 'closeclick', surFermetureInfoBulle);
google.maps.event.addListener(infoBulle, 'content_changed', definirLargeurInfoBulle);
attribuerListenerLienSaisie();
}
 
function attribuerListenerLienSaisie() {
$('.lien-widget-saisie').live('click', function(event) {
event.preventDefault();
window.open($(this).attr('href'), '_blank');
return false;
});
}
 
function surFermetureInfoBulle() {
infoBulleOuverte = false;
map.panTo(pointCentreAvantAffichageInfoBulle);
programmerRafraichissementCarte();
}
 
function centrerInfoBulle() {
var limites = map.getBounds(),
centre = limites.getCenter(),
nordEst = limites.getNorthEast(),
centreSudLatLng = new google.maps.LatLng(nordEst.lat(), centre.lng());
map.panTo(centreSudLatLng);
}
 
function afficherInfoBulle() {
var obsHtml = $('#tpl-obs').html(),
largeur = definirLargeurInfoBulle(),
taillePolice = definirTaillePoliceInfoBulle();
obsHtml = obsHtml.replace(/\{largeur\}/, largeur);
infoBulle.setContent(obsHtml);
$('#observations').css('font-size', taillePolice + 'em');
chargerObs(0, 0);
infoBulleOuverte = true;
}
 
//TODO utiliser cette fonction lors des remplacements de
//paramètres url sur changement de filtre
function parserFiltre(filtre) {
var nvpair = {},
qs = filtre.replace('?', ''),
pairs = qs.split('&');
$.each(pairs, function(i, v){
var pair = v.split('=');
nvpair[pair[0]] = pair[1];
});
return nvpair;
}
 
function mettreAJourUrlSaisie(obs) {
if (obs.observations.length > 0) {
var filtreTableau = parserFiltre(filtreCommun),
filtresGardes = new Array()
idObs = obs.observations[0].idObs;
filtre = '';
for (i in filtreTableau) {
if (filtreTableau[i] != undefined && filtreTableau[i] != '' && decodeURIComponent(filtreTableau[i]) != '*') {
filtresGardes.push(i + '=' + filtreTableau[i]);
}
}
filtresGardes.push('id-obs=' + idObs);
if (filtresGardes.length > 0) {
filtre = '?' + filtresGardes.join('&');
}
var urlAvecFiltre = urlWidgetSaisie + filtre;
$('.lien-widget-saisie').attr('href', urlAvecFiltre).parents('.conteneur-lien-saisie').show();
}
}
 
function definirLargeurInfoBulle() {
var largeurViewPort = $(window).width(),
largeurInfoBulle = null;
if (largeurViewPort < 400) {
largeurInfoBulle = 300;
} else if (largeurViewPort < 800) {
largeurInfoBulle = 400;
} else if (largeurViewPort >= 800 && largeurViewPort < 1200) {
largeurInfoBulle = 500;
} else if (largeurViewPort >= 1200) {
largeurInfoBulle = 600;
}
return largeurInfoBulle;
}
 
function definirTaillePoliceInfoBulle() {
var largeurViewPort = $(window).width(),
taillePolice = null;
if (largeurViewPort < 400) {
taillePolice = 0.8;
} else if (largeurViewPort < 800) {
taillePolice = 1;
}
return taillePolice;
}
 
function afficherMessageChargement(element) {
if ($('#chargement').get() == '') {
$('#tpl-chargement').tmpl().appendTo(element);
}
}
 
function afficherMessageChargementTitreInfoBulle() {
$("#obs-station-titre").text(msg("chargement-observations"));
}
 
function supprimerMessageChargement() {
$('#chargement').remove();
}
 
function chargerObs(depart, total) {
if (depart == 0 || depart < total) {
var limite = 300;
if (depart == 0) {
viderTableauObs();
}
var urlObs = observationsUrl+'&start={start}&limit='+limite;
urlObs = urlObs.replace(/\{stationId\}/g, encodeURIComponent(pointClique.stationInfos.id));
if (pointClique.stationInfos.type_emplacement == 'communes') {
urlObs = urlObs.replace(/commune=%2A/g, formaterParametreCommunePourRequete(pointClique.stationInfos.nom));
}
// Ajout de la zone geo
if (pointClique.stationInfos.zonegeo) {
urlObs += '&zonegeo=' + pointClique.stationInfos.zonegeo;
}
 
urlObs = urlObs.replace(/\{nt\}/g, nt);
urlObs = urlObs.replace(/\{start\}/g, depart);
$.getJSON(urlObs, function(observations){
surRetourChargementObs(observations, depart, total);
chargerObs(depart+limite, observations.total);
});
}
}
 
function formaterParametreCommunePourRequete(nomCommune) {
var chaineRequete = "";
if(nomCommune.indexOf("(", 0) !== false) {
var infosCommune = nomCommune.split("(");
var commune = infosCommune[0];
chaineRequete = 'commune='+encodeURIComponent($.trim(commune));
} else {
chaineRequete = 'commune='+encodeURIComponent($.trim(nomCommune));
}
return chaineRequete;
}
 
function viderTableauObs() {
obsStation = new Array();
surClicPagePagination(0, null);
}
 
function surRetourChargementObs(observations, depart, total) {
obsStation = obsStation.concat(observations.observations);
if (depart == 0) {
actualiserInfosStation(observations);
creerTitreInfoBulle();
surClicPagePagination(0, null);
mettreAJourUrlSaisie(observations);
}
afficherPagination();
actualiserPagineur();
selectionnerOnglet("#obs-vue-"+pagineur.format);
}
 
function actualiserInfosStation(infos) {
pointClique.stationInfos.commune = infos.commune;
pointClique.stationInfos.obsNbre = infos.total;
}
 
function creerTitreInfoBulle() {
$('#obs-total').text(station.obsNbre);
$('#obs-commune').text(station.commune);
var titre = '';
titre += pointClique.stationInfos.obsNbre+' ' + msg('observation');
titre += (pointClique.stationInfos.obsNbre > 1) ? 's': '' ;
titre += ' ' + msg('pour') + ' ';
if (etreMarqueurCommune(pointClique.stationInfos.id)) {
nomStation = msg('la-commune') + ' : ';
} else {
nomStation = msg('la-station') + ' : ';
}
titre += pointClique.stationInfos.nom;
$('#obs-station-titre').text(titre);
}
 
function actualiserPagineur() {
pagineur.stationId = pointClique.stationInfos.id;
pagineur.total = pointClique.stationInfos.obsNbre;
// Si on est en mode photo on reste en mode liste quelque soit le
// nombre de résultats
if (pagineur.total > 4 && photos != 1) {
pagineur.format = 'tableau';
} else {
pagineur.format = 'liste';
}
}
 
function afficherPagination(observations) {
$('.navigation').pagination(pagineur.total, {
items_per_page:pagineur.limite,
callback:surClicPagePagination,
next_text: msg('Suivant'),
prev_text: msg('Precedent'),
prev_show_always:false,
num_edge_entries:1,
num_display_entries:4,
load_first_page:true
});
}
 
function surClicPagePagination(pageIndex, paginationConteneur) {
var index = pageIndex * pagineur.limite,
indexMax = index + pagineur.limite;
pagineur.depart = index;
obsPage = new Array();
for (index; index < indexMax; index++) {
obsPage.push(obsStation[index]);
}
 
supprimerMessageChargement();
mettreAJourObservations();
return false;
}
 
function mettreAJourObservations() {
$('#obs-'+pagineur.format+'-lignes').empty();
$('#obs-vue-'+pagineur.format).css('display', 'block');
$('.obs-conteneur').css('counter-reset', 'item '+pagineur.depart);
$('#tpl-obs-'+pagineur.format).tmpl(obsPage).appendTo('#obs-'+pagineur.format+'-lignes');
// Actualisation de Fancybox
ajouterFormulaireContact('a.contact');
if (pagineur.format == 'liste') {
ajouterGaleriePhoto('a.cel-img');
}
}
 
function initialiserContenuInfoBulle() {
afficherMessageChargement('#observations');
cacherContenuOnglets();
afficherOnglets();
ajouterTableauTriable('#obs-tableau');
afficherTextStationId();
corrigerLargeurInfoWindow();
}
 
function cacherContenuOnglets() {
$('#obs-vue-tableau').css('display', 'none');
$('#obs-vue-liste').css('display', 'none');
}
 
function afficherOnglets() {
var $tabs = $('#obs').tabs();
$('#obs').bind('tabsselect', function(event, ui) {
if (ui.panel.id == 'obs-vue-tableau') {
surClicAffichageTableau();
} else if (ui.panel.id == 'obs-vue-liste') {
surClicAffichageListe();
}
});
if (pointClique.stationInfos.nbre > 4) {
$tabs.tabs('select', "#obs-vue-tableau");
} else {
$tabs.tabs('select', "#obs-vue-liste");
}
}
 
function selectionnerOnglet(onglet) {
$(onglet).css('display', 'block');
$('#obs').tabs('select', onglet);
}
 
function afficherTextStationId() {
$('#obs-station-id').text(pointClique.stationInfos.id);
}
 
function corrigerLargeurInfoWindow() {
$("#info-bulle").width($("#info-bulle").width() - 17);
}
 
function surClicAffichageTableau(event) {
pagineur.format = 'tableau';
mettreAJourObservations();
mettreAJourTableauTriable("#obs-tableau");
}
 
function surClicAffichageListe(event) {
pagineur.format = 'liste';
mettreAJourObservations();
ajouterGaleriePhoto("a.cel-img");
}
 
function ajouterTableauTriable(element) {
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// Définition d'un id unique pour ce parsseur
id: 'date_cel',
is: function(s) {
// doit retourner false si le parsseur n'est pas autodétecté
return /^\s*\d{2}[\/-]\d{2}[\/-]\d{4}\s*$/.test(s);
},
format: function(date) {
// Transformation date jj/mm/aaaa en aaaa/mm/jj
date = date.replace(/^\s*(\d{2})[\/-](\d{2})[\/-](\d{4})\s*$/, "$3/$2/$1");
// Remplace la date par un nombre de millisecondes pour trier numériquement
return $.tablesorter.formatFloat(new Date(date).getTime());
},
// set type, either numeric or text
type: 'numeric'
});
$(element).tablesorter({
headers: {
1: {
sorter: 'date_cel'
}
}
});
}
 
function mettreAJourTableauTriable(element) {
$(element).trigger('update');
}
 
function ajouterGaleriePhoto(element) {
$(element).fancybox({
transitionIn: 'elastic',
transitionOut: 'elastic',
speedIn: 600,
speedOut: 200,
overlayShow: true,
titleShow: true,
titlePosition: 'inside',
titleFormat: function (titre, currentArray, currentIndex, currentOpts) {
var motif = /urn:lsid:tela-botanica[.]org:cel:img([0-9]+)$/;
motif.exec(titre);
var id = RegExp.$1,
info = $('#cel-info-'+id).clone().html(),
tpl =
'<div class="cel-legende">'+
'<p class="cel-legende-vei">'+ msg('Image-n') + ' ' + (currentIndex + 1) + ' ' + msg('sur') + ' ' + currentArray.length +'<\/p>'+
(titre && titre.length ? '<p>'+info+'<\/p>' : '' )+
'<\/div>';
return tpl;
}
}).live('click', function(e) {
if (e.stopPropagation) {
e.stopPropagation();
}
return false;
});
}
 
function ajouterFormulaireContact(element) {
$(element).fancybox({
transitionIn:'elastic',
transitionOut:'elastic',
speedIn :600,
speedOut:200,
scrolling: 'no',
titleShow: false,
onStart: function(selectedArray, selectedIndex, selectedOpts) {
var element = selectedArray[selectedIndex];
var motif = / contributeur-([0-9]+)$/;
motif.exec($(element).attr('class'));
// si la classe ne contient pas d'id contributeur
// alors il faut stocker le numéro d'observation
var id = RegExp.$1;
if(id == "") {
$("#fc_type_envoi").attr('value', 'non-inscrit');
var motif = / obs-([0-9]+)$/;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
} else {
$("#fc_type_envoi").attr('value', 'inscrit');
}
 
$("#fc_destinataire_id").attr('value', id);
var motif = / obs-([0-9]+)/;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
//console.log('Obs id : '+id);
chargerInfoObsPourMessage(id);
},
onCleanup: function() {
//console.log('Avant fermeture fancybox');
$("#fc_destinataire_id").attr('value', '');
$("#fc_sujet").attr('value', '');
$("#fc_message").text('');
},
onClosed: function(e) {
//console.log('Fermeture fancybox');
if (e.stopPropagation) {
e.stopPropagation();
}
return false;
}
});
}
 
function chargerInfoObsPourMessage(idObs) {
var nomSci = jQuery.trim($(".cel-obs-"+idObs+" .nom-sci:eq(0)").text());
var date = jQuery.trim($(".cel-obs-"+idObs+" .date:eq(0)").text());
var lieu = jQuery.trim($(".cel-obs-"+idObs+" .lieu:eq(0)").text());
var sujet = "Observation #"+idObs+" de "+nomSci;
var message = "\n\n\n\n\n\n\n\n--\n" + msg('concerne-l-observation') + " \""+nomSci+'" ' + msg('du') + ' "'+date+'" ' + msg('au-lieu') + ' "'+lieu+'".';
$("#fc_sujet").attr('value', sujet);
$("#fc_message").text(message);
}
 
function initialiserFormulaireContact() {
//console.log('Initialisation du form contact');
$("#form-contact").validate({
rules: {
fc_sujet : "required",
fc_message : "required",
fc_utilisateur_courriel : {
required : true,
email : true}
}
});
$("#form-contact").bind("submit", envoyerCourriel);
$("#fc_annuler").bind("click", function() {$.fancybox.close();});
}
 
function envoyerCourriel() {
//console.log('Formulaire soumis');
if ($("#form-contact").valid()) {
//console.log('Formulaire valide');
//$.fancybox.showActivity();
var destinataireId = $("#fc_destinataire_id").attr('value');
var typeEnvoi = $("#fc_type_envoi").attr('value');
if(typeEnvoi == "non-inscrit") {
// l'envoi au non inscrits passe par le service intermédiaire du cel
// qui va récupérer le courriel associé à l'obs indiquée
var urlMessage = baseURLServicesCelTpl.replace('%s', 'celMessage/obs/'+destinataireId);
} else {
var urlMessage = baseURLServicesAnnuaireTpl.replace('%s', 'Utilisateur/'+destinataireId+'/message');
}
var erreurMsg = "";
var donnees = new Array();
$.each($(this).serializeArray(), function (index, champ) {
var cle = champ.name;
cle = cle.replace(/^fc_/, '');
if (cle == 'sujet') {
champ.value += " - Carnet en ligne - Tela Botanica";
}
if (cle == 'message') {
champ.value += "\n--\n"+
"Ce message vous est envoyé par l'intermédiaire du widget carto "+
"du Carnet en Ligne du réseau Tela Botanica.\n"+
"https://www.tela-botanica.org/widget:cel:cartoPoint";
}
donnees[index] = {'name':cle,'value':champ.value};
});
$.ajax({
type : "POST",
cache : false,
url : urlMessage,
data : donnees,
beforeSend : function() {
$(".msg").remove();
},
success : function(data) {
$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
},
error : function(jqXHR, textStatus, errorThrown) {
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
reponse = jQuery.parseJSON(jqXHR.responseText);
if (reponse != null) {
$.each(reponse, function (cle, valeur) {
erreurMsg += valeur + "\n";
});
}
},
complete : function(jqXHR, textStatus) {
var debugMsg = '';
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
if (debugInfos != null) {
$.each(debugInfos, function (cle, valeur) {
debugMsg += valeur + "\n";
});
}
}
if (erreurMsg != '') {
$("#fc-zone-dialogue").append('<p class="msg">'+
msg('erreur-transmission-message') +'<br />'+
msg('signaler-dysfonctionnement') + ' <a href="'+
'mailto:cel@tela-botanica.org'+'?'+
'subject=Disfonctionnement du widget carto'+
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
'">cel@tela-botanica.org</a>.'+
'</p>');
}
if (DEBUG) {
console.log('Débogage : '+debugMsg);
}
//console.log('Débogage : '+debugMsg);
//console.log('Erreur : '+erreurMsg);
}
});
}
return false;
}
/*+--------------------------------------------------------------------------------------------------------+*/
// PANNEAU LATÉRAL
var nbTaxons = 0;
function initialiserAffichagePanneauLateral() {
if (nt == '*') {
$('#pl-ouverture').bind('click', afficherPanneauLateral);
$('#pl-fermeture').bind('click', cacherPanneauLateral);
} else {
$('#panneau-lateral').width(0);
$('#carte').width('100%');
}
attribuerListenersFiltreUtilisateur();
}
 
function attribuerListenersFiltreUtilisateur() {
$('#valider-filtre-utilisateur').click(function() {
var utilisateur = $('#filtre-utilisateur').val();
filtrerParUtilisateur(utilisateur);
$('#raz-filtre-utilisateur').show();
});
$('#filtre-utilisateur').keypress(function(e) {
if (e.which == 13) {
var utilisateur = $('#filtre-utilisateur').val();
filtrerParUtilisateur(utilisateur);
$('#raz-filtre-utilisateur').show();
}
});
$('#raz-filtre-utilisateur').click(function() {
$('#filtre-utilisateur').val('');
filtrerParUtilisateur('*');
afficherCacherFiltreUtilisateur();
$('#raz-filtre-utilisateur').hide();
});
$('#lien-affichage-filtre-utilisateur').click(function() {
afficherCacherFiltreUtilisateur();
});
 
$('#raz-filtre-utilisateur').hide();
$('#formulaire-filtre-utilisateur').hide();
}
 
function afficherCacherFiltreUtilisateur() {
$('#formulaire-filtre-utilisateur').slideToggle();
$('#conteneur-filtre-utilisateur').toggleClass('ferme');
if (!$('#conteneur-filtre-utilisateur').hasClass('ferme')) {
$('#conteneur-filtre-utilisateur').width(tailleMaxFiltreUtilisateur);
} else {
$('#conteneur-filtre-utilisateur').width('auto');
}
}
 
function filtrerParUtilisateur(utilisateurFiltre) {
if (utilisateurFiltre == '') {
utilisateurFiltre = '*';
}
utilisateur = utilisateurFiltre;
var pattern = /utilisateur=[^&]*/i,
utilisateurCourant = pattern.exec(stationsUrl);
stationsUrl = stationsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
taxonsUrl = taxonsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
observationsUrl = observationsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
filtreCommun = filtreCommun.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
programmerRafraichissementCarte();
}
 
 
 
var largeurPanneauLateralFerme = null;
function afficherPanneauLateral() {
// fixer la hauteur
$('#panneau-lateral').height($(window).height() - $('#panneau-lateral').offset().top - 30);
largeurPanneauLateralFerme = $('#panneau-lateral').width();
$('#panneau-lateral').width(300);
$('#pl-contenu').css('display', 'block');
$('#pl-ouverture').css('display', 'none');
$('#pl-fermeture').css('display', 'block');
// correction pour la taille de la liste des taxons
$('#pl-corps').height($(window).height() - $('#pl-corps').offset().top);
 
google.maps.event.trigger(map, 'resize');
};
 
function cacherPanneauLateral() {
$('#panneau-lateral').height(25 + 'px');
$('#panneau-lateral').width(largeurPanneauLateralFerme + 'px');
$('#pl-contenu').css('display', 'none');
$('#pl-ouverture').css('display', 'block');
$('#pl-fermeture').css('display', 'none');
google.maps.event.trigger(map, 'resize');
};
 
function viderFiltreTaxon() {
$('.taxon-actif .taxon').click();
}
 
function filtrerParTaxon() {
var ntAFiltrer = $('.nt', this).text();
infoBulle.close();
var zoom = map.getZoom();
var NELatLng = map.getBounds().getNorthEast().lat()+'|'+map.getBounds().getNorthEast().lng();
var SWLatLng = map.getBounds().getSouthWest().lat()+'|'+map.getBounds().getSouthWest().lng();
$('.raz-filtre-taxons').removeClass('taxon-actif');
$('#taxon-'+nt).removeClass('taxon-actif');
if (nt == ntAFiltrer) {
nt = '*';
stationsUrl = stationsUrl.replace(/num_taxon=[*0-9]+/, 'num_taxon='+nt);
chargerMarqueurs(zoom, NELatLng, SWLatLng);
} else {
stationsUrl = stationsUrl.replace(/num_taxon=[*0-9]+/, 'num_taxon='+ntAFiltrer);
url = stationsUrl;
url += '&zoom='+zoom+
'&ne='+NELatLng+
'&sw='+SWLatLng;
requeteChargementPoints = $.getJSON(url, function (stationsFiltrees) {
stations = stationsFiltrees;
nt = ntAFiltrer;
$('#taxon-'+nt).addClass('taxon-actif');
rafraichirMarqueurs(stations);
});
}
};
 
/*+--------------------------------------------------------------------------------------------------------+*/
// FONCTIONS UTILITAIRES
 
function ouvrirPopUp(element, nomPopUp, event) {
var options =
'width=650,'+
'height=600,'+
'scrollbars=yes,'+
'directories=no,'+
'location=no,'+
'menubar=no,'+
'status=no,'+
'toolbar=no';
var popUp = window.open(element.href, nomPopUp, options);
if (window.focus) {
popUp.focus();
}
return arreter(event);
};
 
function ouvrirNouvelleFenetre(element, event) {
window.open(element.href);
return arreter(event);
}
 
function arreter(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else if (window.event) {
window.event.cancelBubble = true;
}
if (event.preventDefault) {
event.preventDefault();
}
event.returnValue = false;
return false;
}
 
/**
* +-------------------------------------+
* Number.prototype.formaterNombre
* +-------------------------------------+
* Params (facultatifs):
* - Int decimales: nombre de decimales (exemple: 2)
* - String signe: le signe precedent les decimales (exemple: "," ou ".")
* - String separateurMilliers: comme son nom l'indique
* Returns:
* - String chaine formatee
* @author ::mastahbenus::
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> : ajout détection auto entier/flotant
* @souce http://www.javascriptfr.com/codes/FORMATER-NOMBRE-FACON-NUMBER-FORMAT-PHP_40060.aspx
*/
Number.prototype.formaterNombre = function (decimales, signe, separateurMilliers) {
var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
function is_int(nbre) {
nbre = nbre.replace(',', '.');
return !(parseFloat(nbre)-parseInt(nbre) > 0);
}
 
if (decimales == undefined) {
if (is_int(_sNombre)) {
decimales = 0;
} else {
decimales = 2;
}
}
if (signe == undefined) {
if (is_int(_sNombre)) {
signe = '';
} else {
signe = '.';
}
}
if (separateurMilliers == undefined) {
separateurMilliers = ' ';
}
function separeMilliers (sNombre) {
var sRetour = "";
while (sNombre.length % 3 != 0) {
sNombre = "0"+sNombre;
}
for (i = 0; i < sNombre.length; i += 3) {
if (i == sNombre.length-1) separateurMilliers = '';
sRetour += sNombre.substr(i, 3) + separateurMilliers;
}
while (sRetour.substr(0, 1) == "0") {
sRetour = sRetour.substr(1);
}
return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
}
if (_sNombre.indexOf('.') == -1) {
for (i = 0; i < decimales; i++) {
_sDecimales += '0';
}
_sRetour = separeMilliers(_sNombre) + signe + _sDecimales;
} else {
var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
if (sDecimalesTmp.length > decimales) {
var nDecimalesManquantes = sDecimalesTmp.length - decimales;
var nDiv = 1;
for (i = 0; i < nDecimalesManquantes; i++) {
nDiv *= 10;
}
_sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
}
_sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales;
}
return _sRetour;
}
 
function debug(objet) {
var msg = '';
if (objet != null) {
$.each(objet, function (cle, valeur) {
msg += cle+':'+valeur + "\n";
});
} else {
msg = 'La variable vaut null.';
}
console.log(msg);
}
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/css/carto.css
New file
0,0 → 1,720
@charset "UTF-8";
html {
overflow:hidden;
}
body {
overflow:hidden;
padding:0;
margin:0;
width:100%;
height:100%;
font-family:Arial;
font-size:12px;
}
h1 {
font-size:1.6em;
}
h2 {
font-size:1.4em;
}
a, a:active, a:visited {
border-bottom:1px dotted #666;
color:#CCC;
text-decoration:none;
}
a:active {
outline:none;
}
a:focus {
outline:thin dotted;
}
a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
img {
border:none;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Présentation des listes de définitions */
dl {
width:100%;
margin:0;
}
dt {
float:left;
font-weight:bold;
text-align:top left;
margin-right:0.3em;
line-height:0.8em;
}
dd {
width:auto;
margin:0.5em 0;
line-height:0.8em;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Tableau : */
table {
border:1px solid gray;
border-collapse:collapse;
width:100%;
}
table thead, table tfoot, table tbody {
background-color:Gainsboro;
border:1px solid gray;
}
table tbody {
background-color:#FFF;
}
table th {
font-family:monospace;
border:1px dotted gray;
padding:5px;
background-color:Gainsboro;
}
table td {
font-family:arial;
border:1px dotted gray;
padding:5px;
text-align:left;
}
table caption {
font-family:sans-serif;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Tableau : tablesorter */
th.header {
background:url(../images/trie.png) no-repeat center right;
padding-right:20px;
}
th.headerSortUp {
background:url(../images/trie_croissant.png) no-repeat center right #56B80E;
color:white;
}
th.headerSortDown {
background:url(../images/trie_decroissant.png) no-repeat center right #56B80E;
color:white;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Générique */
.nettoyage{
clear:both;
}
hr.nettoyage{
visibility:hidden;
}
 
.element-overlay {
background-color: #DDDDDD;
border:1px solid grey;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Carte */
#carte {
padding:0;
margin:0;
position:absolute;
right:0;
bottom:0;
overflow:auto;
width: 100%;
height: 100%;
}
 
.carte_titree {
top:35px;
}
 
.carte_non_titre {
top:0px;
}
 
.bouton {
background-color:white;
border:2px solid black;
cursor:pointer;
text-align:center;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Message de chargement */
 
#zone-chargement-point {
display: none;
position: fixed;
left: 110px;
top: 10px;
z-index: 3000;
width: 180px;
height: 42px;
padding: 7px;
text-align: center;
background-color: rgba(255, 255, 255, 0.85);
border: solid #dedede 1px;
border-radius: 4px;
}
#legende-chargement {
padding-top: 7px;
}
#img-chargement {
float: left;
margin-right: 5px;
}
 
#chargement {
margin:25px;
text-align:center;
 
}
#chargement img{
display:block;
margin:auto;
}
 
#message-aucune-obs p {
padding-top : 25px;
font-weight: bold;
}
 
#message-aucune-obs {
background-image: url("../images/attention.png");
background-position: 50% 10px;
background-repeat: no-repeat;
display: none;
height: 70px;
padding: 10px;
position: fixed;
text-align: center;
width: 230px;
z-index: 3000;
}
 
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Avertissement */
#zone-avertissement {
background-color:#DDDDDD;
color: black;
padding:12px;
text-align:justify;
line-height:16px;
}
#zone-avertissement h1{
margin:0;
}
#zone-avertissement a {
border-bottom:1px dotted gainsboro;
}
 
#zone-avertissement a, a:active, a:visited {
color: #666666;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Carte titre */
 
#zone-titre {
top: 30px;
}
 
#zone-titre, #zone_stats {
padding:0;
position:absolute;
height:25px;
overflow:hidden;
border-radius: 4px;
z-index: 3000;
display: inline-block;
padding:8px;
color: black;
font-family: inherit;
font-size: 1.1em;
font-weight: bold;
text-rendering: optimizelegibility;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
}
 
#zone-info {
position:absolute;
top:26px;
z-index:3001;
right:8px;
width: 25px;
text-align:right;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
border-radius: 5px 5px 5px 5px;
}
 
#zone-info a {
border: none;
}
 
 
#logo {
left: 2px;
padding: 4px;
position: absolute;
top: 5px;
z-index: 3002;
width: 60px;
}
.image-logo {
padding: 5px;
background-color: rgba(255, 255, 255, 0.9);
border: solid #dedede 1px;
border-radius: 4px;
max-height: 60px;
max-width: 90px;
}
#logo a {
border-bottom: none;
}
 
#carte-titre {
display:inline-block;
margin:0;
padding:0em;
}
#carte-titre {/*Hack CSS fonctionne seulement dans ie6, 7 & 8 */
display:inline !hackCssIe6Et7;/*Hack CSS pour ie6 & ie7 */
display /*\**/:inline\9;/*Hack CSS pour ie8 */
}
 
#image-utilisateur {
position: absolute;
right: 5px;
top: 40%;
}
 
#lien-affichage-filtre-utilisateur {
right: 5px;
float: right;
padding-bottom: 1px;
cursor: pointer;
font-weight: bold;
margin-left: 25px;
padding: 3px;
position: relative;
top: 3px;
width: 117px;
height: 30px;
}
 
#conteneur-filtre-utilisateur.ferme:hover {
color: #222222;
background-color: #AAAAAA;
text-decoration: none;
cursor: pointer;
border: 1px solid #222222;
}
 
#conteneur-filtre-utilisateur {
float: right;
padding: 3px;
position: absolute;
right: 5px;
top: 50px;
border-radius: 5px 5px 5px 5px;
width: 117px;
max-width: 350px;
}
 
.largeurAuto {
width: auto;
}
 
#raz-filtre-utilisateur {
color: red;
padding-left: 1px;
word-wrap: break-word;
width: 110px;
}
 
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Panneau latéral */
#panneau-lateral {
padding:0;
margin:0;
position:absolute;
top: 90px;
left:0;
bottom:0;
width: 83px;
overflow:hidden;
height: 25px;
z-index: 3001;
border-top-right-radius : 10px;
border-bottom-right-radius : 10px;
}
#pl-indication-filtre {
margin-left : 25px;
padding : 3px;
font-weight: bold;
padding: 3px;
position: relative;
top: 3px;
}
#pl-contenu {
display:none;
}
#pl-entete {
height:95px;
}
#pl-corps {
bottom:0;
overflow:auto;
padding:5px;
width:290px;
}
#pl-ouverture, #pl-fermeture {
position:absolute;
top:0;
height:60px;
width:24px;
text-align:center;
cursor:pointer;
}
#pl-ouverture {
left:0;
background:url(../images/ouverture.png) no-repeat top left #4A4B4C;
height:100%;
}
#pl-fermeture {
display:none;
right: 0;
background:url(../images/fermeture.png) no-repeat top right #4A4B4C;
}
#pl-ouverture span, #pl-fermeture span{
display:none;
}
/* Panneau latéral : balises */
#panneau-lateral h2, #panneau-lateral p {
color:black;}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Liste des taxons de la carte */
#taxons {
color:black;
}
#taxons .taxon-actif, #taxons .taxon-actif span, .raz-filtre-taxons.taxon-actif {
color:#56B80E;
}
#taxons li span, .raz-filtre-taxons {
border-bottom:1px dotted #666;
color:black;
}
#taxons li span:focus {
outline:thin dotted;
}
#taxons li span:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
cursor:pointer;
}
.nt {
display:none;
}
.raz-filtre-taxons {
cursor:pointer;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Zone des stats en bas */
#zone-stats {
padding:0;
position:absolute;
height:25px;
bottom:20px;
overflow:hidden;
border-radius: 4px;
z-index: 3000;
display: inline-block;
padding:8px;
color: black;
font-family: inherit;
font-size: 1.1em;
font-weight: bold;
text-rendering: optimizelegibility;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
}
 
#zone-stats h1 {
margin-top: 0;
}
 
#lien_plein_ecran, #lien-voir-cc {
position: absolute;
z-index: 3000;
border-radius: 4px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
padding: 8px 8px 4px;
font-size: 1.1em;
font-weight: bold;
}
 
#lien_plein_ecran {
bottom: 20px;
left: 5px;
}
 
#lien_plein_ecran a, #lien-voir-cc a {
color: black;
padding: 2px;
border-bottom: none;
}
 
#lien_plein_ecran img {
height: 20px;
}
 
#lien-voir-cc {
bottom: 3px;
right: 5px;
bottom: 20px;
height: 20px;
}
 
#origine-donnees {
-moz-user-select: none;
background: -moz-linear-gradient(center , rgba(255, 255, 255, 0) 0pt, rgba(255, 255, 255, 0.5) 50px) repeat scroll 0 0 transparent;
color: #444444;
direction: ltr;
font-family: Arial,sans-serif;
font-size: 10px;
font-weight: bold;
height: 19px;
line-height: 19px;
padding-left: 50px;
padding-right: 2px;
bottom: 0px;
position: absolute;
text-align: right;
white-space: nowrap;
z-index: 3001;
}
 
#origine-donnees a {
color: #444444;
cursor: pointer;
text-decoration: underline;
border-bottom: none;
}
#origine-donnees a:active, #origine-donnees a:visited {
border-bottom: 1px dotted #666666;
color: #CCCCCC;
text-decoration: none;
}
 
#origine-donnees a:visited {
border-bottom: 1px dotted #666666;
color: #444444;
text-decoration: none;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Pop-up observations */
#info-bulle{
min-height:500px;
width:500px;
}
#observations {
overflow:none;
margin:-1px 0 0 0;
border: 1px solid #AAA;
border-radius:0 0 4px 4px;
}
#obs-pieds-page {
font-size:10px;
color:#CCC;
clear:both;
}
.ui-tabs {
padding:0;
}
.ui-widget-content {
border:0;
}
.ui-widget-header {
background:none;
border:0;
border-bottom:1px solid #AAA;
border-radius:0;
}
.ui-tabs-selected a {
border-bottom:1px solid white;
}
.ui-tabs-selected a:focus {
outline:0;
}
.ui-tabs .ui-tabs-panel {
padding:0.2em;
}
.ui-tabs .ui-tabs-nav li a {
padding: 0.5em 0.6em;
}
#obs h2 {
margin:0;
text-align:center;
}
#observations a {
color:#333;
border-bottom:1px dotted gainsboro;
}
#observations a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
.nom-sci{
color:#454341;
font-weight:bold;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Pop-up observations : liste */
.cel-img-principale {
height:0;/*Pour IE*/
}
.cel-img-principale img{
float:right;
height:75px;
width:75px;
padding:1px;
border:1px solid white;
}
#observations .cel-img:hover img{
border: 1px dotted #56B80E;
}
.cel-img-secondaire, .cel-infos{
display: none;
}
ol#obs-liste-lignes {
padding:5px;
margin:0;
}
.champ-nom-sci {
display:none;
}
#obs-liste-lignes li dl {/*Pour IE*/
width:350px;
}
.obs-conteneur{
counter-reset: item;
}
.obs-conteneur .nom-sci:before {
content: counter(item) ". ";
counter-increment: item;
display:block;
float:left;
}
.obs-conteneur li {
display: block;
margin-bottom:1em;
}
 
.lien-widget-saisie {
background: url("../images/saisie.png") no-repeat scroll left center transparent;
border: 1px solid #AAAAAA;
background-color: #EEE;
padding: 5px 5px 5px 25px;
text-decoration: none;
border-radius : 5px;
}
 
.lien-widget-saisie:hover {
color: #222222;
background-color: #AAAAAA;
text-decoration: none;
cursor: pointer;
border: 1px solid #222222;
}
 
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Diaporama */
.cel-legende{
text-align:left;
}
.cel-legende-vei{
float:right;
}
.cel-legende p{
color: black;
font-size: 12px;
line-height: 18px;
margin: 0;
}
.cel-legende a, .cel-legende a:active, .cel-legende a:visited {
border-bottom:1px dotted gainsboro;
color:#333;
text-decoration:none;
background-image:none;
}
.cel-legende a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Plugin Jquery Pagination */
.navigation {
padding:5px;
float:right;
}
.pagination {
font-size: 80%;
}
.pagination a {
text-decoration: none;
border: solid 1px #666;
color: #666;
background:gainsboro;
}
.pagination a:hover {
color: white;
background: #56B80E;
}
.pagination a, .pagination span {
display: block;
float: left;
padding: 0.3em 0.5em;
margin-right: 5px;
margin-bottom: 5px;
min-width:1em;
text-align:center;
}
.pagination .current {
background: #4A4B4C;
color: white;
border: solid 1px gainsboro;
}
.pagination .current.prev, .pagination .current.next{
color: #999;
border-color: #999;
background: gainsboro;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Formulaire de contact */
#form-contact input{
width:300px;
}
#form-contact textarea{
width:300px;
height:200px;
}
#form-contact #fc_envoyer{
width:50px;
float:right;
}
#form-contact #fc_annuler{
width:50px;
float:left;
}
#form-contact label.error {
color:red;
font-weight:bold;
}
#form-contact .info {
padding:5px;
background-color: #4A4B4C;
border: solid 1px #666;
color: white;
white-space: pre-wrap;
width: 300px;
}
 
/* hack Fancybox pour que le popup soit toujours au dessus */
#fancybox-wrap {
z-index: 3100;
}
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/carte_defaut_en.tpl.html
New file
0,0 → 1,421
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Public observations of the CEL - Tela Botanica</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL map" />
<meta name="description" content="Map widget for public plants observations submitted to the Carnet en Ligne (CEL)" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="CEL public observations map" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Map representation of Carnet en Ligne public observations" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=<?php echo $cleGoogleMaps; ?>&v=3.5&amp;sensor=true&amp;language=en&amp;region=US"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/google/map/3/markermanager/1.0/markermanager-1.0.pack.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/js/jquery-ui-1.8.15.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/tablesorter/2.0.5/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/pagination/2.2/jquery.pagination.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/messages_fr.js"></script>
<!-- Javascript : appli carto -->
<script type="text/javascript">
//<![CDATA[
global_lang = "en"; // langue pour la traduction du JS
 
var urlWidgetSaisie = '<?= $url_widget_saisie; ?>',
urlsLimitesCommunales = '<?= $url_limites_communales; ?>',
nt = '<?=$num_nom_ret?>',
filtreCommun =
'&standard=<?=rawurlencode($standard)?>'+
'&taxon=<?=rawurlencode($taxon)?>'+
'&utilisateur=<?=$utilisateur?>'+
'&projet=<?=rawurlencode($projet)?>'+
'&tag=<?=rawurlencode($tag)?>'+
'&date=<?=$date?>'+
'&dept=<?=$dept?>'+
'&commune=<?=rawurlencode($commune)?>'+
'&pays=<?=rawurlencode($pays)?>'+
'&commentaire=<?=rawurlencode($commentaire)?>'+
'&groupe_zones_geo=<?=rawurlencode($groupe_zones_geo)?>',
utilisateur = '<?=$utilisateur?>',
photos = '<?= ($photos != null) ? $photos : "null"; ?>';
groupe_zones_geo = '<?= ($groupe_zones_geo != null) ? $groupe_zones_geo : "null"; ?>';
if (photos != null) {
filtreCommun += '&photos=<?=rawurlencode($photos)?>';
}
var nbJours = '<?= ($nbjours != null) ? $nbjours : "null"; ?>';
if (nbJours != null) {
filtreCommun += '&nbjours=<?=rawurlencode($nbjours)?>';
}
var annee = '<?= ($annee != null) ? $annee : "null"; ?>';
if (annee != null) {
filtreCommun += '&annee=<?=rawurlencode($annee)?>';
}
var referentiel = '<?= ($referentiel != null) ? $referentiel : "null"; ?>';
if (referentiel != null) {
filtreCommun += '&referentiel=<?=rawurlencode($referentiel)?>';
}
var baseURLServicesAnnuaireTpl = '<?= $baseURLServicesAnnuaireTpl; ?>',
baseURLServicesCelTpl = '<?= $baseURLServicesCelTpl; ?>';
var titreCarte = '<?= ($titre != null) ? addslashes($titre) : "null"; ?>',
urlLogo = '<?= ($logo != null) ? $logo : "null"; ?>',
urlSite = '<?= ($url_site != null) ? $url_site : "null"; ?>',
urlImage = '<?= ($image != null) ? $image : "null"; ?>',
stationsUrl = '<?=$url_cel_carto?>/tout'+'?' + 'num_nom_ret=' + nt + filtreCommun,
taxonsUrl = '<?=$url_cel_carto?>/taxons'+'?' + 'num_nom_ret=' + nt + filtreCommun,
observationsUrl = '<?=$url_cel_carto?>/observations' + '?' +
'station={stationId}'+
'&num_nom_ret={nt}'+
filtreCommun,
communeImageUrl = '<?= $communeImageUrl; ?>',
pointImageUrl = '<?= $pointImageUrl; ?>',
groupeImageUrlTpl = '<?= $groupeImageUrlTpl; ?>';
//]]>
</script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto.js"></script>
<script type="text/javascript" src="<?=$url_base?>modules/cartopoint/squelettes/scripts/carto_msgs.js"></script>
<!-- CSS -->
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/css/smoothness/jquery-ui-1.8.15.custom.css" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/cartopoint/squelettes/css/<?=isset($_GET['style']) ? $_GET['style'] : 'carto'?>.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<div id="zone-chargement-point" class="element-overlay">
<img id="img-chargement" src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement_transparent.gif" alt="Chargement en cours..." />
<div id="legende-chargement">Loading points...</div>
</div>
<?php if($logo != null) { ?>
<?php if($logo != '0') { ?>
<div id="logo">
<?php if($url_site != null) { ?>
<a href="<?= $url_site; ?>"
title="<?= $url_site; ?>"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="<?= $logo ?>" alt="logo" />
</a>
<?php } else { ?>
<img class="image-logo" src="<?= $logo ?>" alt="logo" />
<?php } ?>
</div>
<?php } ?>
<?php } else { ?>
<div id="logo">
<a href="http://www.tela-botanica.org/site:accueil"
title="Aller à l'accueil de Tela Botanica"
onclick="ouvrirNouvelleFenetre(this, event)">
<img height="60px" class="image-logo" src="https://resources.tela-botanica.org/tb/img/128x128/logo_carre_officiel.png" alt="TB" />
</a>
</div>
<?php } ?>
<?php if($titre !== "0" && $titre != null) : ?>
<div id="zone-titre" class="element-overlay">
<h1 id="carte-titre">
<span id="carte-titre-infos"><?= htmlspecialchars($titre); ?></span>
</h1>
</div>
<?php endif; ?>
<? if ($num_taxon == '*') : ?>
<div id="panneau-lateral" class="element-overlay <?= ($titre != 0) ? 'carte_titree"': 'carte_non_titree"'; ?>>
<div id="pl-ouverture" title="Filter observations by species">
<span>Panel >></span>
<div id="pl-indication-filtre"> Filter
</div>
</div>
<div id="pl-fermeture" title="Close side panel"><span><< Close [x]</span></div>
<div id="pl-contenu">
<div id="pl-entete">
<h2>Filter on <span class="plantes-nbre">&nbsp;</span> plants</h2>
<p>
Click a plant name to filter map observations.<br />
To go back to initial state, click the selected name again.
</p>
</div>
<hr class="nettoyage" />
<div id="pl-corps" onMouseOver="map.setOptions({'scrollwheel':false});" onMouseOut="map.setOptions({'scrollwheel':true});">
<hr class="nettoyage" />
<!-- Insertion des lignes à partir du squelette tpl-taxons-liste -->
<span class="raz-filtre-taxons taxon-actif" title="Show all taxa">
Show all taxa
</span>
<ol id="taxons">
</ol>
</div>
</div>
</div>
<? endif ?>
<div id="carte" <?= ($titre != 0) ? 'class="carte_titree"': 'class="carte_non_titree"'; ?>></div>
<div id="lien_plein_ecran" class="element-overlay">
<a href="#" title="Fullscreen (opens a new window)">
<img class="icone" src="<?=$url_base?>modules/cartopoint/squelettes/images/plein_ecran.png" alt="Fullscreen" />
</a>
</div>
<div id="zone-stats" style="display:none" class="element-overlay">
<h1>
</h1>
</div>
<div id="conteneur-filtre-utilisateur" class="ferme element-overlay">
<div id="lien-affichage-filtre-utilisateur">My map</div>
<div id="formulaire-filtre-utilisateur">
<span class="indication-filtre-utilisateur">Display a map of your observations</span>
<input type="text" id="filtre-utilisateur" placeholder="type your email" value="<?= ($utilisateur != '*') ? $utilisateur : '' ?>" title="type another user's email to see his⋅her data" />
<input id="valider-filtre-utilisateur" type="button" value="ok" />
<a href="#" id="raz-filtre-utilisateur">Show global map</a>
</div>
</div>
<?php if($image != null) { ?>
<div id="image-utilisateur">
<img width="155px" src="<?= $image ?>" alt="image" />
</div>
<?php } ?>
<div id="origine-donnees">
Network observations <a href="http://www.tela-botanica.org/site:botanique"
onClick="ouvrirNouvelleFenetre(this, event)">
Tela Botanica
</a>
- Map : <a href="http://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>
- Tiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>
</div>
<div id="lien-voir-cc" class="element-overlay">
<a href="<?=$url_base?>cartoPoint?carte=avertissement" title="Show this widget's information and terms of use">
?
</a>
</div>
<!-- Blocs chargés à la demande : par défaut avec un style display à none -->
<!-- Squelette du message de chargement des observations -->
<script id="tpl-chargement" type="text/x-jquery-tmpl">
<div id="chargement" style="height:300px;">
<img src="<?=$url_base?>modules/cartopoint/squelettes/images/chargement.gif" alt="Loading..." />
<p>Loading observations...</p>
</div>
</script>
<!-- Squelette du contenu d'une info-bulle observation -->
<script id="tpl-obs" type="text/x-jquery-tmpl">
<div id="info-bulle" style="width:{largeur}px;">
<div id="obs">
<h2 id="obs-station-titre">Station</h2>
<div class="navigation">&nbsp;</div>
<div>
<ul>
<li><a href="#obs-vue-tableau">Table</a></li>
<li><a href="#obs-vue-liste">List</a></li>
</ul>
</div>
<div id="observations">
<div id="obs-vue-tableau" style="display:none;">
<table id="obs-tableau">
<thead>
<tr>
<th title="User defined scientific name">Name</th>
<th title="Observation date">Date</th>
<th title="Observation location">Location</th>
<th title="Observation author">Author</th>
</tr>
</thead>
<tbody id="obs-tableau-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-tableau -->
</tbody>
</table>
</div>
<div id="obs-vue-liste" style="display:none;">
<ol id="obs-liste-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-liste -->
</ol>
</div>
</div>
<div id="obs-pieds-page">
<p>Id : <span id="obs-station-id">&nbsp;</span></p>
</div>
<div class="navigation">&nbsp;</div>
<div class="conteneur-lien-saisie" style="display:none;">
<a href="#" class="lien-widget-saisie">
Add an observation on this site
</a>
</div>
</div>
</div>
</script>
<!-- Squelette du contenu du tableau des observations -->
<script id="tpl-obs-tableau" type="text/x-jquery-tmpl">
<tr class="cel-obs-${idObs}">
<td>
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</td>
<td class="date">{{if date}}${date}{{else}}&nbsp;{{/if}}</td>
<td class="lieu">{{if lieu}}${lieu}{{else}}&nbsp;{{/if}}</td>
<td>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Write to this contributor">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Write to this contributor">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</td>
</tr>
</script>
<!-- Squelette du contenu de la liste des observations -->
<script id="tpl-obs-liste" type="text/x-jquery-tmpl">
<li>
<div class="cel-obs-${idObs}">
{{if images}}
{{each(index, img) images}}
<div{{if index == 0}} class="cel-img-principale" {{else}} class="cel-img-secondaire"{{/if}}>
<a class="cel-img"
href="${img.normale}"
title="${nomSci} {{if nn != null && nn != 0 && nn != ''}} [${nn}] {{/if}} by ${observateur} - Published on ${datePubli} - GUID : ${img.guid}"
rel="cel-obs-${idObs}">
<img src="${img.miniature}" alt="Image #${img.idImg} for observation #${nn}" />
</a>
<p id="cel-info-${img.idImg}" class="cel-infos">
<a class="cel-img-titre" href="${urlEflore}"
onclick="window.open(this.href);return false;"
title="Click to show eFlore page">
<strong>${nomSci} {{if nn}} [nn${nn}] {{/if}}</strong> by <em>${observateur}</em>
</a>
<br />
<span class="cel-img-date">Published on ${datePubli}</span>
</p>
</div>
{{/each}}
{{/if}}
<dl>
<dt class="champ-nom-sci">Nom</dt>
<dd title="User defined name{{if nn != 0}}. Click to show eFlore page.{{/if}}">
<span class="nom-sci">&nbsp;
{{if nn != null && nn != 0 && nn != ''}}
<a href="${urlEflore}"
onclick="ouvrirNouvelleFenetre(this, event)">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</dd>
<dt title="Observation location">Location</dt><dd class="lieu">&nbsp;${lieu}</dd>
<dt title="Observation date">Date</dt><dd class="date">&nbsp;${date}</dd>
<dt title="Observation author">Published by</dt>
<dd>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Write to this contributor">
${observateur}
</a>
{{else}}
<a class="contact obs-${idObs}"
href="#form-contact"
title="Write to this contributor">
${observateur}
</a>
{{/if}}
{{else}}
&nbsp;
{{/if}}
</dd>
</dl>
<hr class="nettoyage"/>
</div>
</li>
</script>
<!-- Squelette de la liste des taxons -->
<script id="tpl-taxons-liste" type="text/x-jquery-tmpl">
{{each(index, taxon) taxons}}
<li id="taxon-${taxon.nt}">
<span class="taxon" title="Taxinomic number : ${taxon.nt} - Family : ${taxon.famille}">
${taxon.nom} <span class="nt" title="Taxinomic number">${taxon.nt}</span>
</span>
</li>
{{/each}}
</ol>
</script>
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact" style="display:none;">
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue"></div>
<dl>
<dt><label for="fc_sujet">Subject</label></dt>
<dd><input id="fc_sujet" name="fc_sujet"/></dd>
<dt><label for="fc_message">Message</label></dt>
<dd><textarea id="fc_message" name="fc_message"></textarea></dd>
<dt><label for="fc_utilisateur_courriel" title="Use the email address you provided when subscribing to Tela Botanica">Your email address</label></dt>
<dd><input id="fc_utilisateur_courriel" name="fc_utilisateur_courriel"/></dd>
</dl>
<p>
<input id="fc_destinataire_id" name="fc_destinataire_id" type="hidden" value="" />
<input id="fc_copies" name="fc_copies" type="hidden" value="eflore_remarques@tela-botanica.org" />
<input type="hidden" name="fc_type_envoi" id="fc_type_envoi" value="inscrit" />
<button id="fc_annuler" type="button">Cancel</button>
&nbsp;
<button id="fc_effacer" type="reset">Clear</button>
&nbsp;
<input id="fc_envoyer" type="submit" value="Send" />
</p>
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/cartopoint/squelettes/avertissement.tpl.html
New file
0,0 → 1,39
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Avertissements - CEL widget cartographie</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Delphine CAUQUIL, Jean-Pascal MILCENT" />
<meta name="keywords" content="Avertissement, Tela Botanica, cartographie, CEL" />
<meta name="description" content="Avertissement du widget de cartographie des observations publiques de plantes saisies dans le Carnet en Ligne (CEL)" />
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
 
<!-- CSS -->
<link href="<?=$url_base?>modules/cartopoint/squelettes/css/carto.css" rel="stylesheet" type="text/css" media="screen" />
<style>
html {
overflow:auto;
}
body {
overflow:auto;
}
</style>
</head>
<body>
<div id="zone-avertissement">
<?= $contenu_aide; ?>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/cartopoint
New file
Property changes:
Added: svn:ignore
+config.ini
/branches/v3.01-serpe/widget/modules/lg/Lg.php
New file
0,0 → 1,373
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Lg extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'saisie';
const WS_SAISIE = 'CelWidgetSaisie';
const WS_UPLOAD = 'CelWidgetUploadImageTemp';
const WS_IMG_LIST = 'celImage';
const WS_OBS = 'CelObs';
const WS_OBS_LIST = 'InventoryObservationList';
const LANGUE_DEFAUT = 'fr';
const PROJET_DEFAUT = 'lg';
const WS_NOM = 'noms';
const EFLORE_API_VERSION = '0.1';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
$this->bar = (isset($bar)) ? $bar : false;
/* Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
Sinon, rien ne sera chargé.
L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé en framework.php et configuré pour chaque installation de
l'application.
Chemin du fichier chargeant le framework requis */
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
 
}
$langue = (isset($langue)) ? $langue : self::LANGUE_DEFAUT;
$this->langue = I18n::setLangue($langue);
$this->parametres['langue'] = $langue;
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
if (!isset($projet)) {
$this->parametres['projet'] = self::PROJET_DEFAUT;
}
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = '';
if (is_null($retour)) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
} else {
if (isset($retour['donnees'])) {
$retour['donnees']['conf_mode'] = $this->config['parametres']['modeServeur'];
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == 'prod');
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], $this->config['lg']['cheminDos']);
$retour['donnees']['url_ws_annuaire'] = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/');
$retour['donnees']['url_ws_lg'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_SAISIE);
$retour['donnees']['url_ws_obs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS);
$retour['donnees']['url_ws_obs_list'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS_LIST);
$retour['donnees']['url_ws_upload'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_UPLOAD);
$retour['donnees']['url_ws_cel_imgs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/liste-ids?obsId=';
$retour['donnees']['url_ws_cel_img_url'] = str_replace ( '%s.jpg', '{id}XS', $this->config['chemins']['celImgUrlTpl'] );
$retour['donnees']['mode'] = $mode;
$retour['donnees']['langue'] = $langue;
if( isset( $this->parametres['squelette'] ) ) {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS. $this->parametres['squelette'].'.tpl.html';
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
}
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
private function executerSaisie() {
$retour = array();
$retour['squelette'] = 'lg';
$retour['donnees']['general'] = I18n::get('General');
$retour['donnees']['observateur'] = I18n::get('Observateur');
$retour['donnees']['observation'] = I18n::get('Observation');
$retour['donnees']['arbres'] = I18n::get('Arbres');
$retour['donnees']['image'] = I18n::get('Image');
$retour['donnees']['lichens'] = I18n::get('Lichens');
$retour['donnees']['chpsupp'] = I18n::get('Chpsupp');
$retour['donnees']['resume'] = I18n::get('Resume');
$retour['donnees']['widget'] = $this->rechercherProjet();
return $retour;
}
 
/* Recherche si le projet existe sinon va chercher les infos de base */
private function rechercherProjet() {
$tab = array();
$url = $this->config['lg']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$tableau = json_decode($json, true);
$tableau = $this->traiterParametres($tableau[0]);
if (isset($this->parametres['squelette']) && $this->parametres['squelette'] === 'lichens') {
$tableau['type_especes'] = 'liste';
$tableau['referentiel'] = 'taxref';
}
$tableau['especes'] = $this->rechercherInfosEspeces($tableau);
if ($tableau['milieux'] != "") {
$tableau['milieux'] = explode(";", $tableau['milieux']);
} else {
$tableau['milieux'] = array();
}
if (isset($tableau['motscles'])) {
$tableau['tag-obs'] = $tableau['tag-img'] = $tableau['motscles'];
}
$tableau['chpSupp'] = $tab;
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$tableau['chemin_fichiers'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['lg']['imgProjet'] . '/' );
return $tableau;
}
 
// remplace certains parametres définis en bd par les parametres définis dans l'url
private function traiterParametres($tableau) {
$criteres = array('tag-obs', 'tag-img', 'projet', 'titre', 'logo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$tableau[$nom_critere] = $valeur_critere;
}
}
return $tableau;
}
 
private function rechercherInfosEspeces( $infos_projets ) { //print_r($infos_projets);exit;
$retour = array();
$referentiel = $infos_projets['referentiel'];
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$retour['url_ws_autocompletion_ns'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, $referentiel, self::WS_NOM );;
$retour['url_ws_autocompletion_ns_tpl'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM );
$retour['ns_referentiel'] = $referentiel;
 
if ( isset( $infos_projets['type_especes'] ) ) {
 
switch ( $infos_projets['type_especes'] ) {
case 'fixe' :
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['especes'] );
break;
case 'referentiel' : break;
case 'liste' :
$referentiel = $infos_projets['referentiel'];
$retour['taxons'] = $this->recupererListeNomsSci();
break;
}
} else if ( isset( $infos_projets['referentiel'] ) ) {
$referentiel = $infos_projets['referentiel'];
if ( isset($infos_projets['num_nom'] ) ) {
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['num_nom'] );
}
}
return $retour;
}
 
/**
* Consulte un webservice pour obtenir des informations sur le taxon dont le
* numéro nomenclatural est $num_nom (ce sont donc plutôt des infos sur le nom
* et non le taxon?)
* @param string|int $num_nom
* @return array
*/
protected function chargerInfosTaxon( $referentiel, $num_nom ) {
$url_service_infos = sprintf( $this->config['chemins']['infosTaxonUrl'], $referentiel, $num_nom );
$infos = json_decode( file_get_contents( $url_service_infos ) );
// trop de champs injectés dans les infos espèces peuvent
// faire planter javascript
$champs_a_garder = array( 'id', 'nom_sci','nom_sci_complet', 'nom_complet', 'famille','nom_retenu.id', 'nom_retenu_complet', 'num_taxonomique' );
$resultat = array();
$retour = array();
if ( isset( $infos ) && !empty( $infos ) ) {
$infos = (array) $infos;
if ( isset( $infos['nom_sci'] ) && $infos['nom_sci'] !== '' ) {
$resultat = array_intersect_key( $infos, array_flip($champs_a_garder ) );
$resultat['retenu'] = ( $infos['id'] == $infos['nom_retenu.id'] ) ? 'true' : 'false';
$retour['espece_imposee'] = true;
$retour['nn_espece_defaut'] = $nnEspeceImposee;
$retour['nom_sci_espece_defaut'] = $resultat['nom_complet'];
$retour['infos_espece'] = $this->array2js( $resultat, true );
}
}
return $retour;
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
if (!empty($_GET['referentiel']) && $_GET['referentiel'] !== 'autre') {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
}
return $referentiel_impose;
}
 
/**
* Trie par nom français les taxons lus dans le fichier tsv
*/
protected function recupererListeNomsSci() {
$taxons = $this->recupererListeTaxon();
if (is_array($taxons)) {
$taxons = self::trierTableauMd($taxons, array('nom_fr' => SORT_ASC));
}
return $taxons;
}
 
/**
* @TODO documenter
* @return array
*/
protected function recupererListeNoms() {
$taxons = $this->recupererListeTaxon();
$nomsAAfficher = array();
$nomsSpeciaux = array();
if (is_array($taxons)) {
foreach ($taxons as $taxon) {
$nomSciTitle = $taxon['nom_ret'].
($taxon['nom_fr'] != '' ? ' - '.$taxon['nom_fr'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
$nomFrTitle = $taxon['nom_sel'].
($taxon['nom_ret'] != $taxon['nom_sel']? ' - '.$taxon['nom_ret'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
 
if ($taxon['groupe'] == 'special') {
$nomsSpeciaux[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-special');
} else {
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_sel'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-sci');
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_fr'],
'nom_title' => $nomFrTitle,
'nom_type' => 'nom-fr');
}
}
$nomsAAfficher = self::trierTableauMd($nomsAAfficher, array('nom_a_afficher' => SORT_ASC));
$nomsSpeciaux = self::trierTableauMd($nomsSpeciaux, array('nom_a_afficher' => SORT_ASC));
}
return array('speciaux' => $nomsSpeciaux, 'sci-et-fr' => $nomsAAfficher);
}
 
/**
* Lit une liste de taxons depuis un fichier tsv fourni
*/
protected function recupererListeTaxon() {
$taxons = array();
$fichier_tsv = dirname(__FILE__) . self::DS . 'configurations' . self::DS . 'lichens_taxons.tsv';
 
if ( file_exists( $fichier_tsv ) && is_readable( $fichier_tsv ) ) {
$taxons = $this->decomposerFichierTsv( $fichier_tsv );
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'.";
}
return $taxons;
}
 
/**
* Découpe un fihcier csv
*/
protected function decomposerFichierTsv($fichier, $delimiter = "\t"){
$header = null;
$data = array();
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
 
/**
* Convertit un tableau PHP en Javascript - @WTF pourquoi ne pas faire un json_encode ?
* @param array $array
* @param boolean $show_keys
* @return une portion de JSON représentant le tableau
*/
protected function array2js($array,$show_keys) {
$tableauJs = '{}';
if (!empty($array)) {
$total = count($array) - 1;
$i = 0;
$dimensions = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensions[$i] = array2js($value,$show_keys);
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
} else {
$dimensions[$i] = '\"'.addslashes($value).'\"';
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
}
if ($i == 0) {
$dimensions[$i] = '{'.$dimensions[$i];
}
if ($i == $total) {
$dimensions[$i].= '}';
}
$i++;
}
$tableauJs = implode(',', $dimensions);
}
return $tableauJs;
}
}
?>
/branches/v3.01-serpe/widget/modules/lg/config.defaut.ini
New file
0,0 → 1,10
[lg]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/Lg"
cheminDos = "modules/lg/squelettes/"
imgProjet = "modules/lg/configurations/"
/branches/v3.01-serpe/widget/modules/lg/configurations/lichens_taxons.tsv
New file
0,0 → 1,41
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Anaptychia ciliaris 660397 Anaptychia ciliaris 660397 660397
Evernia prunastri 59053 Evernia prunastri 59053 59053
Pseudevernia furfuracea 59009 Pseudevernia furfuracea 59009 59009
Ramalina fastigiata 658984 Ramalina fastigiata 658984 658984
Ramalina fraxinea 59150 Ramalina fraxinea 59150 59150
Ramalina farinacea 59092 Ramalina farinacea 59092 59092
Usnea sp. 198834 Usnea sp. 198834 198834
autre lichen fruticuleux à ramification cylindrique 0 autre lichen fruticuleux à ramification cylindrique 0 0
autre lichen fruticuleux 0 autre lichen fruticuleux 0 0
autre lichen foliacé 0 autre lichen foliacé 0 0
Candelaria concolor 58792 Candelaria concolor 58792 58792
Xanthoria parietina 59568 Xanthoria parietina 59568 59568
Xanthoria polycarpa 658514 Xanthoria polycarpa 658514 658514
Melanohalea exasperata 659402 Melanohalea exasperata 659402 659402
Melanelixia glabratula/subaurifera 652934 Melanelixia glabratula/subaurifera 652934 652934
autres Melanohalea 653099 autres Melanohalea 653099 653099
Physcia leptalea 59906 Physcia leptalea 59906 59906
Physcia adscendens/tenella 196232 Physcia adscendens/tenella 196232 196232
Pleurosticta acetabulum 660486 Pleurosticta acetabulum 660486 660486
Physconia distorta 59979 Physconia distorta 59979 59979
Physconia grisea 59171 Physconia grisea 59171 59171
Hyperphyscia adglutinata 59213 Hyperphyscia adglutinata 59213 59213
Phaeophyscia orbicularis 59961 Phaeophyscia orbicularis 59961 59961
Hypogymnia physodes/tubulosa 193533 Hypogymnia physodes/tubulosa 193533 193533
Parmotrema perlatum/reticulatum 652931 Parmotrema perlatum/reticulatum 652931 652931
Punctelia sp. 652928 Punctelia sp. 652928 652928
Parmelia sulcata 58889 Parmelia sulcata 58889 58889
Hypotrachyna afrorevoluta/revoluta 652938 Hypotrachyna afrorevoluta/revoluta 652938 652938
Flavoparmelia caperata/soredians 652940 Flavoparmelia caperata/soredians 652940 652940
Parmelia saxatilis 58888 Parmelia saxatilis 58888 58888
Parmelina tiliacea/pastillifera 652932 Parmelina tiliacea/pastillifera 652932 652932
Physcia aipolia/stellaris 196232 Physcia aipolia/stellaris 196232 196232
Candelariella sp. 190296 Candelariella sp. 190296 190296
Diploicia canescens 59593 Diploicia canescens 59593 59593
Lecanora sp. 193910 Lecanora sp. 193910 193910
Pertusaria pertusa 659201 Pertusaria pertusa 659201 659201
Amandinea punctata/Lecidella elaeochroma 0 Amandinea punctata/Lecidella elaeochroma 0 0
lichen crustacé à aspect poudreux 0 lichen crustacé à aspect poudreux 0 0
lichens crustace à lirelles 0 lichens crustace à lirelles 0 0
autre lichen crustacé 0 autre lichen crustacé 0 0
/branches/v3.01-serpe/widget/modules/lg/configurations/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/configurations/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/configurations/sauvages_taxons.tsv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/lg/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/lg/squelettes/lg.tpl.html
New file
0,0 → 1,225
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo $widget['titre']; ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne pour Lichens Go!" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL pour Lichens Go!" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne pour Lichens Go!" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link href="<?php echo $url_base; ?>js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE Lichens Go! -->
<link href="<?php echo $url_base; ?>css/lg.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<!-- <link rel="icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/tb-geoloc/tb-geoloc-lib-app.js"></script>
 
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script> -->
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/UtilsLg.js"></script>
<!-- chargement des formulaires -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetLg.js"></script>
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
releve = null;
widget = new WidgetLg();
widget.mode = "<?php echo $conf_mode; ?>";
widget.init();
});
//]]>
</script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/ReleveLg.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/LichensLg.js"></script>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-obs-list="<?php echo $url_ws_obs_list; ?>" data-lang="<?php echo $langue; ?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.png' ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo $general['titre-page'];?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3><?php echo $aide['titre']; ?></h3>
<div id="aide-txt" class="hiden-sm-down">
<p><?php echo $aide['description']; ?></p>
</div>
</div>
</div>
</div>
 
<!-- zone observateur -->
<div id="formulaire" class="row mb-3">
<form id="form-observateur" role="form" autocomplete="on">
<h2 class="mb-3"><?php echo $observateur['titre']; ?></h2>
<div id="tb-observateur" class="row">
 
<div class="control-group col-md-6 col-sm-8 mb-3">
<div id="bloc-connexion">
<h3><?php echo $observateur['compte']; ?></h3>
<label for="courriel" class="col-sm-8 obligatoire">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control has-tooltip" data-toggle="tooltip" type="email" title="<?php echo $observateur['courriel-title']; ?> ">
</div>
 
<label for="mdp" class="col-sm-8 obligatoire">
<i class="fas fa-user-lock"></i>
<?php echo $observateur['mdp']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="mdp" name="mdp" class="form-control has-tooltip" data-toggle="tooltip" type="password" title="<?php echo $observateur['mdp-title']; ?> ">
</div>
 
<div id="boutons-connexion" class="col-sm-8 ml-3">
<a id="inscription" href="" class="mb-1" taget="_blank"><?php echo $observateur['inscription']; ?></a>
<a id="oublie" href="" class="float-right pr-3 mb-1" taget="_blank"><?php echo $observateur['oublie']; ?></a>
<div class="mt-3">
<a id="connexion" href="" class="float-right mr-3 btn btn-success" taget="_blank"><?php echo $observateur['connexion']; ?></a>
</div>
</div>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte"><?php echo $observateur['bienvenue']; ?></label>
<a href="" class="list-tool btn btn-large btn-info volet-toggle" data-toggle="volet">
<span id="nom-complet"></span> <!-- <i class="fas fa-caret-down"></i> -->
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" taget="_blank"><?php echo $observateur['profil']; ?></a>
</div>
<div id="deconnexion"><a href=""><?php echo $observateur['deconnexion']; ?></a></div>
</div>
</div>
<p id="nb-releves-bienvenue" class="hidden">
<?php echo $observateur['releves-deb'];?>
<span class="font-weight-bold nb-releves">0</span>
<?php echo $observateur['releves-fin'];?>
</p>
</div>
<div id="releves-utilisateur" class="col-md-6 col-sm-8 mt-3">
<div id="bouton-list-releves" class="mb-3 btn btn-info hidden">
<i class="fas fa-history"></i>&nbsp;<?php echo $observateur['reprendre-releve']; ?>
</div>
<div class="table-responsive mb-3">
<table id="table-releves" class="table table-hover hidden">
<tbody id="list-releves" class="border-0">
</tbody>
</table>
</div>
<div id="bouton-nouveau-releve" class="mb-3 btn btn-info hidden">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $observateur['creer-releve']; ?>
</div>
</div>
</div>
</form><!-- fin zone observateur -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertni-title']; ?></h4>
<p><?php echo $observateur['alertni']; ?></p>
</div>
</div>
<!-- zone relevé -->
 
<!-- zone chargement arbres lichens -->
<div id="charger-form" data-mode="<?php echo $conf_mode; ?>" data-load="arbres"></div>
<!-- fin zone chargement formulaire -->
 
</div><!-- fin formulaire -->
 
</div><!-- fin Layout-wrapper page -->
</div><!-- fin zone-appli -->
 
<div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="help-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
<input id="prenom" name="prenom" type="hidden">
<input id="nom" name="nom" type="hidden">
<input id="lg-obs" type="hidden" value="">
<input id="releve-data" type="hidden" value="">
<input id="dates-rues-communes" type="hidden" value="">
<input id="img-releve-data" type="hidden" value="">
</body>
</html>
/branches/v3.01-serpe/widget/modules/lg/squelettes/lichens.tpl.html
New file
0,0 → 1,313
<div id="zone-lichens" class="bloc-top">
<h2 class="mb-3"><?php echo $lichens['titre']; ?></h2>
<div id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="lichens">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $lichens['poursuivre-lichens']; ?>
</div>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-lichens" class="">
<form id="form-lichens" role="form" autocomplete="off">
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="<?php echo $lichens['arbre-title']; ?>">
<i class="fas fa-tree" aria-hidden="true"></i>
<?php echo $general['arbre']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $lichens['arbre-title']; ?>" required>
<option value="" selected hidden><?php echo $general['numero-arbre']; ?></option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $general['date']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<div id="bloc-taxon" class="control-group">
<label for="taxon-liste" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?><!-- (<?php echo $widget['referentiel']; ?>)-->
</label>
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $general['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $general['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire" title="">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option value="" hidden selected><?php echo $general['choisir']; ?></option>
<option value="à déterminer" class="aDeterminer"><?php echo $general['certADet']; ?></option>
<option value="douteuse" class="douteuse"><?php echo $general['certDout']; ?></option>
<option value="certaine" class="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire" title="<?php echo $lichens['loc-tronc-title']; ?>">
<i class="fas fa-cube" aria-hidden="true"></i>
<?php echo $lichens['loc-tronc']; ?>
</div>
<table class="table col-sm-8">
<thead>
<tr>
<th scope="col">Face :</th>
<th scope="col"><?php echo $general['nord']; ?></th>
<th scope="col"><?php echo $general['est']; ?></th>
<th scope="col"><?php echo $general['sud']; ?></th>
<th scope="col"><?php echo $general['ouest']; ?></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1 (haut)</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n1" value="n1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s1" value="s1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e1" value="e1"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o1" value="o1"></td>
</tr>
<tr>
<th scope="row">2</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n2" value="n2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s2" value="s2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e2" value="e2"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o2" value="o2"></td>
</tr>
<tr>
<th scope="row">3</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n3" value="n3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s3" value="s3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e3" value="e3"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o3" value="o3"></td>
</tr>
<tr>
<th scope="row">4</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n4" value="n4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s4" value="s4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e4" value="e4"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o4" value="o4"></td>
</tr>
<tr>
<th scope="row">5 (bas)</th>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-n5" value="n5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-s5" value="s5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-e5" value="e5"></td>
<td><input type="checkbox" name="lichens-tronc" id="lichens-tronc-o5" value="o5"></td>
</tr>
</tbody>
</table>
</div>
 
<div class="">
<label for="commentaire" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $lichens['titre-photos']; ?>
</div>
<p id="miniature-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-primary"><i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?></button>
</div>
</div>
</div>
</div><!-- fin formulaire lichens -->
<!-- zone résumé obs lichens ( =zone de droite) -->
<div id="bloc-lichens-droite" class="col-md-6">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $lichens['alert-img-tax']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin lichens zone résumé obs ( =zone de droite ) -->
</div>
<script type="text/javascript">
releve = null;
lichens = null;
lichens = new LichensLg();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
lichens.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
lichens.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
lichens.tagProjet = "WidgetLg,lichens";
// Mots-clés à ajouter aux images
lichens.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
lichens.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
lichens.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + lichens.separationTagImg + lichens.tagImg" : 'lichens.tagImg'; ?>;
// Mots-clés à ajouter aux observations
lichens.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
lichens.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
lichens.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + lichens.separationTagObs + lichens.tagObs" : 'lichens.tagObs'; ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
lichens.serviceSaisieUrl = "<?php echo $url_ws_lg; ?>";
 
// URL de l'icône du chargement en cours d'une image
lichens.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
lichens.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
lichens.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
lichens.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
lichens.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
lichens.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + lichens.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
lichens.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + lichens.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
lichens.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
lichens.dureeMessage = 10000;
 
// Initialisation du bousin
lichens.init();
</script>
</div>
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/lg.css
New file
0,0 → 1,798
@CHARSET "UTF-8";
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
}
 
#zone-appli {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.9);
margin-top: 2rem;
}
 
#zone-appli .zone-alerte{
width: 100%;
}
 
#logo {
max-width: 100%;
}
 
h1, h2, h3, h4, h5 {
font-family: Muli,sans-serif;
color: #606060;
font-weight: 700;
}
 
form {
font-family: Muli,sans-serif;
float: none;
}
 
h1 {
font-weight: 700;
font-size: 2rem;
}
 
#zone-appli .form-block {
margin-bottom: 2rem;
}
 
h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
h3 {
font-size: 1.2rem;
}
 
ul {
padding-inline-start: 0;
}
 
#zone-appli .obligatoire::before {
content: '*';
position: absolute;
left: 0;
}
 
.btn.focus,
.btn:focus {
box-shadow: none;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse {
color: #fff !important;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse,
.btn.btn-outline-primary,
.btn.btn-outline-info,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-inverse {
border-radius: 0.15rem;
}
 
button {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #a2b93b;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
border-bottom-style: none;
border-bottom-width: 0;
border-image-outset: 0 0 0 0;
border-image-repeat: stretch stretch;
border-image-slice: 100% 100% 100% 100%;
border-image-source: none;
border-image-width: 1 1 1 1;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: 0;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: 0;
border-top-color: currentcolor;
border-top-left-radius: 0.2rem;
border-top-right-radius: 0.2rem;
border-top-style: none;
border-top-width: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 1.5rem;
padding-bottom: 1.25rem;
padding-left: 2rem;
padding-right: 2rem;
padding-top: 1.25rem;
text-align: center;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-transform: uppercase;
transition-delay: 0s;
transition-duration: 0.2s;
transition-property: background;
transition-timing-function: ease;
}
 
.table tr,
.table td,
.table th,
.table thead {
border: none !important;
}
 
.mb2,
.mb-3 {
align-self: start;
}
 
label,
#zone-appli .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli .form-inline label,
#zone-appli .form-inline .list-label {
align-items: start;
align-self: start;
justify-content: left;
align-content: flex-start;
}
 
h1#widget-titre::before {
content: "";
display: block;
height: 100%;
left: -5rem;
position: absolute;
width: 0.4rem;
}
 
h1#widget-titre {
font-size: 2.6rem;
font-weight: 700;
line-height: 3.2rem;
margin-bottom: 0;
margin-left: 0;
margin-right: 0;
margin-top: 0;
position: relative;
color: #232323;
font-family: Ubuntu,sans-serif;
}
 
#zone-appli .hidden {
display: none !important;
}
 
#zone-appli .warning {
color: #ff5d55;
font-weight: 700;
}
 
#photos-conteneur label.label-file.error,
.control-group.error #connexion,
.control-group.error #bouton-inscription,
.control-group.error #bouton-anonyme,
.control-group.error .geoloc,
.control-group.error input,
.control-group.error select,
.control-group.error textarea,
.obs-erreur,
#releve-date.erreur {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
.control-group .erreur,
.control-group.error,
span.error {
color: #b94a48 !important;
}
 
#zone-appli .centre {
margin: 0 auto !important;
justify-content: center !important;
}
 
#zone-appli .droite {
float: right;
}
 
#zone-appli .info {
padding: 1rem;
background-color: #ccecf1;
border-color: #7ccedb;
color: #006979;
fill: #006979;
border-radius: 0.2rem;
}
 
#zone-appli .clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
 
#zone-appli .ui-widget{
font-family: Muli,sans-serif;
}
 
#zone-appli .form-inline .form-control {
width: 100%;
}
 
#zone-appli #logo_hires {
display: none;
}
#zone-appli .logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
#zone-appli .bloc-top {
border-top: 1px solid rgba(0,0,0,.1);
padding-top: 1rem;
}
 
#zone-appli .bloc-bottom {
border-bottom: 1px solid rgba(0,0,0,.1);
padding-bottom: 1rem;
}
 
.unstyled {
list-style-type: none;
}
 
#zone-appli #formulaire form {
margin-bottom: 1.5rem;
}
 
input[type="checkbox"],
input[type="radio"],
input.radio,
input.checkbox {
vertical-align:text-top;
padding: 0;
margin-right: 10px;
position:relative;
overflow:hidden;
top:2px;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkbox label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label,
#zone-appli #formulaire #form-supp #zone-supp .radio label {
align-items: center;
display: flex;
font-weight: 400;
}
 
/*************************************************************************/
 
form#form-observateur,
form#form-observation,
form#form-supp,
#tb-navigation,
#tb-navbar{
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
flex-direction: row;
}
 
#tb-navbar {
margin-bottom: 0;
}
 
.volet {
height: 5rem;
}
 
#anonyme {
height: auto;
}
 
#bouton-connexion,
#creation-compte {
display: -ms-flexbox;
display: flex;
height: 5rem;
-webkit-box-flex: 1;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
justify-content: left;
align-items: flex-start;
align-content: flex-middle;
}
 
.nav > .volet #bouton-anonyme,
.nav > .volet #bouton-inscription {
width: auto;
}
 
.nav > .volet > a {
margin-left: 0.2rem;
}
 
#bouton-poursuivre,
.charger-releve,
#soumettre-releve,
#connexion,
#ajouter-obs,
#transmettre-obs {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#bouton-poursuivre:focus,
#bouton-poursuivre:hover,
.charger-releve:focus,
.charger-releve:hover,
#soumettre-releve:focus,
#soumettre-releve:hover,
#connexion:focus,
#connexion:hover,
#transmettre-obs:focus,
#transmettre-obs:hover,
#ajouter-obs:focus,
#ajouter-obs:hover {
background-color: #a2b93b;
border: none;
}
 
#utilisateur-connecte.volet {
padding-left: 2rem;
}
 
#utilisateur-connecte.volet > a {
margin-left: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur,
#utilisateur-connecte.volet #deconnexion {
padding: 0 0.75rem;
margin: 0.2rem 0;
}
 
#utilisateur-connecte.volet .volet-menu a {
font-size: 0.8rem;
font-weight: 400;
color: #606060;
background: inherit;
text-decoration: none;
display: block;
width: 100%;
padding-left: 5px;
line-height: 25px;
outline: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur:hover,
#utilisateur-connecte.volet #deconnexion:hover,
#utilisateur-connecte.volet #profil-utilisateur:focus,
#utilisateur-connecte.volet #deconnexion:focus {
background: #b2cb43;
}
 
#utilisateur-connecte.volet .volet-menu a:hover,
#utilisateur-connecte.volet .volet-menu a:focus {
color: #fff;
}
 
#utilisateur-connecte .volet-menu {
position: absolute;
z-index: 1000;
min-width: auto;
list-style: none;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
 
.volet-menu div a {
color: #222;
}
 
#utilisateur-connecte .volet-toggle::after {
font-family: "Font Awesome 5 Free";
font-size: 0.8rem;
font-weight: 900;
content: '\f0d7'
}
 
.releve-info {
font-size: 0.8rem;
}
 
/*************************************************************************/
 
#zone-appli #formulaire #form-supp #zone-supp .multiselect.list-checkbox {
padding: 0;
margin: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp select,
#zone-appli #formulaire #form-supp #zone-supp .selectBox select {
background-color: #fff;
border: 1px solid #ced4da;
}
 
#form-supp select,
#form-supp .selectBox select{
border-radius: 0.3rem;
}
 
#form-supp .select-wrapper,
#zone-appli #formulaire #form-supp #zone-supp .selectBox {
position: relative;
z-index: 1000;
border-radius: 0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox .focus {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
 
#zone-appli #formulaire #form-supp #zone-supp .input-group .select-wrapper {
border:none;
}
 
#zone-appli #formulaire #form-supp #zone-supp .overSelect {
position: absolute;
z-index: 999;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes {
position: absolute;
z-index: 1001;
top: 120%;
left: 1rem;
right: 1rem;
background-color: #fff;
border: 1px solid #ced4da;
border-top: 0;
border-radius: 0 0 0.3rem 0.3rem;
margin-top: -0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .label label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label {
display: block;
padding: 0.5rem;
font-weight: 400;
margin:0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label:hover {
background: #1e90ff;
color: #fff;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox select option {
padding-block-start: 0;
padding-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .collect-other {
margin: 0.5rem;
width: 90%;
}
 
/*************************************************************************/
 
.range-values {
color: #606060;
}
 
.range-live-value {
padding-top: 1rem;
font-size: 1rem;
}
 
/*******************************************/
 
.label-file {
overflow: hidden;
position: relative;
cursor: pointer;
border-radius: 0.25rem;
font-weight: 400;
font-size: 0.9rem;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: .375rem .75rem;
line-height: 1.5;
transition:
color .15s ease-in-out,
background-color .15s ease-in-out,
border-color .15s ease-in-out,
box-shadow .15s ease-in-out;
margin: 0;
}
 
.label-file [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
 
.label-file [type=file] {
cursor: pointer;
}
 
/*************************************/
 
#miniatures .miniature {
position: relative;
display: inline-block;
 
}
 
#miniatures .miniature .miniature-img {
vertical-align: top;
width: 5rem;
height: 100%;
}
 
#miniatures .miniature .effacer-miniature {
display: flex;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
font-size: 2rem;
background-color: rgba(0, 0, 0, 0.3);
opacity: 0;
color: #ff5d55;
padding: 0;
margin: 0;
height: 100%;
width: 100%;
align-items:center;
justify-content: center;
cursor: pointer;
}
 
#miniatures .miniature .effacer-miniature:hover,
#miniatures .miniature .effacer-miniature:focus {
opacity: 1;
}
 
.obs {
height: 10rem;
padding: 1rem;
border-radius: 0.25rem;
background-color: #fbfbfb;
border: 1px solid #eee;
}
 
.obs .nom-sci {
font-size: 1rem;
}
 
.defilement-miniatures .defilement-miniatures-cache,
.defilement-miniatures .miniature-cachee {
display: none;
}
 
.defilement-miniatures {
display: flex;
align-items:center;
justify-content: center;
height: 8rem;
}
.defilement-miniatures figure {
display: inline-block;
min-height: 8rem;
line-height: 8rem;
text-align: center;
min-width: 80%;
width: 80%;
margin:0 auto;
padding: 0;
}
 
.miniature-selectionnee {
vertical-align: middle;
max-height: 8rem;
max-width: 80%;
}
 
.defilement-miniatures-gauche,
.defilement-miniatures-droite {
display: inline-block;
color: #5bc0de;
vertical-align: middle;
outline-style: none;
}
 
.defilement-miniatures-gauche:active,
.defilement-miniatures-droite:active,
.defilement-miniatures-gauche:focus,
.defilement-miniatures-droite:focus {
color: #499fb7;
}
 
.defilement-miniatures-gauche:hover,
.defilement-miniatures-droite:hover {
color: #499fb7;
}
 
#zone-prenom-nom #prenom,
#zone-prenom-nom #nom {
z-index: 0;
}
 
#transmettre-obs{
text-align: right;
}
 
#zone-liste-obs h2.transmission-title {
display: inline-block;
}
 
footer a {
display: inline-block;
}
 
.help-button {
float: right;
}
 
#image-fond {
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
min-width: 100%;
background-attachment: fixed;
margin: 0;
padding: 0;
}
 
.modal-open, body.modal-open {
overflow: inherit !important;
}
 
.custom-range {
border: none;
}
 
/*************************************/
#charger-form,
#zone-arbres,
#zone-lichens {
min-width: 100%;
}
 
/*volet autocompletion des taxons*/
.ui-autocomplete {
z-index: 1000 !important;
}
 
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
#titre-projet {
font-size: 1.5rem;
}
 
h2 {
font-size: 1.3rem;
}
 
#logo {
max-width: 80%;
}
 
#bouton-connexion, #creation-compte {
display: block;
width: 100%;
position: static;
}
 
.nav {
flex-direction: column;
}
 
#transmettre-obs.droite {
float: none;
}
 
.obs {
height: auto;
}
 
.obs .unstyled {
font-size: 0.6rem;
}
 
.obs .nom-sci {
font-size: 0.8rem;
}
 
.supprimer-obs {
overflow: hidden;
}
 
#image-fond {
display: none;
}
}
 
 
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-grid.css
New file
0,0 → 1,1339
@-ms-viewport {
width: device-width;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-overflow-style: scrollbar;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
/*# sourceMappingURL=bootstrap-grid.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-reboot.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null]}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css
New file
0,0 → 1,0
@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-reboot.css
New file
0,0 → 1,459
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css
New file
0,0 → 1,0
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"AAAA;;;;;GAKG;ACLH,4EAA4E;AAY5E;EACE,wBAAuB;EACvB,kBAAiB;EACjB,2BAA0B;EAC1B,+BAA8B;CAC/B;;AASD;EACE,UAAS;CACV;;AAMD;;;;;;EAME,eAAc;CACf;;AAOD;EACE,eAAc;EACd,iBAAgB;CACjB;;AAUD;;;EAGE,eAAc;CACf;;AAMD;EACE,iBAAgB;CACjB;;AAOD;EACE,gCAAuB;UAAvB,wBAAuB;EACvB,UAAS;EACT,kBAAiB;CAClB;;AAOD;EACE,kCAAiC;EACjC,eAAc;CACf;;AAUD;EACE,8BAA6B;EAC7B,sCAAqC;CACtC;;AAOD;;EAEE,iBAAgB;CACjB;;AAOD;EACE,oBAAmB;EACnB,2BAA0B;EAC1B,kCAAiC;CAClC;;AAMD;;EAEE,qBAAoB;CACrB;;AAMD;;EAEE,oBAAmB;CACpB;;AAOD;;;EAGE,kCAAiC;EACjC,eAAc;CACf;;AAMD;EACE,mBAAkB;CACnB;;AAMD;EACE,uBAAsB;EACtB,YAAW;CACZ;;AAMD;EACE,eAAc;CACf;;AAOD;;EAEE,eAAc;EACd,eAAc;EACd,mBAAkB;EAClB,yBAAwB;CACzB;;AAED;EACE,gBAAe;CAChB;;AAED;EACE,YAAW;CACZ;;AASD;;EAEE,sBAAqB;CACtB;;AAMD;EACE,cAAa;EACb,UAAS;CACV;;AAMD;EACE,mBAAkB;CACnB;;AAMD;EACE,iBAAgB;CACjB;;AAUD;;;;;EAKE,wBAAuB;EACvB,gBAAe;EACf,kBAAiB;EACjB,UAAS;CACV;;AAOD;;EAEE,kBAAiB;CAClB;;AAOD;;EAEE,qBAAoB;CACrB;;AAQD;;;;EAIE,2BAA0B;CAC3B;;AAMD;;;;EAIE,mBAAkB;EAClB,WAAU;CACX;;AAMD;;;;EAIE,+BAA8B;CAC/B;;AAMD;EACE,0BAAyB;EACzB,cAAa;EACb,+BAA8B;CAC/B;;AASD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,eAAc;EACd,eAAc;EACd,gBAAe;EACf,WAAU;EACV,oBAAmB;CACpB;;AAOD;EACE,sBAAqB;EACrB,yBAAwB;CACzB;;AAMD;EACE,eAAc;CACf;;AChKD;;EDyKE,+BAAsB;UAAtB,uBAAsB;EACtB,WAAU;CACX;;ACrKD;;ED6KE,aAAY;CACb;;ACzKD;EDiLE,8BAA6B;EAC7B,qBAAoB;CACrB;;AC9KD;;EDsLE,yBAAwB;CACzB;;AAOD;EACE,2BAA0B;EAC1B,cAAa;CACd;;AAUD;;EAEE,eAAc;CACf;;AAMD;EACE,mBAAkB;CACnB;;AASD;EACE,sBAAqB;CACtB;;AAMD;EACE,cAAa;CACd;;AC9MD;EDwNE,cAAa;CACd;;AEjcC;EACE;;;;;;;;;;;IAcE,6BAA4B;IAE5B,oCAA2B;YAA3B,4BAA2B;GAC5B;EAED;;IAEE,2BAA0B;GAC3B;EAOD;IACE,8BAA6B;GAC9B;EAaD;IACE,iCAAgC;GACjC;EACD;;IAEE,uBAAgC;IAChC,yBAAwB;GACzB;EAOD;IACE,4BAA2B;GAC5B;EAED;;IAEE,yBAAwB;GACzB;EAED;;;IAGE,WAAU;IACV,UAAS;GACV;EAED;;IAEE,wBAAuB;GACxB;EAKD;IACE,cAAa;GACd;EACD;IACE,uBAAgC;GACjC;EAED;IACE,qCAAoC;GAMrC;EAPD;;IAKI,kCAAiC;GAClC;EAEH;;IAGI,kCAAiC;GAClC;CDsMN;;AElSD;EACE,+BAAsB;UAAtB,uBAAsB;CACvB;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AAmBC;EAAgB,oBAAmB;CFqRpC;;AE7QD;EAYE,8BAA6B;EAG7B,yCAA0C;CAC3C;;AAED;EACE,mHC2K4H;ED1K5H,gBC+KmB;ED9KnB,oBCmLyB;EDlLzB,iBCsLoB;EDpLpB,eC0BiC;EDxBjC,uBCYW;CDXZ;;AFkQD;EE1PE,yBAAwB;CACzB;;AAWD;EACE,cAAa;EACb,qBAAoB;CACrB;;AAMD;EACE,cAAa;EACb,oBAAmB;CACpB;;AAGD;;EAGE,aAAY;CACb;;AAED;EACE,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;CACrB;;AAED;;;EAGE,cAAa;EACb,oBAAmB;CACpB;;AAED;;;;EAIE,iBAAgB;CACjB;;AAED;EACE,kBCgHqB;CD/GtB;;AAED;EACE,qBAAoB;EACpB,eAAc;CACf;;AAED;EACE,iBAAgB;CACjB;;AAOD;EACE,eC/Dc;EDgEd,sBC8B0B;CDxB3B;;AEtJG;EFmJA,eC4B4C;ED3B5C,2BC4B6B;CC7K5B;;AF2JL;EACE,eAAc;EACd,sBAAqB;CAUtB;;AE1KG;EFmKA,eAAc;EACd,sBAAqB;CEjKpB;;AF2JL;EAUI,WAAU;CACX;;AAQH;EAEE,cAAa;EAEb,oBAAmB;EAEnB,eAAc;CACf;;AAOD;EAGE,iBAAgB;CACjB;;AAOD;EAGE,uBAAsB;CAGvB;;AF2MD;EEjME,gBAAe;CAChB;;AAaD;;;;;;;;;EASE,+BAA0B;MAA1B,2BAA0B;CAC3B;;AAOD;EAEE,0BAAyB;EAEzB,8BCoEyC;CDnE1C;;AAED;EACE,qBC6DoC;ED5DpC,wBC4DoC;ED3DpC,eC3KiC;ED4KjC,iBAAgB;EAChB,qBAAoB;CACrB;;AAED;EAEE,iBAAgB;CACjB;;AAOD;EAEE,sBAAqB;EACrB,qBAAoB;CACrB;;AAMD;EACE,oBAAmB;EACnB,2CAA0C;CAC3C;;AAED;;;;EAME,qBAAoB;CACrB;;AAED;;EAMI,oBC4IwC;CD3IzC;;AAIH;;;;EASE,4BAA2B;CAC5B;;AAED;EAEE,iBAAgB;CACjB;;AAED;EAME,aAAY;EAEZ,WAAU;EACV,UAAS;EACT,UAAS;CACV;;AAED;EAEE,eAAc;EACd,YAAW;EACX,WAAU;EACV,qBAAoB;EACpB,kBAAiB;EACjB,qBAAoB;CACrB;;AAED;EAKE,yBAAwB;CACzB;;AAGD;EACE,sBAAqB;CAItB;;AF0ID;EEtIE,yBAAwB;CACzB;;AGhYD;;EAEE,sBFuQoC;EEtQpC,qBFuQ8B;EEtQ9B,iBFuQ0B;EEtQ1B,iBFuQ0B;EEtQ1B,eFuQ8B;CEtQ/B;;AAED;EAAU,kBFyPW;CEzPiB;;AACtC;EAAU,gBFyPS;CEzPmB;;AACtC;EAAU,mBFyPY;CEzPgB;;AACtC;EAAU,kBFyPW;CEzPiB;;AACtC;EAAU,mBFyPY;CEzPgB;;AACtC;EAAU,gBFyPS;CEzPmB;;AAEtC;EACE,mBFyQwB;EExQxB,iBFyQoB;CExQrB;;AAGD;EACE,gBFwPkB;EEvPlB,iBF4PuB;EE3PvB,iBFmP0B;CElP3B;;AACD;EACE,kBFoPoB;EEnPpB,iBFwPuB;EEvPvB,iBF8O0B;CE7O3B;;AACD;EACE,kBFgPoB;EE/OpB,iBFoPuB;EEnPvB,iBFyO0B;CExO3B;;AACD;EACE,kBF4OoB;EE3OpB,iBFgPuB;EE/OvB,iBFoO0B;CEnO3B;;AAOD;EACE,iBFuFa;EEtFb,oBFsFa;EErFb,UAAS;EACT,yCFuCW;CEtCZ;;AAOD;;EAEE,eF+NmB;EE9NnB,oBF6LyB;CE5L1B;;AAED;;EAEE,eFuOiB;EEtOjB,0BFinBsC;CEhnBvC;;AAOD;EC7EE,gBAAe;EACf,iBAAgB;CD8EjB;;AAGD;EClFE,gBAAe;EACf,iBAAgB;CDmFjB;;AACD;EACE,sBAAqB;CAKtB;;AAND;EAII,kBFyNqB;CExNtB;;AASH;EACE,eAAc;EACd,0BAAyB;CAC1B;;AAGD;EACE,qBF8Ba;EE7Bb,oBF6Ba;EE5Bb,mBFwLgD;EEvLhD,mCFJiC;CEKlC;;AAED;EACE,eAAc;EACd,eAAc;EACd,eFXiC;CEgBlC;;AARD;EAMI,uBAAsB;CACvB;;AAIH;EACE,oBFYa;EEXb,gBAAe;EACf,kBAAiB;EACjB,oCFtBiC;EEuBjC,eAAc;CACf;;AAED;EAEI,YAAW;CACZ;;AAHH;EAKI,uBAAsB;CACvB;;AEtIH;ECIE,gBAAe;EAGf,aAAY;CDLb;;AAID;EACE,iBJ22BkC;EI12BlC,uBJ+EW;EI9EX,uBJ42BgC;EMx3B9B,uBN4T2B;EOjTzB,yCPg3B2C;EOh3B3C,oCPg3B2C;EOh3B3C,iCPg3B2C;EKp3B/C,gBAAe;EAGf,aAAY;CDSb;;AAMD;EAEE,sBAAqB;CACtB;;AAED;EACE,sBAA8B;EAC9B,eAAc;CACf;;AAED;EACE,eJ41B4B;EI31B5B,eJmEiC;CIlElC;;AIzCD;;;;EAIE,kFRmP2F;CQlP5F;;AAGD;EACE,uBR26BiC;EQ16BjC,eRy6B+B;EQx6B/B,eR26BmC;EQ16BnC,0BRiGiC;EM1G/B,uBN4T2B;CQ1S9B;;AALC;EACE,WAAU;EACV,eAAc;EACd,0BAAyB;CAC1B;;AAIH;EACE,uBR25BiC;EQ15BjC,eRy5B+B;EQx5B/B,YRkEW;EQjEX,0BR6EiC;EMtG/B,sBN8T0B;CQ3R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBR6NmB;CQ3NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eRs4B+B;EQr4B/B,eR2DiC;CQjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBRm4BiC;EQl4BjC,mBAAkB;CACnB;;AC1DC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZgvBF;;AchsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZuvBF;;AcvsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZ8vBF;;Ac9sBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZqwBF;;AcrtBG;EFnDF;ICkBI,aVqMK;IUpML,gBAAe;GDhBlB;CZ4wBF;;Ac5tBG;EFnDF;ICkBI,aVsMK;IUrML,gBAAe;GDhBlB;CZmxBF;;AcnuBG;EFnDF;ICkBI,aVuMK;IUtML,gBAAe;GDhBlB;CZ0xBF;;Ac1uBG;EFnDF;ICkBI,cVwMM;IUvMN,gBAAe;GDhBlB;CZiyBF;;AYxxBC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZqyBF;;AchwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ4yBF;;AcvwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZmzBF;;Ac9wBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ0zBF;;AYlzBC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B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EY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB4WmC;CiB5TpC;;AhBjDG;EiBMA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,uDlB6V+B;UkB7V/B,+ClB6V+B;CkB3VlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBqViC;CkBpVlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBpDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBvDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhB1DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB7DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBgDc;CiBxBf;;AhBlEG;EiB6CA,YAPoD;EAQpD,0BlB4CY;EkB3CZ,sBlB2CY;CC1FS;;AiBkDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBsUmC;EkBrUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBlBmUmC;CiBxSpC;;AhBrEG;EiB6CA,YAPoD;EAQpD,uBlB+TiC;EkB9TjC,mBlB8TiC;CC7WZ;;AiBkDvB;EAEE,uDlByTiC;UkBzTjC,+ClByTiC;CkBxTlC;;AAED;EAEE,YlBoTiC;EkBnTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBlB4SiC;EkB3SjC,mBlB2SiC;CkB1SlC;;ADGH;EC/BE,elBoDc;EkBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBiDc;CiBnBf;;AhBxEG;EiB6CA,YAPoD;EAQpD,0BlB6CY;EkB5CZ,sBlB4CY;CC3FS;;AiBkDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB+Cc;CiBdf;;AhB3EG;EiB6CA,YAPoD;EAQpD,0BlB2CY;EkB1CZ,sBlB0CY;CCzFS;;AiBkDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB6Cc;CiBTf;;AhB9EG;EiB6CA,YAPoD;EAQpD,0BlByCY;EkBxCZ,sBlBwCY;CCvFS;;AiBkDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB4Cc;CiBLf;;AhBjFG;EiB6CA,YAPoD;EAQpD,0BlBwCY;EkBvCZ,sBlBuCY;CCtFS;;AiBkDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADsBH;EACE,oBjB4JyB;EiB3JzB,ejBDc;EiBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBzGC;EgB2GA,0BAAyB;ChB3GJ;;AAUrB;EgBoGA,ejB2E4C;EiB1E5C,2BjB2E6B;EiB1E7B,8BAA6B;ChBnG5B;;AgB4EL;EA0BI,ejBjB+B;CiBsBhC;;AhB9GC;EgB4GE,sBAAqB;ChBzGtB;;AgBmHL;ECxDE,wBlB4TqC;EkB3TrC,mBlByKsB;EMxPpB,sBN6T0B;CiBpL7B;;AACD;EC5DE,wBlByToC;EkBxTpC,oBlB0KsB;EMzPpB,sBN8T0B;CiBjL7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkPoC;CiBjPrC;;AAGD;;;EAII,YAAW;CACZ;;AExKH;EACE,WAAU;EZcN,yCP2TsC;EO3TtC,oCP2TsC;EO3TtC,iCP2TsC;CmBnU3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;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S2B;C+BnT1B;;AALL;EzBSI,oCN+S2B;EM9S3B,iCN8S2B;C+B9S1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,oB/BibwC;E+BhbxC,uB/B8DS;E+B7DT,mB/BmoBuC;C+BloBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BqmB0C;E+BpmB1C,kBAAiB;EACjB,kB/BymBwC;E+BxmBxC,e/ByDc;E+BxDd,uB/BkDW;E+BjDX,uB/B2mByC;C+BnmB1C;;A9BjCG;E8B4BA,e/BmJ4C;E+BlJ5C,sBAAqB;EACrB,0B/B2D+B;E+B1D/B,mB/BymBuC;CCroBtC;;A+BpBH;EACE,wBhC6oBwC;EgC5oBxC,mBhCuPoB;CgCtPrB;;AAIG;E1BqBF,kCNkS0B;EMjS1B,+BNiS0B;CgCrTvB;;AAGD;E1BEF,mCNgT0B;EM/S1B,gCN+S0B;CgChTvB;;AAdL;EACE,wBhC2oBuC;EgC1oBvC,oBhCwPoB;CgCvPrB;;AAIG;E1BqBF,kCNmS0B;EMlS1B,+BNkS0B;CgCtTvB;;AAGD;E1BEF,mCNiT0B;EMhT1B,gCNgT0B;CgCjTvB;;ACZP;EACE,sBAAqB;EACrB,sBjCowBgC;EiCnwBhC,ejCiwB+B;EiChwB/B,kBjCwPqB;EiCvPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBN4T2B;CiC3S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCPG;EgCaA,YjC6DS;EiC5DT,sBAAqB;EACrB,gBAAe;ChCZd;;AgCqBL;EACE,qBjCiuBgC;EiChuBhC,oBjCguBgC;EM1wB9B,qBN6wB+B;CiCjuBlC;;AAMD;ECnDE,0BlCyGiC;CiCpDlC;;AhCpCG;EiCbE,0BAAqC;CjCgBtC;;AgCmCL;ECvDE,0BlCiGc;CiCxCf;;AhCxCG;EiCbE,0BAAqC;CjCgBtC;;AgCuCL;EC3DE,0BlCgGc;CiCnCf;;AhC5CG;EiCbE,0BAAqC;CjCgBtC;;AgC2CL;EC/DE,0BlCkGc;CiCjCf;;AhChDG;EiCbE,0BAAqC;CjCgBtC;;AgC+CL;ECnEE,0BlC8Fc;CiCzBf;;AhCpDG;EiCbE,0BAAqC;CjCgBtC;;AgCmDL;ECvEE,0BlC6Fc;CiCpBf;;AhCxDG;EiCbE,0BAAqC;CjCgBtC;;AkCvBL;EACE,mBAAoD;EACpD,oBnCuqBmC;EmCtqBnC,0BnC0GiC;EMzG/B,sBN6T0B;CmCxT7B;;AxB+CG;EwBxDJ;IAOI,mBnCkqBiC;GmChqBpC;CtCowIA;;AsClwID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCkzBmC;EoCjzBnC,oBpCsIa;EoCrIb,8BAA6C;E9BH3C,uBN4T2B;CoCvT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC8OqB;CoC7OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCyxBgC;EoCxxBhC,gBpCuxBiC;EoCtxBjC,yBpCsxBiC;EoCrxBjC,eAAc;CACf;;AAQH;ECxCE,0BrC+qBsC;EqC9qBtC,sBrC+qB4D;EqC9qB5D,erC4qBsC;CoCpoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BrCmrBsC;EqClrBtC,sBrCmrByD;EqClrBzD,erCgrBsC;CoCroBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BrCurBsC;EqCtrBtC,sBrCwrB4D;EqCvrB5D,erCorBsC;CoCtoBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BrC4rBsC;EqC3rBtC,sBrC4rB2D;EqC3rB3D,erCyrBsC;CoCxoBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACXH;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyCx2ID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCw0BoC;EsCv0BpC,kBtCs0BkC;EsCr0BlC,mBAAkB;EAClB,0BtCgGiC;EMzG/B,uBN4T2B;CsCjT9B;;AACD;EACE,atCg0BkC;EsC/zBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAGD;ECYE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDV7I,mCtCwzBkC;UsCxzBlC,2BtCwzBkC;CsCvzBnC;;AAGD;EACE,2DtC0zBgD;OsC1zBhD,sDtC0zBgD;UsC1zBhD,mDtC0zBgD;CsCzzBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,ezCiF+B;CyChFhC;;AxCNC;EwCUA,ezC6E+B;EyC5E/B,sBAAqB;EACrB,0BzC8E+B;CCvF9B;;AwCJL;EAiBI,ezCsE+B;EyCrE/B,0BzCwE+B;CyCvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBzC+yBsC;EyC7yBtC,oBzCoHgB;EyCnHhB,uBzCwCW;EyCvCX,uCzCwCW;CyCQZ;;AAzDD;EnCpCI,iCNsT2B;EMrT3B,gCNqT2B;CyCrQ5B;;AAbH;EAgBI,iBAAgB;EnCtChB,oCNwS2B;EMvS3B,mCNuS2B;CyChQ5B;;AxC5CC;EwC+CA,sBAAqB;CxC5CpB;;AwCuBL;EA0BI,ezCoC+B;EyCnC/B,oBzCuYwC;EyCtYxC,uBzCoBS;CyCXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,ezC2B6B;CyC1B9B;;AApCL;EAyCI,WAAU;EACV,YzCMS;EyCLT,0BzCWY;EyCVZ,sBzCUY;CyCEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,ezCqwB8D;CyCpwB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e1C6qBoC;E0C5qBpC,0B1C6qBoC;C0C5qBrC;;AAED;;EACE,e1CwqBoC;C0CxpBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CiqBkC;E0ChqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C2pBkC;E0C1pBlC,sB1C0pBkC;C0CzpBnC;;AArBH;EACE,e1CirBoC;E0ChrBpC,0B1CirBoC;C0ChrBrC;;AAED;;EACE,e1C4qBoC;C0C5pBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CqqBkC;E0CpqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C+pBkC;E0C9pBlC,sB1C8pBkC;C0C7pBnC;;AArBH;EACE,e1CqrBoC;E0CprBpC,0B1CqrBoC;C0CprBrC;;AAED;;EACE,e1CgrBoC;C0ChqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CyqBkC;E0CxqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CmqBkC;E0ClqBlC,sB1CkqBkC;C0CjqBnC;;AArBH;EACE,e1C0rBoC;E0CzrBpC,0B1C0rBoC;C0CzrBrC;;AAED;;EACE,e1CqrBoC;C0CrqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1C8qBkC;E0C7qBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1Cw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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0.5rem 1rem;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n color: #fff;\n background-color: #0275d8;\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-right-radius: calc(0.3rem - 1px);\n border-top-left-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-grid.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aEqMK;IFpML,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aEsMK;IFrML,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aEuMK;IFtML,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEwMM;IFvMN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe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AiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL2hCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap.css
New file
0,0 → 1,9320
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
@media print {
*,
*::before,
*::after,
p::first-letter,
div::first-letter,
blockquote::first-letter,
li::first-letter,
p::first-line,
div::first-line,
blockquote::first-line,
li::first-line {
text-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
 
h1, .h1 {
font-size: 2.5rem;
}
 
h2, .h2 {
font-size: 2rem;
}
 
h3, .h3 {
font-size: 1.75rem;
}
 
h4, .h4 {
font-size: 1.5rem;
}
 
h5, .h5 {
font-size: 1.25rem;
}
 
h6, .h6 {
font-size: 1rem;
}
 
.lead {
font-size: 1.25rem;
font-weight: 300;
}
 
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.1;
}
 
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
 
small,
.small {
font-size: 80%;
font-weight: normal;
}
 
mark,
.mark {
padding: 0.2em;
background-color: #fcf8e3;
}
 
.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: 5px;
}
 
.initialism {
font-size: 90%;
text-transform: uppercase;
}
 
.blockquote {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-left: 0.25rem solid #eceeef;
}
 
.blockquote-footer {
display: block;
font-size: 80%;
color: #636c72;
}
 
.blockquote-footer::before {
content: "\2014 \00A0";
}
 
.blockquote-reverse {
padding-right: 1rem;
padding-left: 0;
text-align: right;
border-right: 0.25rem solid #eceeef;
border-left: 0;
}
 
.blockquote-reverse .blockquote-footer::before {
content: "";
}
 
.blockquote-reverse .blockquote-footer::after {
content: "\00A0 \2014";
}
 
.img-fluid {
max-width: 100%;
height: auto;
}
 
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
max-width: 100%;
height: auto;
}
 
.figure {
display: inline-block;
}
 
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
 
.figure-caption {
font-size: 90%;
color: #636c72;
}
 
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
 
code {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
border-radius: 0.25rem;
}
 
a > code {
padding: 0;
color: inherit;
background-color: inherit;
}
 
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #292b2c;
border-radius: 0.2rem;
}
 
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
}
 
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 90%;
color: #292b2c;
}
 
pre code {
padding: 0;
font-size: inherit;
color: inherit;
background-color: transparent;
border-radius: 0;
}
 
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
 
.table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
}
 
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #eceeef;
}
 
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
 
.table tbody + tbody {
border-top: 2px solid #eceeef;
}
 
.table .table {
background-color: #fff;
}
 
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
 
.table-bordered {
border: 1px solid #eceeef;
}
 
.table-bordered th,
.table-bordered td {
border: 1px solid #eceeef;
}
 
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
 
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
 
.table-hover tbody tr:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-success,
.table-success > th,
.table-success > td {
background-color: #dff0d8;
}
 
.table-hover .table-success:hover {
background-color: #d0e9c6;
}
 
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #d0e9c6;
}
 
.table-info,
.table-info > th,
.table-info > td {
background-color: #d9edf7;
}
 
.table-hover .table-info:hover {
background-color: #c4e3f3;
}
 
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #c4e3f3;
}
 
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #fcf8e3;
}
 
.table-hover .table-warning:hover {
background-color: #faf2cc;
}
 
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #faf2cc;
}
 
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f2dede;
}
 
.table-hover .table-danger:hover {
background-color: #ebcccc;
}
 
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #ebcccc;
}
 
.thead-inverse th {
color: #fff;
background-color: #292b2c;
}
 
.thead-default th {
color: #464a4c;
background-color: #eceeef;
}
 
.table-inverse {
color: #fff;
background-color: #292b2c;
}
 
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
border-color: #fff;
}
 
.table-inverse.table-bordered {
border: 0;
}
 
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
 
.table-responsive.table-bordered {
border: 0;
}
 
.form-control {
display: block;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
background-color: #fff;
background-image: none;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}
 
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
 
.form-control:focus {
color: #464a4c;
background-color: #fff;
border-color: #5cb3fd;
outline: none;
}
 
.form-control::-webkit-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::-moz-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:-ms-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:disabled, .form-control[readonly] {
background-color: #eceeef;
opacity: 1;
}
 
.form-control:disabled {
cursor: not-allowed;
}
 
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
 
select.form-control:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.form-control-file,
.form-control-range {
display: block;
}
 
.col-form-label {
padding-top: calc(0.5rem - 1px * 2);
padding-bottom: calc(0.5rem - 1px * 2);
margin-bottom: 0;
}
 
.col-form-label-lg {
padding-top: calc(0.75rem - 1px * 2);
padding-bottom: calc(0.75rem - 1px * 2);
font-size: 1.25rem;
}
 
.col-form-label-sm {
padding-top: calc(0.25rem - 1px * 2);
padding-bottom: calc(0.25rem - 1px * 2);
font-size: 0.875rem;
}
 
.col-form-legend {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
font-size: 1rem;
}
 
.form-control-static {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
line-height: 1.25;
border: solid transparent;
border-width: 1px 0;
}
 
.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn {
padding-right: 0;
padding-left: 0;
}
 
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 1.8125rem;
}
 
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 3.166667rem;
}
 
.form-group {
margin-bottom: 1rem;
}
 
.form-text {
display: block;
margin-top: 0.25rem;
}
 
.form-check {
position: relative;
display: block;
margin-bottom: 0.5rem;
}
 
.form-check.disabled .form-check-label {
color: #636c72;
cursor: not-allowed;
}
 
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
cursor: pointer;
}
 
.form-check-input {
position: absolute;
margin-top: 0.25rem;
margin-left: -1.25rem;
}
 
.form-check-input:only-child {
position: static;
}
 
.form-check-inline {
display: inline-block;
}
 
.form-check-inline .form-check-label {
vertical-align: middle;
}
 
.form-check-inline + .form-check-inline {
margin-left: 0.75rem;
}
 
.form-control-feedback {
margin-top: 0.25rem;
}
 
.form-control-success,
.form-control-warning,
.form-control-danger {
padding-right: 2.25rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
background-size: 1.125rem 1.125rem;
}
 
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .col-form-label,
.has-success .form-check-label,
.has-success .custom-control {
color: #5cb85c;
}
 
.has-success .form-control {
border-color: #5cb85c;
}
 
.has-success .input-group-addon {
color: #5cb85c;
border-color: #5cb85c;
background-color: #eaf6ea;
}
 
.has-success .form-control-success {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
}
 
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .col-form-label,
.has-warning .form-check-label,
.has-warning .custom-control {
color: #f0ad4e;
}
 
.has-warning .form-control {
border-color: #f0ad4e;
}
 
.has-warning .input-group-addon {
color: #f0ad4e;
border-color: #f0ad4e;
background-color: white;
}
 
.has-warning .form-control-warning {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
 
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .col-form-label,
.has-danger .form-check-label,
.has-danger .custom-control {
color: #d9534f;
}
 
.has-danger .form-control {
border-color: #d9534f;
}
 
.has-danger .input-group-addon {
color: #d9534f;
border-color: #d9534f;
background-color: #fdf7f7;
}
 
.has-danger .form-control-danger {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}
 
.form-inline {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.form-inline .form-check {
width: 100%;
}
 
@media (min-width: 576px) {
.form-inline label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
width: auto;
}
.form-inline .form-control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-check {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
margin-top: 0;
margin-bottom: 0;
}
.form-inline .form-check-label {
padding-left: 0;
}
.form-inline .form-check-input {
position: relative;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0;
}
.form-inline .custom-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
}
.form-inline .custom-control-indicator {
position: static;
display: inline-block;
margin-right: 0.25rem;
vertical-align: text-bottom;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
 
.btn {
display: inline-block;
font-weight: normal;
line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
 
.btn:focus, .btn:hover {
text-decoration: none;
}
 
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
}
 
.btn.disabled, .btn:disabled {
cursor: not-allowed;
opacity: .65;
}
 
.btn:active, .btn.active {
background-image: none;
}
 
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
 
.btn-primary {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:hover {
color: #fff;
background-color: #025aa5;
border-color: #01549b;
}
 
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-primary.disabled, .btn-primary:disabled {
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #025aa5;
background-image: none;
border-color: #01549b;
}
 
.btn-secondary {
color: #292b2c;
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:hover {
color: #292b2c;
background-color: #e6e6e6;
border-color: #adadad;
}
 
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-secondary.disabled, .btn-secondary:disabled {
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #292b2c;
background-color: #e6e6e6;
background-image: none;
border-color: #adadad;
}
 
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #2aabd2;
}
 
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-info.disabled, .btn-info:disabled {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #31b0d5;
background-image: none;
border-color: #2aabd2;
}
 
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #419641;
}
 
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-success.disabled, .btn-success:disabled {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #449d44;
background-image: none;
border-color: #419641;
}
 
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #eb9316;
}
 
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-warning.disabled, .btn-warning:disabled {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #fff;
background-color: #ec971f;
background-image: none;
border-color: #eb9316;
}
 
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #c12e2a;
}
 
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-danger.disabled, .btn-danger:disabled {
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #c9302c;
background-image: none;
border-color: #c12e2a;
}
 
.btn-outline-primary {
color: #0275d8;
background-image: none;
background-color: transparent;
border-color: #0275d8;
}
 
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #0275d8;
background-color: transparent;
}
 
.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-secondary {
color: #ccc;
background-image: none;
background-color: transparent;
border-color: #ccc;
}
 
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #ccc;
background-color: transparent;
}
 
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-info {
color: #5bc0de;
background-image: none;
background-color: transparent;
border-color: #5bc0de;
}
 
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #5bc0de;
background-color: transparent;
}
 
.btn-outline-info:active, .btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-success {
color: #5cb85c;
background-image: none;
background-color: transparent;
border-color: #5cb85c;
}
 
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #5cb85c;
background-color: transparent;
}
 
.btn-outline-success:active, .btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-warning {
color: #f0ad4e;
background-image: none;
background-color: transparent;
border-color: #f0ad4e;
}
 
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #f0ad4e;
background-color: transparent;
}
 
.btn-outline-warning:active, .btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-danger {
color: #d9534f;
background-image: none;
background-color: transparent;
border-color: #d9534f;
}
 
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #d9534f;
background-color: transparent;
}
 
.btn-outline-danger:active, .btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-link {
font-weight: normal;
color: #0275d8;
border-radius: 0;
}
 
.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
background-color: transparent;
}
 
.btn-link, .btn-link:focus, .btn-link:active {
border-color: transparent;
}
 
.btn-link:hover {
border-color: transparent;
}
 
.btn-link:focus, .btn-link:hover {
color: #014c8c;
text-decoration: underline;
background-color: transparent;
}
 
.btn-link:disabled {
color: #636c72;
}
 
.btn-link:disabled:focus, .btn-link:disabled:hover {
text-decoration: none;
}
 
.btn-lg, .btn-group-lg > .btn {
padding: 0.75rem 1.5rem;
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;
}
 
.btn-block {
display: block;
width: 100%;
}
 
.btn-block + .btn-block {
margin-top: 0.5rem;
}
 
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
 
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
 
.fade.show {
opacity: 1;
}
 
.collapse {
display: none;
}
 
.collapse.show {
display: block;
}
 
tr.collapse.show {
display: table-row;
}
 
tbody.collapse.show {
display: table-row-group;
}
 
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
 
.dropup,
.dropdown {
position: relative;
}
 
.dropdown-toggle::after {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
 
.dropdown-toggle:focus {
outline: 0;
}
 
.dropup .dropdown-toggle::after {
border-top: 0;
border-bottom: 0.3em solid;
}
 
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
font-size: 1rem;
color: #292b2c;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.dropdown-divider {
height: 1px;
margin: 0.5rem 0;
overflow: hidden;
background-color: #eceeef;
}
 
.dropdown-item {
display: block;
width: 100%;
padding: 3px 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
text-align: inherit;
white-space: nowrap;
background: none;
border: 0;
}
 
.dropdown-item:focus, .dropdown-item:hover {
color: #1d1e1f;
text-decoration: none;
background-color: #f7f7f9;
}
 
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0275d8;
}
 
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: transparent;
}
 
.show > .dropdown-menu {
display: block;
}
 
.show > a {
outline: 0;
}
 
.dropdown-menu-right {
right: 0;
left: auto;
}
 
.dropdown-menu-left {
right: auto;
left: 0;
}
 
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #636c72;
white-space: nowrap;
}
 
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
 
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 0.125rem;
}
 
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
 
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
 
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
z-index: 2;
}
 
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
 
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.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-left: -1px;
}
 
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
 
.btn-toolbar .input-group {
width: auto;
}
 
.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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
 
.btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
 
.btn + .dropdown-toggle-split::after {
margin-left: 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: 1.125rem;
padding-left: 1.125rem;
}
 
.btn-group-vertical {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
width: 100%;
}
 
.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-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
 
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.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-right-radius: 0;
border-top-left-radius: 0;
}
 
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
 
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
}
 
.input-group .form-control {
position: relative;
z-index: 2;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0;
}
 
.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
z-index: 3;
}
 
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
 
.input-group-addon,
.input-group-btn {
white-space: nowrap;
vertical-align: middle;
}
 
.input-group-addon {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
line-height: 1.25;
color: #464a4c;
text-align: center;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
 
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.input-group-addon:not(:last-child) {
border-right: 0;
}
 
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.form-control + .input-group-addon:not(:first-child) {
border-left: 0;
}
 
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
 
.input-group-btn > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
 
.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
z-index: 3;
}
 
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
margin-right: -1px;
}
 
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
z-index: 2;
margin-left: -1px;
}
 
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
z-index: 3;
}
 
.custom-control {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
cursor: pointer;
}
 
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0;
}
 
.custom-control-input:checked ~ .custom-control-indicator {
color: #fff;
background-color: #0275d8;
}
 
.custom-control-input:focus ~ .custom-control-indicator {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
}
 
.custom-control-input:active ~ .custom-control-indicator {
color: #fff;
background-color: #8fcafe;
}
 
.custom-control-input:disabled ~ .custom-control-indicator {
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
cursor: not-allowed;
}
 
.custom-control-indicator {
position: absolute;
top: 0.25rem;
left: 0;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #ddd;
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
}
 
.custom-checkbox .custom-control-indicator {
border-radius: 0.25rem;
}
 
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
 
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
background-color: #0275d8;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
 
.custom-radio .custom-control-indicator {
border-radius: 50%;
}
 
.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
 
.custom-controls-stacked {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
 
.custom-controls-stacked .custom-control {
margin-bottom: 0.25rem;
}
 
.custom-controls-stacked .custom-control + .custom-control {
margin-left: 0;
}
 
.custom-select {
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.25;
color: #464a4c;
vertical-align: middle;
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
-webkit-background-size: 8px 10px;
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-moz-appearance: none;
-webkit-appearance: none;
}
 
.custom-select:focus {
border-color: #5cb3fd;
outline: none;
}
 
.custom-select:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.custom-select:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-select::-ms-expand {
opacity: 0;
}
 
.custom-select-sm {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
font-size: 75%;
}
 
.custom-file {
position: relative;
display: inline-block;
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
cursor: pointer;
}
 
.custom-file-input {
min-width: 14rem;
max-width: 100%;
height: 2.5rem;
margin: 0;
filter: alpha(opacity=0);
opacity: 0;
}
 
.custom-file-control {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 5;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
 
.custom-file-control::before {
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
z-index: 6;
display: block;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0 0.25rem 0.25rem 0;
}
 
.custom-file-control:lang(en)::before {
content: "Browse";
}
 
.nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.nav-link {
display: block;
padding: 0.5em 1em;
}
 
.nav-link:focus, .nav-link:hover {
text-decoration: none;
}
 
.nav-link.disabled {
color: #636c72;
cursor: not-allowed;
}
 
.nav-tabs {
border-bottom: 1px solid #ddd;
}
 
.nav-tabs .nav-item {
margin-bottom: -1px;
}
 
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
border-color: #eceeef #eceeef #ddd;
}
 
.nav-tabs .nav-link.disabled {
color: #636c72;
background-color: transparent;
border-color: transparent;
}
 
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #464a4c;
background-color: #fff;
border-color: #ddd #ddd #fff;
}
 
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.nav-pills .nav-link {
border-radius: 0.25rem;
}
 
.nav-pills .nav-link.active,
.nav-pills .nav-item.show .nav-link {
color: #fff;
cursor: default;
background-color: #0275d8;
}
 
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
 
.nav-justified .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
text-align: center;
}
 
.tab-content > .tab-pane {
display: none;
}
 
.tab-content > .active {
display: block;
}
 
.navbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 0.5rem 1rem;
}
 
.navbar-brand {
display: inline-block;
padding-top: .25rem;
padding-bottom: .25rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
 
.navbar-brand:focus, .navbar-brand:hover {
text-decoration: none;
}
 
.navbar-nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
 
.navbar-text {
display: inline-block;
padding-top: .425rem;
padding-bottom: .425rem;
}
 
.navbar-toggler {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
padding: 0.25rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.navbar-toggler:focus, .navbar-toggler:hover {
text-decoration: none;
}
 
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.navbar-toggler-left {
position: absolute;
left: 1rem;
}
 
.navbar-toggler-right {
position: absolute;
right: 1rem;
}
 
@media (max-width: 575px) {
.navbar-toggleable .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 576px) {
.navbar-toggleable {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable .navbar-toggler {
display: none;
}
}
 
@media (max-width: 767px) {
.navbar-toggleable-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 768px) {
.navbar-toggleable-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-sm > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-sm .navbar-toggler {
display: none;
}
}
 
@media (max-width: 991px) {
.navbar-toggleable-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-md > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 992px) {
.navbar-toggleable-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-md > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-md .navbar-toggler {
display: none;
}
}
 
@media (max-width: 1199px) {
.navbar-toggleable-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-lg > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 1200px) {
.navbar-toggleable-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-lg > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-lg .navbar-toggler {
display: none;
}
}
 
.navbar-toggleable-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
 
.navbar-toggleable-xl > .container {
padding-right: 0;
padding-left: 0;
}
 
.navbar-toggleable-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
 
.navbar-toggleable-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
 
.navbar-toggleable-xl > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
 
.navbar-toggleable-xl .navbar-toggler {
display: none;
}
 
.navbar-light .navbar-brand,
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
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 .open > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-toggler {
border-color: rgba(0, 0, 0, 0.1);
}
 
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-toggler {
color: white;
}
 
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-toggler:focus,
.navbar-inverse .navbar-toggler:hover {
color: white;
}
 
.navbar-inverse .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.5);
}
 
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
color: rgba(255, 255, 255, 0.75);
}
 
.navbar-inverse .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
 
.navbar-inverse .navbar-nav .open > .nav-link,
.navbar-inverse .navbar-nav .active > .nav-link,
.navbar-inverse .navbar-nav .nav-link.open,
.navbar-inverse .navbar-nav .nav-link.active {
color: white;
}
 
.navbar-inverse .navbar-toggler {
border-color: rgba(255, 255, 255, 0.1);
}
 
.navbar-inverse .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-inverse .navbar-text {
color: rgba(255, 255, 255, 0.5);
}
 
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
 
.card-block {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
}
 
.card-title {
margin-bottom: 0.75rem;
}
 
.card-subtitle {
margin-top: -0.375rem;
margin-bottom: 0;
}
 
.card-text:last-child {
margin-bottom: 0;
}
 
.card-link:hover {
text-decoration: none;
}
 
.card-link + .card-link {
margin-left: 1.25rem;
}
 
.card > .list-group:first-child .list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.card-header {
padding: 0.75rem 1.25rem;
margin-bottom: 0;
background-color: #f7f7f9;
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.75rem 1.25rem;
background-color: #f7f7f9;
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.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0;
}
 
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem;
}
 
.card-primary {
background-color: #0275d8;
border-color: #0275d8;
}
 
.card-primary .card-header,
.card-primary .card-footer {
background-color: transparent;
}
 
.card-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.card-success .card-header,
.card-success .card-footer {
background-color: transparent;
}
 
.card-info {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.card-info .card-header,
.card-info .card-footer {
background-color: transparent;
}
 
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.card-warning .card-header,
.card-warning .card-footer {
background-color: transparent;
}
 
.card-danger {
background-color: #d9534f;
border-color: #d9534f;
}
 
.card-danger .card-header,
.card-danger .card-footer {
background-color: transparent;
}
 
.card-outline-primary {
background-color: transparent;
border-color: #0275d8;
}
 
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
 
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
 
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
 
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
 
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
 
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-header,
.card-inverse .card-footer {
background-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
 
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff;
}
 
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-subtitle,
.card-inverse .card-blockquote .blockquote-footer {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-link:focus, .card-inverse .card-link:hover {
color: #fff;
}
 
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0;
}
 
.card-img {
border-radius: calc(0.25rem - 1px);
}
 
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
}
 
.card-img-top {
border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
 
.card-img-bottom {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
 
@media (min-width: 576px) {
.card-deck {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-deck .card {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.card-deck .card:not(:first-child) {
margin-left: 15px;
}
.card-deck .card:not(:last-child) {
margin-right: 15px;
}
}
 
@media (min-width: 576px) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
}
.card-group .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0;
}
}
 
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
}
.card-columns .card {
display: inline-block;
width: 100%;
margin-bottom: 0.75rem;
}
}
 
.breadcrumb {
padding: 0.75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.breadcrumb::after {
display: block;
content: "";
clear: both;
}
 
.breadcrumb-item {
float: left;
}
 
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
padding-left: 0.5rem;
color: #636c72;
content: "/";
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: underline;
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: none;
}
 
.breadcrumb-item.active {
color: #636c72;
}
 
.pagination {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: 0.25rem;
}
 
.page-item:first-child .page-link {
margin-left: 0;
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.page-item:last-child .page-link {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.page-item.active .page-link {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
 
.page-link {
position: relative;
display: block;
padding: 0.5rem 0.75rem;
margin-left: -1px;
line-height: 1.25;
color: #0275d8;
background-color: #fff;
border: 1px solid #ddd;
}
 
.page-link:focus, .page-link:hover {
color: #014c8c;
text-decoration: none;
background-color: #eceeef;
border-color: #ddd;
}
 
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
 
.pagination-lg .page-item:first-child .page-link {
border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
}
 
.pagination-lg .page-item:last-child .page-link {
border-bottom-right-radius: 0.3rem;
border-top-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-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
}
 
.pagination-sm .page-item:last-child .page-link {
border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
}
 
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
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;
}
 
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
 
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
 
.badge-default {
background-color: #636c72;
}
 
.badge-default[href]:focus, .badge-default[href]:hover {
background-color: #4b5257;
}
 
.badge-primary {
background-color: #0275d8;
}
 
.badge-primary[href]:focus, .badge-primary[href]:hover {
background-color: #025aa5;
}
 
.badge-success {
background-color: #5cb85c;
}
 
.badge-success[href]:focus, .badge-success[href]:hover {
background-color: #449d44;
}
 
.badge-info {
background-color: #5bc0de;
}
 
.badge-info[href]:focus, .badge-info[href]:hover {
background-color: #31b0d5;
}
 
.badge-warning {
background-color: #f0ad4e;
}
 
.badge-warning[href]:focus, .badge-warning[href]:hover {
background-color: #ec971f;
}
 
.badge-danger {
background-color: #d9534f;
}
 
.badge-danger[href]:focus, .badge-danger[href]:hover {
background-color: #c9302c;
}
 
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #eceeef;
border-radius: 0.3rem;
}
 
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem;
}
}
 
.jumbotron-hr {
border-top-color: #d0d5d8;
}
 
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0;
}
 
.alert {
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.alert-heading {
color: inherit;
}
 
.alert-link {
font-weight: bold;
}
 
.alert-dismissible .close {
position: relative;
top: -0.75rem;
right: -1.25rem;
padding: 0.75rem 1.25rem;
color: inherit;
}
 
.alert-success {
background-color: #dff0d8;
border-color: #d0e9c6;
color: #3c763d;
}
 
.alert-success hr {
border-top-color: #c1e2b3;
}
 
.alert-success .alert-link {
color: #2b542c;
}
 
.alert-info {
background-color: #d9edf7;
border-color: #bcdff1;
color: #31708f;
}
 
.alert-info hr {
border-top-color: #a6d5ec;
}
 
.alert-info .alert-link {
color: #245269;
}
 
.alert-warning {
background-color: #fcf8e3;
border-color: #faf2cc;
color: #8a6d3b;
}
 
.alert-warning hr {
border-top-color: #f7ecb5;
}
 
.alert-warning .alert-link {
color: #66512c;
}
 
.alert-danger {
background-color: #f2dede;
border-color: #ebcccc;
color: #a94442;
}
 
.alert-danger hr {
border-top-color: #e4b9b9;
}
 
.alert-danger .alert-link {
color: #843534;
}
 
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@-o-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
.progress {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
font-size: 0.75rem;
line-height: 1rem;
text-align: center;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.progress-bar {
height: 1rem;
color: #fff;
background-color: #0275d8;
}
 
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
 
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
-o-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
 
.media {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
 
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.list-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
}
 
.list-group-item-action {
width: 100%;
color: #464a4c;
text-align: inherit;
}
 
.list-group-item-action .list-group-item-heading {
color: #292b2c;
}
 
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
background-color: #f7f7f9;
}
 
.list-group-item-action:active {
color: #292b2c;
background-color: #eceeef;
}
 
.list-group-item {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
 
.list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.list-group-item:focus, .list-group-item:hover {
text-decoration: none;
}
 
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #fff;
}
 
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
color: inherit;
}
 
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
color: #636c72;
}
 
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.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 {
color: inherit;
}
 
.list-group-item.active .list-group-item-text {
color: #daeeff;
}
 
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
 
.list-group-flush:first-child .list-group-item:first-child {
border-top: 0;
}
 
.list-group-flush:last-child .list-group-item:last-child {
border-bottom: 0;
}
 
.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,
button.list-group-item-success.active {
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,
button.list-group-item-info.active {
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,
button.list-group-item-warning.active {
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,
button.list-group-item-danger.active {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
 
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
 
.embed-responsive::before {
display: block;
content: "";
}
 
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
 
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
 
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
 
.embed-responsive-4by3::before {
padding-top: 75%;
}
 
.embed-responsive-1by1::before {
padding-top: 100%;
}
 
.close {
float: right;
font-size: 1.5rem;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
}
 
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
 
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
 
.modal-open {
overflow: hidden;
}
 
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: hidden;
outline: 0;
}
 
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
}
 
.modal.show .modal-dialog {
-webkit-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;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
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;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
 
.modal-backdrop.fade {
opacity: 0;
}
 
.modal-backdrop.show {
opacity: 0.5;
}
 
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
 
.modal-title {
margin-bottom: 0;
line-height: 1.5;
}
 
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
}
 
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #eceeef;
}
 
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
 
.modal-footer > :not(:last-child) {
margin-right: .25rem;
}
 
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
 
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto;
}
.modal-sm {
max-width: 300px;
}
}
 
@media (min-width: 992px) {
.modal-lg {
max-width: 800px;
}
}
 
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
}
 
.tooltip.show {
opacity: 0.9;
}
 
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
padding: 5px 0;
margin-top: -3px;
}
 
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
bottom: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
 
.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
padding: 0 5px;
margin-left: 3px;
}
 
.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
top: 50%;
left: 0;
margin-top: -5px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
 
.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
padding: 5px 0;
margin-top: 3px;
}
 
.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
top: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
 
.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
padding: 0 5px;
margin-left: -3px;
}
 
.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
top: 50%;
right: 0;
margin-top: -5px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
 
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem;
}
 
.tooltip-inner::before {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: block;
max-width: 276px;
padding: 1px;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
 
.popover.popover-top, .popover.bs-tether-element-attached-bottom {
margin-top: -10px;
}
 
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
left: 50%;
border-bottom-width: 0;
}
 
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
 
.popover.popover-right, .popover.bs-tether-element-attached-left {
margin-left: 10px;
}
 
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
top: 50%;
border-left-width: 0;
}
 
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
 
.popover.popover-bottom, .popover.bs-tether-element-attached-top {
margin-top: 10px;
}
 
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
left: 50%;
border-top-width: 0;
}
 
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
top: -10px;
margin-left: -10px;
border-bottom-color: #f7f7f7;
}
 
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 20px;
margin-left: -10px;
content: "";
border-bottom: 1px solid #f7f7f7;
}
 
.popover.popover-left, .popover.bs-tether-element-attached-right {
margin-left: -10px;
}
 
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
top: 50%;
border-right-width: 0;
}
 
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
}
 
.popover-title {
padding: 8px 14px;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
 
.popover-title:empty {
display: none;
}
 
.popover-content {
padding: 9px 14px;
}
 
.popover::before,
.popover::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover::before {
content: "";
border-width: 11px;
}
 
.popover::after {
content: "";
border-width: 10px;
}
 
.carousel {
position: relative;
}
 
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
 
.carousel-item {
position: relative;
display: none;
width: 100%;
}
 
@media (-webkit-transform-3d) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
 
.carousel-item-next,
.carousel-item-prev {
position: absolute;
top: 0;
}
 
@media (-webkit-transform-3d) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: 0.5;
}
 
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9;
}
 
.carousel-control-prev {
left: 0;
}
 
.carousel-control-next {
right: 0;
}
 
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 20px;
height: 20px;
background: transparent no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
 
.carousel-control-next-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
 
.carousel-indicators {
position: absolute;
right: 0;
bottom: 10px;
left: 0;
z-index: 15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none;
}
 
.carousel-indicators li {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
max-width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
 
.carousel-indicators li::before {
position: absolute;
top: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators li::after {
position: absolute;
bottom: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators .active {
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;
}
 
.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;
}
 
.bg-faded {
background-color: #f7f7f7;
}
 
.bg-primary {
background-color: #0275d8 !important;
}
 
a.bg-primary:focus, a.bg-primary:hover {
background-color: #025aa5 !important;
}
 
.bg-success {
background-color: #5cb85c !important;
}
 
a.bg-success:focus, a.bg-success:hover {
background-color: #449d44 !important;
}
 
.bg-info {
background-color: #5bc0de !important;
}
 
a.bg-info:focus, a.bg-info:hover {
background-color: #31b0d5 !important;
}
 
.bg-warning {
background-color: #f0ad4e !important;
}
 
a.bg-warning:focus, a.bg-warning:hover {
background-color: #ec971f !important;
}
 
.bg-danger {
background-color: #d9534f !important;
}
 
a.bg-danger:focus, a.bg-danger:hover {
background-color: #c9302c !important;
}
 
.bg-inverse {
background-color: #292b2c !important;
}
 
a.bg-inverse:focus, a.bg-inverse:hover {
background-color: #101112 !important;
}
 
.border-0 {
border: 0 !important;
}
 
.border-top-0 {
border-top: 0 !important;
}
 
.border-right-0 {
border-right: 0 !important;
}
 
.border-bottom-0 {
border-bottom: 0 !important;
}
 
.border-left-0 {
border-left: 0 !important;
}
 
.rounded {
border-radius: 0.25rem;
}
 
.rounded-top {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-right {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.rounded-bottom {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.rounded-left {
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-circle {
border-radius: 50%;
}
 
.rounded-0 {
border-radius: 0;
}
 
.clearfix::after {
display: block;
content: "";
clear: both;
}
 
.d-none {
display: none !important;
}
 
.d-inline {
display: inline !important;
}
 
.d-inline-block {
display: inline-block !important;
}
 
.d-block {
display: block !important;
}
 
.d-table {
display: table !important;
}
 
.d-table-cell {
display: table-cell !important;
}
 
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
 
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
 
@media (min-width: 576px) {
.d-sm-none {
display: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 768px) {
.d-md-none {
display: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 992px) {
.d-lg-none {
display: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 1200px) {
.d-xl-none {
display: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
.flex-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
 
.flex-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
 
.flex-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
 
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
 
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
 
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
 
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
 
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
 
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
 
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
 
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
 
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
 
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
 
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
 
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
 
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
 
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
 
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
 
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
 
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
 
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
 
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
 
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
 
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
 
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
 
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
 
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
 
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
 
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
 
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
 
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
 
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
 
@media (min-width: 576px) {
.flex-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-sm-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 768px) {
.flex-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-md-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 992px) {
.flex-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-lg-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 1200px) {
.flex-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-xl-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
.float-left {
float: left !important;
}
 
.float-right {
float: right !important;
}
 
.float-none {
float: none !important;
}
 
@media (min-width: 576px) {
.float-sm-left {
float: left !important;
}
.float-sm-right {
float: right !important;
}
.float-sm-none {
float: none !important;
}
}
 
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
.float-md-right {
float: right !important;
}
.float-md-none {
float: none !important;
}
}
 
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
.float-lg-right {
float: right !important;
}
.float-lg-none {
float: none !important;
}
}
 
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
.float-xl-right {
float: right !important;
}
.float-xl-none {
float: none !important;
}
}
 
.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: 1030;
}
 
.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;
}
 
.w-25 {
width: 25% !important;
}
 
.w-50 {
width: 50% !important;
}
 
.w-75 {
width: 75% !important;
}
 
.w-100 {
width: 100% !important;
}
 
.h-25 {
height: 25% !important;
}
 
.h-50 {
height: 50% !important;
}
 
.h-75 {
height: 75% !important;
}
 
.h-100 {
height: 100% !important;
}
 
.mw-100 {
max-width: 100% !important;
}
 
.mh-100 {
max-height: 100% !important;
}
 
.m-0 {
margin: 0 0 !important;
}
 
.mt-0 {
margin-top: 0 !important;
}
 
.mr-0 {
margin-right: 0 !important;
}
 
.mb-0 {
margin-bottom: 0 !important;
}
 
.ml-0 {
margin-left: 0 !important;
}
 
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
 
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
 
.m-1 {
margin: 0.25rem 0.25rem !important;
}
 
.mt-1 {
margin-top: 0.25rem !important;
}
 
.mr-1 {
margin-right: 0.25rem !important;
}
 
.mb-1 {
margin-bottom: 0.25rem !important;
}
 
.ml-1 {
margin-left: 0.25rem !important;
}
 
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
 
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
 
.m-2 {
margin: 0.5rem 0.5rem !important;
}
 
.mt-2 {
margin-top: 0.5rem !important;
}
 
.mr-2 {
margin-right: 0.5rem !important;
}
 
.mb-2 {
margin-bottom: 0.5rem !important;
}
 
.ml-2 {
margin-left: 0.5rem !important;
}
 
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
 
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
 
.m-3 {
margin: 1rem 1rem !important;
}
 
.mt-3 {
margin-top: 1rem !important;
}
 
.mr-3 {
margin-right: 1rem !important;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
.ml-3 {
margin-left: 1rem !important;
}
 
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
 
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
 
.m-4 {
margin: 1.5rem 1.5rem !important;
}
 
.mt-4 {
margin-top: 1.5rem !important;
}
 
.mr-4 {
margin-right: 1.5rem !important;
}
 
.mb-4 {
margin-bottom: 1.5rem !important;
}
 
.ml-4 {
margin-left: 1.5rem !important;
}
 
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
 
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
 
.m-5 {
margin: 3rem 3rem !important;
}
 
.mt-5 {
margin-top: 3rem !important;
}
 
.mr-5 {
margin-right: 3rem !important;
}
 
.mb-5 {
margin-bottom: 3rem !important;
}
 
.ml-5 {
margin-left: 3rem !important;
}
 
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
 
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
 
.p-0 {
padding: 0 0 !important;
}
 
.pt-0 {
padding-top: 0 !important;
}
 
.pr-0 {
padding-right: 0 !important;
}
 
.pb-0 {
padding-bottom: 0 !important;
}
 
.pl-0 {
padding-left: 0 !important;
}
 
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
 
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
 
.p-1 {
padding: 0.25rem 0.25rem !important;
}
 
.pt-1 {
padding-top: 0.25rem !important;
}
 
.pr-1 {
padding-right: 0.25rem !important;
}
 
.pb-1 {
padding-bottom: 0.25rem !important;
}
 
.pl-1 {
padding-left: 0.25rem !important;
}
 
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
 
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
 
.p-2 {
padding: 0.5rem 0.5rem !important;
}
 
.pt-2 {
padding-top: 0.5rem !important;
}
 
.pr-2 {
padding-right: 0.5rem !important;
}
 
.pb-2 {
padding-bottom: 0.5rem !important;
}
 
.pl-2 {
padding-left: 0.5rem !important;
}
 
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
 
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
 
.p-3 {
padding: 1rem 1rem !important;
}
 
.pt-3 {
padding-top: 1rem !important;
}
 
.pr-3 {
padding-right: 1rem !important;
}
 
.pb-3 {
padding-bottom: 1rem !important;
}
 
.pl-3 {
padding-left: 1rem !important;
}
 
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
 
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
 
.p-4 {
padding: 1.5rem 1.5rem !important;
}
 
.pt-4 {
padding-top: 1.5rem !important;
}
 
.pr-4 {
padding-right: 1.5rem !important;
}
 
.pb-4 {
padding-bottom: 1.5rem !important;
}
 
.pl-4 {
padding-left: 1.5rem !important;
}
 
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
 
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
 
.p-5 {
padding: 3rem 3rem !important;
}
 
.pt-5 {
padding-top: 3rem !important;
}
 
.pr-5 {
padding-right: 3rem !important;
}
 
.pb-5 {
padding-bottom: 3rem !important;
}
 
.pl-5 {
padding-left: 3rem !important;
}
 
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
 
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
 
.m-auto {
margin: auto !important;
}
 
.mt-auto {
margin-top: auto !important;
}
 
.mr-auto {
margin-right: auto !important;
}
 
.mb-auto {
margin-bottom: auto !important;
}
 
.ml-auto {
margin-left: auto !important;
}
 
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
 
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
 
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mr-sm-0 {
margin-right: 0 !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.ml-sm-0 {
margin-left: 0 !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-sm-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mr-sm-1 {
margin-right: 0.25rem !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.ml-sm-1 {
margin-left: 0.25rem !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mr-sm-2 {
margin-right: 0.5rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.ml-sm-2 {
margin-left: 0.5rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mr-sm-3 {
margin-right: 1rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.ml-sm-3 {
margin-left: 1rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mr-sm-4 {
margin-right: 1.5rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.ml-sm-4 {
margin-left: 1.5rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mr-sm-5 {
margin-right: 3rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.ml-sm-5 {
margin-left: 3rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-sm-0 {
padding: 0 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pr-sm-0 {
padding-right: 0 !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pl-sm-0 {
padding-left: 0 !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-sm-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pr-sm-1 {
padding-right: 0.25rem !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pl-sm-1 {
padding-left: 0.25rem !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pr-sm-2 {
padding-right: 0.5rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pl-sm-2 {
padding-left: 0.5rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pr-sm-3 {
padding-right: 1rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pl-sm-3 {
padding-left: 1rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pr-sm-4 {
padding-right: 1.5rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pl-sm-4 {
padding-left: 1.5rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pr-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.pl-sm-5 {
padding-left: 3rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.mr-sm-auto {
margin-right: auto !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ml-sm-auto {
margin-left: auto !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 768px) {
.m-md-0 {
margin: 0 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mr-md-0 {
margin-right: 0 !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.ml-md-0 {
margin-left: 0 !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-md-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mr-md-1 {
margin-right: 0.25rem !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.ml-md-1 {
margin-left: 0.25rem !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mr-md-2 {
margin-right: 0.5rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.ml-md-2 {
margin-left: 0.5rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-md-3 {
margin: 1rem 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mr-md-3 {
margin-right: 1rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.ml-md-3 {
margin-left: 1rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-md-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mr-md-4 {
margin-right: 1.5rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.ml-md-4 {
margin-left: 1.5rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-md-5 {
margin: 3rem 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mr-md-5 {
margin-right: 3rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.ml-md-5 {
margin-left: 3rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-md-0 {
padding: 0 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pr-md-0 {
padding-right: 0 !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pl-md-0 {
padding-left: 0 !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-md-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pr-md-1 {
padding-right: 0.25rem !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pl-md-1 {
padding-left: 0.25rem !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pr-md-2 {
padding-right: 0.5rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pl-md-2 {
padding-left: 0.5rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-md-3 {
padding: 1rem 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pr-md-3 {
padding-right: 1rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pl-md-3 {
padding-left: 1rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-md-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pr-md-4 {
padding-right: 1.5rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pl-md-4 {
padding-left: 1.5rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-md-5 {
padding: 3rem 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pr-md-5 {
padding-right: 3rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.pl-md-5 {
padding-left: 3rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.mr-md-auto {
margin-right: auto !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ml-md-auto {
margin-left: auto !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mr-lg-0 {
margin-right: 0 !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.ml-lg-0 {
margin-left: 0 !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-lg-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mr-lg-1 {
margin-right: 0.25rem !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.ml-lg-1 {
margin-left: 0.25rem !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mr-lg-2 {
margin-right: 0.5rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.ml-lg-2 {
margin-left: 0.5rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mr-lg-3 {
margin-right: 1rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.ml-lg-3 {
margin-left: 1rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mr-lg-4 {
margin-right: 1.5rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.ml-lg-4 {
margin-left: 1.5rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mr-lg-5 {
margin-right: 3rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.ml-lg-5 {
margin-left: 3rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-lg-0 {
padding: 0 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pr-lg-0 {
padding-right: 0 !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pl-lg-0 {
padding-left: 0 !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-lg-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pr-lg-1 {
padding-right: 0.25rem !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pl-lg-1 {
padding-left: 0.25rem !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pr-lg-2 {
padding-right: 0.5rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pl-lg-2 {
padding-left: 0.5rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pr-lg-3 {
padding-right: 1rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pl-lg-3 {
padding-left: 1rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pr-lg-4 {
padding-right: 1.5rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pl-lg-4 {
padding-left: 1.5rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pr-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.pl-lg-5 {
padding-left: 3rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.mr-lg-auto {
margin-right: auto !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ml-lg-auto {
margin-left: auto !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mr-xl-0 {
margin-right: 0 !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.ml-xl-0 {
margin-left: 0 !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-xl-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mr-xl-1 {
margin-right: 0.25rem !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.ml-xl-1 {
margin-left: 0.25rem !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mr-xl-2 {
margin-right: 0.5rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.ml-xl-2 {
margin-left: 0.5rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mr-xl-3 {
margin-right: 1rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.ml-xl-3 {
margin-left: 1rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mr-xl-4 {
margin-right: 1.5rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.ml-xl-4 {
margin-left: 1.5rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mr-xl-5 {
margin-right: 3rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.ml-xl-5 {
margin-left: 3rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-xl-0 {
padding: 0 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pr-xl-0 {
padding-right: 0 !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pl-xl-0 {
padding-left: 0 !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-xl-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pr-xl-1 {
padding-right: 0.25rem !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pl-xl-1 {
padding-left: 0.25rem !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pr-xl-2 {
padding-right: 0.5rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pl-xl-2 {
padding-left: 0.5rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pr-xl-3 {
padding-right: 1rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pl-xl-3 {
padding-left: 1rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pr-xl-4 {
padding-right: 1.5rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pl-xl-4 {
padding-left: 1.5rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pr-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.pl-xl-5 {
padding-left: 3rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.mr-xl-auto {
margin-right: auto !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ml-xl-auto {
margin-left: auto !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
.text-justify {
text-align: justify !important;
}
 
.text-nowrap {
white-space: nowrap !important;
}
 
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
 
.text-left {
text-align: left !important;
}
 
.text-right {
text-align: right !important;
}
 
.text-center {
text-align: center !important;
}
 
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important;
}
.text-sm-right {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
 
@media (min-width: 768px) {
.text-md-left {
text-align: left !important;
}
.text-md-right {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
 
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important;
}
.text-lg-right {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
 
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important;
}
.text-xl-right {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
 
.text-lowercase {
text-transform: lowercase !important;
}
 
.text-uppercase {
text-transform: uppercase !important;
}
 
.text-capitalize {
text-transform: capitalize !important;
}
 
.font-weight-normal {
font-weight: normal;
}
 
.font-weight-bold {
font-weight: bold;
}
 
.font-italic {
font-style: italic;
}
 
.text-white {
color: #fff !important;
}
 
.text-muted {
color: #636c72 !important;
}
 
a.text-muted:focus, a.text-muted:hover {
color: #4b5257 !important;
}
 
.text-primary {
color: #0275d8 !important;
}
 
a.text-primary:focus, a.text-primary:hover {
color: #025aa5 !important;
}
 
.text-success {
color: #5cb85c !important;
}
 
a.text-success:focus, a.text-success:hover {
color: #449d44 !important;
}
 
.text-info {
color: #5bc0de !important;
}
 
a.text-info:focus, a.text-info:hover {
color: #31b0d5 !important;
}
 
.text-warning {
color: #f0ad4e !important;
}
 
a.text-warning:focus, a.text-warning:hover {
color: #ec971f !important;
}
 
.text-danger {
color: #d9534f !important;
}
 
a.text-danger:focus, a.text-danger:hover {
color: #c9302c !important;
}
 
.text-gray-dark {
color: #292b2c !important;
}
 
a.text-gray-dark:focus, a.text-gray-dark:hover {
color: #101112 !important;
}
 
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
 
.invisible {
visibility: hidden !important;
}
 
.hidden-xs-up {
display: none !important;
}
 
@media (max-width: 575px) {
.hidden-xs-down {
display: none !important;
}
}
 
@media (min-width: 576px) {
.hidden-sm-up {
display: none !important;
}
}
 
@media (max-width: 767px) {
.hidden-sm-down {
display: none !important;
}
}
 
@media (min-width: 768px) {
.hidden-md-up {
display: none !important;
}
}
 
@media (max-width: 991px) {
.hidden-md-down {
display: none !important;
}
}
 
@media (min-width: 992px) {
.hidden-lg-up {
display: none !important;
}
}
 
@media (max-width: 1199px) {
.hidden-lg-down {
display: none !important;
}
}
 
@media (min-width: 1200px) {
.hidden-xl-up {
display: none !important;
}
}
 
.hidden-xl-down {
display: none !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;
}
}
/*# sourceMappingURL=bootstrap.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE,cAAgB,MAAA,aAGlB,KACE,mBAAA,WAAA,WAAA,WACA,mBAAA,UAGF,EAAA,QAAA,SAGE,mBAAA,QAAA,WAAA,QChBA,WCAA,SAAA,SACA,YAAA,KACA,aAAA,KAKI,cAAA,KACA,aAAA,KC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,0BFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,0BFnDF,WCkBI,MAAA,OACA,UAAA,MDPJ,iBCZA,SAAA,SACA,YAAA,KACA,aAAA,KAKI,cAAA,KACA,aAAA,KC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,0BFvCF,iBCLI,cAAA,KACA,aAAA,MDcJ,KCaA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KAKI,aAAA,MACA,YAAA,MCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,0BF7BF,KCmBI,aAAA,MACA,YAAA,ODdJ,YACE,aAAA,EACA,YAAA,EAFF,iBAAA,0BAMI,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UACE,SAAA,SACA,MAAA,KACA,WAAA,IFuBE,cAAA,KACA,aAAA,KCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,0BCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MEJA,KACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,QFuCR,MAAA,KEvCQ,QFuCR,MAAA,UEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,SFuCR,MAAA,WEvCQ,SFuCR,MAAA,WEvCQ,SFuCR,MAAA,KEvCQ,QFmCR,KAAA,KEnCQ,QFmCR,KAAA,UEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,SFmCR,KAAA,WEnCQ,SFmCR,KAAA,WEnCQ,SFmCR,KAAA,KE1BQ,UFsBR,YAAA,UEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,WFsBR,YAAA,WEtBQ,WFsBR,YAAA,WCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,0BC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA"}
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/css/bootstrap.min.css
New file
0,0 → 1,6
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}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.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.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 .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:.75rem 1.25rem;background-color:#f7f7f9;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:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{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:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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:1030}.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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!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}}/*# sourceMappingURL=bootstrap.min.css.map */
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/js/bootstrap.js
New file
0,0 → 1,3535
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
 
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
 
+function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}(jQuery);
 
 
+function () {
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
 
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Util = function ($) {
 
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
 
var transition = false;
 
var MAX_UID = 1000000;
 
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
 
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
 
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
 
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
return undefined;
}
};
}
 
function transitionEndTest() {
if (window.QUnit) {
return false;
}
 
var el = document.createElement('bootstrap');
 
for (var name in TransitionEndEvent) {
if (el.style[name] !== undefined) {
return {
end: TransitionEndEvent[name]
};
}
}
 
return false;
}
 
function transitionEndEmulator(duration) {
var _this = this;
 
var called = false;
 
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
 
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
 
return this;
}
 
function setTransitionEndSupport() {
transition = transitionEndTest();
 
$.fn.emulateTransitionEnd = transitionEndEmulator;
 
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
 
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
 
var Util = {
 
TRANSITION_END: 'bsTransitionEnd',
 
getUID: function getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
 
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
 
return selector;
},
reflow: function reflow(element) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
 
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
 
setTransitionEndSupport();
 
return Util;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Alert = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'alert';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
 
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Alert = function () {
function Alert(element) {
_classCallCheck(this, Alert);
 
this._element = element;
}
 
// getters
 
// public
 
Alert.prototype.close = function close(element) {
element = element || this._element;
 
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
 
if (customEvent.isDefaultPrevented()) {
return;
}
 
this._removeElement(rootElement);
};
 
Alert.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Alert.prototype._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element);
var parent = false;
 
if (selector) {
parent = $(selector)[0];
}
 
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
 
return parent;
};
 
Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
 
$(element).trigger(closeEvent);
return closeEvent;
};
 
Alert.prototype._removeElement = function _removeElement(element) {
var _this2 = this;
 
$(element).removeClass(ClassName.SHOW);
 
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
 
$(element).one(Util.TRANSITION_END, function (event) {
return _this2._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Alert.prototype._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
};
 
// static
 
Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
 
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
 
if (config === 'close') {
data[config](this);
}
});
};
 
Alert._handleDismiss = function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
 
alertInstance.close(this);
};
};
 
_createClass(Alert, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Alert;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
 
return Alert;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Button = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'button';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
 
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
 
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Button = function () {
function Button(element) {
_classCallCheck(this, Button);
 
this._element = element;
}
 
// getters
 
// public
 
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
 
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
 
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
 
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
 
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
 
input.focus();
}
}
 
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
 
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
};
 
Button.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// static
 
Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
 
if (config === 'toggle') {
data[config]();
}
});
};
 
_createClass(Button, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Button;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
 
var button = event.target;
 
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
 
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
 
return Button;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Carousel = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'carousel';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
 
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
 
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
 
var Direction = {
NEXT: 'next',
PREV: 'prev',
LEFT: 'left',
RIGHT: 'right'
};
 
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'carousel-item-right',
LEFT: 'carousel-item-left',
NEXT: 'carousel-item-next',
PREV: 'carousel-item-prev',
ITEM: 'carousel-item'
};
 
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Carousel = function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
 
this._items = null;
this._interval = null;
this._activeElement = null;
 
this._isPaused = false;
this._isSliding = false;
 
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
 
this._addEventListeners();
}
 
// getters
 
// public
 
Carousel.prototype.next = function next() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.NEXT);
};
 
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
};
 
Carousel.prototype.prev = function prev() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.PREVIOUS);
};
 
Carousel.prototype.pause = function pause(event) {
if (!event) {
this._isPaused = true;
}
 
if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
 
clearInterval(this._interval);
this._interval = null;
};
 
Carousel.prototype.cycle = function cycle(event) {
if (!event) {
this._isPaused = false;
}
 
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
 
if (this._config.interval && !this._isPaused) {
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
 
Carousel.prototype.to = function to(index) {
var _this3 = this;
 
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
 
var activeIndex = this._getItemIndex(this._activeElement);
 
if (index > this._items.length - 1 || index < 0) {
return;
}
 
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this3.to(index);
});
return;
}
 
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
 
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
 
this._slide(direction, this._items[index]);
};
 
Carousel.prototype.dispose = function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
 
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
};
 
// private
 
Carousel.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Carousel.prototype._addEventListeners = function _addEventListeners() {
var _this4 = this;
 
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, function (event) {
return _this4._keydown(event);
});
}
 
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
}
};
 
Carousel.prototype._keydown = function _keydown(event) {
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
 
switch (event.which) {
case ARROW_LEFT_KEYCODE:
event.preventDefault();
this.prev();
break;
case ARROW_RIGHT_KEYCODE:
event.preventDefault();
this.next();
break;
default:
return;
}
};
 
Carousel.prototype._getItemIndex = function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
};
 
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
 
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
 
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
 
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName
});
 
$(this._element).trigger(slideEvent);
 
return slideEvent;
};
 
Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
};
 
Carousel.prototype._slide = function _slide(direction, element) {
var _this5 = this;
 
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
var isCycling = Boolean(this._interval);
 
var directionalClassName = void 0;
var orderClassName = void 0;
var eventDirectionName = void 0;
 
if (direction === Direction.NEXT) {
directionalClassName = ClassName.LEFT;
orderClassName = ClassName.NEXT;
eventDirectionName = Direction.LEFT;
} else {
directionalClassName = ClassName.RIGHT;
orderClassName = ClassName.PREV;
eventDirectionName = Direction.RIGHT;
}
 
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
 
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.isDefaultPrevented()) {
return;
}
 
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
 
this._isSliding = true;
 
if (isCycling) {
this.pause();
}
 
this._setActiveIndicatorElement(nextElement);
 
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: eventDirectionName
});
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
 
$(nextElement).addClass(orderClassName);
 
Util.reflow(nextElement);
 
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
 
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
 
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
 
_this5._isSliding = false;
 
setTimeout(function () {
return $(_this5._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
 
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
 
if (isCycling) {
this.cycle();
}
};
 
// static
 
Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
 
if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
$.extend(_config, config);
}
 
var action = typeof config === 'string' ? config : _config.slide;
 
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
};
 
Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
var selector = Util.getSelectorFromElement(this);
 
if (!selector) {
return;
}
 
var target = $(selector)[0];
 
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
 
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
 
if (slideIndex) {
config.interval = false;
}
 
Carousel._jQueryInterface.call($(target), config);
 
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
 
event.preventDefault();
};
 
_createClass(Carousel, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Carousel;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
 
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
 
return Carousel;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Collapse = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'collapse';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
 
var Default = {
toggle: true,
parent: ''
};
 
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
 
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SHOW: 'show',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
 
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
 
var Selector = {
ACTIVES: '.card > .show, .card > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Collapse = function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
 
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
 
this._parent = this._config.parent ? this._getParent() : null;
 
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
 
if (this._config.toggle) {
this.toggle();
}
}
 
// getters
 
// public
 
Collapse.prototype.toggle = function toggle() {
if ($(this._element).hasClass(ClassName.SHOW)) {
this.hide();
} else {
this.show();
}
};
 
Collapse.prototype.show = function show() {
var _this6 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if ($(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var actives = void 0;
var activesData = void 0;
 
if (this._parent) {
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
 
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
 
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
 
var dimension = this._getDimension();
 
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
 
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
 
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
 
_this6._element.style[dimension] = '';
 
_this6.setTransitioning(false);
 
$(_this6._element).trigger(Event.SHOWN);
};
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
 
this._element.style[dimension] = this._element[scrollSize] + 'px';
};
 
Collapse.prototype.hide = function hide() {
var _this7 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if (!$(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
 
this._element.style[dimension] = this._element[offsetDimension] + 'px';
 
Util.reflow(this._element);
 
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
 
this._element.setAttribute('aria-expanded', false);
 
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
_this7.setTransitioning(false);
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
 
this._element.style[dimension] = '';
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
};
 
Collapse.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
};
 
// private
 
Collapse.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Collapse.prototype._getDimension = function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
};
 
Collapse.prototype._getParent = function _getParent() {
var _this8 = this;
 
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
 
$(parent).find(selector).each(function (i, element) {
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
 
return parent;
};
 
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
element.setAttribute('aria-expanded', isOpen);
 
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
};
 
// static
 
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
};
 
Collapse._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
 
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Collapse, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Collapse;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
 
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
 
Collapse._jQueryInterface.call($(target), config);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
 
return Collapse;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Dropdown = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
 
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Dropdown = function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
 
this._element = element;
 
this._addEventListeners();
}
 
// getters
 
// public
 
Dropdown.prototype.toggle = function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
Dropdown._clearMenus();
 
if (isActive) {
return false;
}
 
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
 
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
 
var relatedTarget = {
relatedTarget: this
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
 
$(parent).trigger(showEvent);
 
if (showEvent.isDefaultPrevented()) {
return false;
}
 
this.focus();
this.setAttribute('aria-expanded', true);
 
$(parent).toggleClass(ClassName.SHOW);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
 
return false;
};
 
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
};
 
// private
 
Dropdown.prototype._addEventListeners = function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
};
 
// static
 
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Dropdown(this);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
};
 
Dropdown._clearMenus = function _clearMenus(event) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
 
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
 
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
 
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = {
relatedTarget: toggles[i]
};
 
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
 
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
continue;
}
 
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
 
toggles[i].setAttribute('aria-expanded', 'false');
 
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
 
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent = void 0;
var selector = Util.getSelectorFromElement(element);
 
if (selector) {
parent = $(selector)[0];
}
 
return parent || element.parentNode;
};
 
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
 
event.preventDefault();
event.stopPropagation();
 
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
 
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
 
$(this).trigger('click');
return;
}
 
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
 
if (!items.length) {
return;
}
 
var index = items.indexOf(event.target);
 
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
 
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}
 
if (index < 0) {
index = 0;
}
 
items[index].focus();
};
 
_createClass(Dropdown, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Dropdown;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
 
return Dropdown;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Modal = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'modal';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
 
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
 
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Modal = function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
 
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
 
// getters
 
// public
 
Modal.prototype.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
 
Modal.prototype.show = function show(relatedTarget) {
var _this9 = this;
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
 
$(this._element).trigger(showEvent);
 
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = true;
 
this._checkScrollbar();
this._setScrollbar();
 
$(document.body).addClass(ClassName.OPEN);
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
return _this9.hide(event);
});
 
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this9._element)) {
_this9._ignoreBackdropClick = true;
}
});
});
 
this._showBackdrop(function () {
return _this9._showElement(relatedTarget);
});
};
 
Modal.prototype.hide = function hide(event) {
var _this10 = this;
 
if (event) {
event.preventDefault();
}
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
}
 
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
 
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = false;
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(document).off(Event.FOCUSIN);
 
$(this._element).removeClass(ClassName.SHOW);
 
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
if (transition) {
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this10._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
};
 
Modal.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
 
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
 
// private
 
Modal.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Modal.prototype._showElement = function _showElement(relatedTarget) {
var _this11 = this;
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
 
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
 
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0;
 
if (transition) {
Util.reflow(this._element);
}
 
$(this._element).addClass(ClassName.SHOW);
 
if (this._config.focus) {
this._enforceFocus();
}
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
 
var transitionComplete = function transitionComplete() {
if (_this11._config.focus) {
_this11._element.focus();
}
_this11._isTransitioning = false;
$(_this11._element).trigger(shownEvent);
};
 
if (transition) {
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
};
 
Modal.prototype._enforceFocus = function _enforceFocus() {
var _this12 = this;
 
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
_this12._element.focus();
}
});
};
 
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
var _this13 = this;
 
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
_this13.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
};
 
Modal.prototype._setResizeEvent = function _setResizeEvent() {
var _this14 = this;
 
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
return _this14._handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
}
};
 
Modal.prototype._hideModal = function _hideModal() {
var _this15 = this;
 
this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this15._resetAdjustments();
_this15._resetScrollbar();
$(_this15._element).trigger(Event.HIDDEN);
});
};
 
Modal.prototype._removeBackdrop = function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
};
 
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
var _this16 = this;
 
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
 
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
 
if (animate) {
$(this._backdrop).addClass(animate);
}
 
$(this._backdrop).appendTo(document.body);
 
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this16._ignoreBackdropClick) {
_this16._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this16._config.backdrop === 'static') {
_this16._element.focus();
} else {
_this16.hide();
}
});
 
if (doAnimate) {
Util.reflow(this._backdrop);
}
 
$(this._backdrop).addClass(ClassName.SHOW);
 
if (!callback) {
return;
}
 
if (!doAnimate) {
callback();
return;
}
 
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
 
var callbackRemove = function callbackRemove() {
_this16._removeBackdrop();
if (callback) {
callback();
}
};
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
};
 
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
 
Modal.prototype._handleUpdate = function _handleUpdate() {
this._adjustDialog();
};
 
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
 
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetAdjustments = function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
};
 
Modal.prototype._checkScrollbar = function _checkScrollbar() {
this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
 
Modal.prototype._setScrollbar = function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
 
this._originalBodyPadding = document.body.style.paddingRight || '';
 
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetScrollbar = function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
};
 
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
 
// static
 
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
};
 
_createClass(Modal, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Modal;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this17 = this;
 
var target = void 0;
var selector = Util.getSelectorFromElement(this);
 
if (selector) {
target = $(selector)[0];
}
 
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
 
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
 
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
 
$target.one(Event.HIDDEN, function () {
if ($(_this17).is(':visible')) {
_this17.focus();
}
});
});
 
Modal._jQueryInterface.call($(target), config, this);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
 
return Modal;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var ScrollSpy = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = {
offset: 10,
method: 'auto',
target: ''
};
 
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
 
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
 
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
 
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var ScrollSpy = function () {
function ScrollSpy(element, config) {
var _this18 = this;
 
_classCallCheck(this, ScrollSpy);
 
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
 
$(this._scrollElement).on(Event.SCROLL, function (event) {
return _this18._process(event);
});
 
this.refresh();
this._process();
}
 
// getters
 
// public
 
ScrollSpy.prototype.refresh = function refresh() {
var _this19 = this;
 
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
 
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
 
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
 
this._offsets = [];
this._targets = [];
 
this._scrollHeight = this._getScrollHeight();
 
var targets = $.makeArray($(this._selector));
 
targets.map(function (element) {
var target = void 0;
var targetSelector = Util.getSelectorFromElement(element);
 
if (targetSelector) {
target = $(targetSelector)[0];
}
 
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
return null;
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this19._offsets.push(item[0]);
_this19._targets.push(item[1]);
});
};
 
ScrollSpy.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
 
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
};
 
// private
 
ScrollSpy.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
 
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = Util.getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
 
Util.typeCheckConfig(NAME, config, DefaultType);
 
return config;
};
 
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
 
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
};
 
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
};
 
ScrollSpy.prototype._process = function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
 
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
 
if (this._activeTarget !== target) {
this._activate(target);
}
return;
}
 
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
this._activeTarget = null;
this._clear();
return;
}
 
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
 
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
};
 
ScrollSpy.prototype._activate = function _activate(target) {
this._activeTarget = target;
 
this._clear();
 
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
 
var $link = $(queries.join(','));
 
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus...
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
 
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
};
 
ScrollSpy.prototype._clear = function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
};
 
// static
 
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(ScrollSpy, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return ScrollSpy;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
 
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
 
return ScrollSpy;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tab = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tab';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
DISABLED: 'disabled',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tab = function () {
function Tab(element) {
_classCallCheck(this, Tab);
 
this._element = element;
}
 
// getters
 
// public
 
Tab.prototype.show = function show() {
var _this20 = this;
 
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
 
var target = void 0;
var previous = void 0;
var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
 
if (listElement) {
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
 
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
 
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
 
if (previous) {
$(previous).trigger(hideEvent);
}
 
$(this._element).trigger(showEvent);
 
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
 
if (selector) {
target = $(selector)[0];
}
 
this._activate(this._element, listElement);
 
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this20._element
});
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
 
$(previous).trigger(hiddenEvent);
$(_this20._element).trigger(shownEvent);
};
 
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
};
 
Tab.prototype.dispose = function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Tab.prototype._activate = function _activate(element, container, callback) {
var _this21 = this;
 
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
 
var complete = function complete() {
return _this21._transitionComplete(element, active, isTransitioning, callback);
};
 
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
if (active) {
$(active).removeClass(ClassName.SHOW);
}
};
 
Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
 
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
 
active.setAttribute('aria-expanded', false);
}
 
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
 
if (isTransitioning) {
Util.reflow(element);
$(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
 
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
 
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
 
element.setAttribute('aria-expanded', true);
}
 
if (callback) {
callback();
}
};
 
// static
 
Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
 
if (!data) {
data = new Tab(this);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tab, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Tab;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
 
return Tab;
}(jQuery);
 
/* global Tether */
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tooltip = function ($) {
 
/**
* Check for Tether dependency
* Tether - http://tether.io/
*/
if (typeof Tether === 'undefined') {
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
}
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
 
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: [],
container: false
};
 
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array',
container: '(string|element|boolean)'
};
 
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
 
var HoverState = {
SHOW: 'show',
OUT: 'out'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
 
var TetherClass = {
element: false,
enabled: false
};
 
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tooltip = function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
 
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._isTransitioning = false;
this._tether = null;
 
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
 
this._setListeners();
}
 
// getters
 
// public
 
Tooltip.prototype.enable = function enable() {
this._isEnabled = true;
};
 
Tooltip.prototype.disable = function disable() {
this._isEnabled = false;
};
 
Tooltip.prototype.toggleEnabled = function toggleEnabled() {
this._isEnabled = !this._isEnabled;
};
 
Tooltip.prototype.toggle = function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
context._activeTrigger.click = !context._activeTrigger.click;
 
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
 
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
this._leave(null, this);
return;
}
 
this._enter(null, this);
}
};
 
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
 
this.cleanupTether();
 
$.removeData(this.element, this.constructor.DATA_KEY);
 
$(this.element).off(this.constructor.EVENT_KEY);
$(this.element).closest('.modal').off('hide.bs.modal');
 
if (this.tip) {
$(this.tip).remove();
}
 
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
 
this.element = null;
this.config = null;
this.tip = null;
};
 
Tooltip.prototype.show = function show() {
var _this22 = this;
 
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
 
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
$(this.element).trigger(showEvent);
 
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
 
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
 
var tip = this.getTipElement();
var tipId = Util.getUID(this.constructor.NAME);
 
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
 
this.setContent();
 
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
 
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
 
var attachment = this._getAttachment(placement);
 
var container = this.config.container === false ? document.body : $(this.config.container);
 
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
 
$(this.element).trigger(this.constructor.Event.INSERTED);
 
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
 
Util.reflow(tip);
this._tether.position();
 
$(tip).addClass(ClassName.SHOW);
 
var complete = function complete() {
var prevHoverState = _this22._hoverState;
_this22._hoverState = null;
_this22._isTransitioning = false;
 
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
 
if (prevHoverState === HoverState.OUT) {
_this22._leave(null, _this22);
}
};
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
 
complete();
}
};
 
Tooltip.prototype.hide = function hide(callback) {
var _this23 = this;
 
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
var complete = function complete() {
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
 
_this23.element.removeAttribute('aria-describedby');
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
_this23._isTransitioning = false;
_this23.cleanupTether();
 
if (callback) {
callback();
}
};
 
$(this.element).trigger(hideEvent);
 
if (hideEvent.isDefaultPrevented()) {
return;
}
 
$(tip).removeClass(ClassName.SHOW);
 
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
this._hoverState = '';
};
 
// protected
 
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
 
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
};
 
Tooltip.prototype.getTitle = function getTitle() {
var title = this.element.getAttribute('data-original-title');
 
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
 
return title;
};
 
Tooltip.prototype.cleanupTether = function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
};
 
// private
 
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
};
 
Tooltip.prototype._setListeners = function _setListeners() {
var _this24 = this;
 
var triggers = this.config.trigger.split(' ');
 
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
return _this24.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
 
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
return _this24._enter(event);
}).on(eventOut, _this24.config.selector, function (event) {
return _this24._leave(event);
});
}
 
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
return _this24.hide();
});
});
 
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
};
 
Tooltip.prototype._fixTitle = function _fixTitle() {
var titleType = _typeof(this.element.getAttribute('data-original-title'));
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
};
 
Tooltip.prototype._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
 
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW;
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.SHOW;
 
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.SHOW) {
context.show();
}
}, context.config.delay.show);
};
 
Tooltip.prototype._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
 
if (context._isWithActiveTrigger()) {
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.OUT;
 
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
};
 
Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
 
return false;
};
 
Tooltip.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
 
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
 
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 
return config;
};
 
Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
var config = {};
 
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
 
return config;
};
 
// static
 
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data && /dispose|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tooltip, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Tooltip;
}();
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
 
return Tooltip;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Popover = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'popover';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
 
var DefaultType = $.extend({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Popover = function (_Tooltip) {
_inherits(Popover, _Tooltip);
 
function Popover() {
_classCallCheck(this, Popover);
 
return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
}
 
// overrides
 
Popover.prototype.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
 
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Popover.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
// private
 
Popover.prototype._getContent = function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
 
// static
 
Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
 
if (!data && /destroy|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Popover, null, [{
key: 'VERSION',
 
 
// getters
 
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Popover;
}(Tooltip);
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
 
return Popover;
}(jQuery);
 
}();
/branches/v3.01-serpe/widget/modules/lg/squelettes/css/bootstrap-4/js/bootstrap.min.js
New file
0,0 → 1,7
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="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},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.6",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.6",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.6",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API+" "+_.FOCUSIN_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;
if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.6",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.6",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.6",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}();
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/UtilsLg.js
New file
0,0 → 1,523
function UtilsLg() {
// this.infosUtilisateur = null;
this.langue = $( 'body' ).data( 'lang' );
this.urlRacine = window.location.origin;
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-lichens' : 'Saisir les lichens',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-lichens' : 'Enter the lichens',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.'
}
};
}
 
 
UtilsLg.prototype.chargerForm = function( nomSquelette, lgFormObj ) {
const lthis = this;
var urlSqueletteArbres = this.urlRacine + '/widget:cel:lg?squelette=' + nomSquelette;
 
$.ajax({
url: urlSqueletteArbres,
type: 'get',
success: function( squelette ) {
if ( lthis.valOk( squelette ) ) {
lgFormObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
UtilsLg.prototype.chargerFormLichens = function( squelette, nomSquelette ) {
if ( this.valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( var i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
UtilsLg.prototype.formaterReleveData = function( releveDatas ) {
var releve = [],
obs = releveDatas.obs,
obsE = releveDatas.obsE;
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
latitude : obs.latitude,
longitude : obs.longitude,
altitude : obs.altitude,
commentaires : obs.commentaire
};
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
UtilsLg.prototype.formaterArbreData = function( arbresDatas ) {
var retour = {},
obs = arbresDatas.obs,
obsE = arbresDatas.obsE,
miniatureImg = [];
if( this.valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( this.valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'latitude-arbres' : obsE['latitude-arbres'],
'longitude-arbres' : obsE['longitude-arbres'],
'altitude-arbres' : obsE['altitude-arbres'],
'circonference' : obsE.circonference,
'face-ombre' : obsE['face-ombre'],
'com-arbres' : obsE['com-arbres']
};
return retour;
};
 
UtilsLg.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
var dateArray = dateObs.split( '-' );
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.log( 'erreur date : ' + dateObs )
}
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
UtilsLg.prototype.msgTraduction = function( cle ) {
var msg = 'N/A';
 
if ( this.msgs ) {
if ( this.langue in this.msgs && cle in this.msgs[this.langue] ) {
msg = this.msgs[this.langue][cle];
} else if ( cle in this.msgs['fr'] ) {
msg = this.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
UtilsLg.prototype.valOk = function( valeur, sensComparaison = true, comparer = undefined ) {
var retour = true;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
} else {
// Un booléen est une valeur valable
return true;
}
}
 
// Lib hors objet
 
/*************************************
* Fonctions de Style et Affichage *
* des éléments "spéciaux" *
*************************************/
 
// Logique d'affichage pour le input type=file
function inputFile() {
// Initialisation des variables
var $fileInput = $( '.input-file' ),
$button = $( '.label-file' );
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#charger-form' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
}
 
// Style et affichage des list-checkboxes
function inputListCheckbox() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
var target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
var $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( var i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
var $otherListCheckboxes = $( '.checkboxes' )[i];
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
}
 
// Style et affichage des input type="range"
function inputRangeDisplayNumber() {
$( 'input[type="range"]','#charger-form' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
var $this = $( this );
$this.text( '' );
});
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function newFieldsHelpModal() {
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
var thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide pour : ' + $( this ).data( 'name' ) );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
// var extention = 'jpg';
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + thisFieldKey + '.' + extention + '" style="max-width:100%" alt="' + thisFieldKey + '" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
})
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function projetHelpModale() {
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
var fileMimeType = $( this ).data( 'mime-info' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide du projet : ' + $( '#titre-projet' ).text() );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + 'info.' + extention + '" style="max-width:100%" alt="info projet" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
});
 
});
}
 
// Faire apparaitre un champ text "Autre"
function onOtherOption() {
const PREFIX = 'collect-other-';
 
// Ajouter un champ texte pour "Autre"
function optionAdd( otherId, $target, element, dataName ) {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
}
 
// Supprimer un champ texte pour "Autre"
function optionRemove( otherId ) {
$( '.' + otherId + ', #' + otherId ).remove();
}
 
$( '.other', '#form-arbre' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else if ( $( this ).is( ':checked' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
}
});
 
$( '#charger-form' ).on( 'change', '.select', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'change', 'input[type=radio]', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
 
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
}
 
function collectOtherOption() {
$( '#charger-form' ).on( 'change', '.collect-other', function () {
var otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' );
var element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
}
 
/***************************
* Lancement des scripts *
***************************/
const CHEMIN_FICHIERS = $( '#zone-appli' ).data('url-fichiers');
 
jQuery( document ).ready( function() {
// Modale "aide" du projet
projetHelpModale();
// Affichage input file
inputFile();
// Affichage des List-checkbox
inputListCheckbox();
// Affichage des Range
inputRangeDisplayNumber()
// Modale "aide"
newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
onOtherOption();
// Récupérer les données entrées dans "Autre"
collectOtherOption();
});
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/ReleveLg.js
New file
0,0 → 1,2051
/**
* Constructeur ReleveLg par défaut
*/
function ReleveLg() {
this.obsNbre = 0;
this.numArbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.obsId = null;
this.serviceSaisieUrl = null;
this.serviceObsUrl = null;
this.serviceObsListUrl = null;
this.serviceObsImgs = null;
this.serviceObsImgUrl = null;
this.nomSciReferentiel = null;
this.isTaxonListe = false;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.serviceNomCommuneUrl = null;
this.serviceNomCommuneUrlAlt = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsLg();
}
 
ReleveLg.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveLg.prototype.initForm = function() {
const lthis = this;
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) ) {
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() );
releveDatas = $.parseJSON( $( '#releve-data' ).val() );
 
if ( !this.utils.valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( this.utils.valOk( $( '#lg-obs' ).val() ) ) {
const lgObs = $.parseJSON( $( '#lg-obs' ).val() );
 
$( '.charger-releve,.saisir-lichens' ).click( function() {
var nomSquelette = $( this ).data( 'load' );
releveDatas = lgObs[ $( this ).data( 'releve' ) ];
$( '#releve-data' ).val( JSON.stringify( releveDatas ) );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveLg.prototype.initEvts = function() {
const lthis = this;
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
}
});
 
// Empêcher que le module carto ne bind ses events partout
$( '#tb-geolocation' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '*', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation' ).on( 'location' , lthis.locationHandler.bind( lthis ) );
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
// Gérer une option "aucune" sur plusieurs checkboxes
$( '#face-ombre input' ).on( 'click', function () {
if ( 'aucune' === $( this ).val() ) {
$( '#face-ombre input' ).not( '#aucune' ).prop( 'checked' , false );
} else {
$( '#aucune' ).prop( 'checked' , false );
}
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#soumettre-releve' ).on( 'click', function( even ) {
event.preventDefault();
lthis.saisirArbres();
});
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
var numArbre = $( this ).data( 'arbre-info' );
lthis.chargerInfosArbre( numArbre );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
var numArbre = lthis.numArbre + 1;
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
});
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement lichens
$( '#charger-form' ).on( 'click', '#bouton-saisir-lichens', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
ReleveLg.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'lichens' :
this.utils.chargerFormLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
ReleveLg.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveLg.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( lthis.utils.valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300, function() {
$( '#releve-date' ).focus();
});
if (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveLg.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
var infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
arbre : {}
};
 
for( var i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.arbre = this.releveDatas[i];
this.lienArbreInfo( infosArbre.arbre['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveLg.prototype.lienArbreInfo = function( numArbre ) {
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
 
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
ReleveLg.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
$( '#taxon' ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( '#taxon' ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
ReleveLg.prototype.getUrlAutocompletionNomsSci = function() {
var mots = $( '#taxon' ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
ReleveLg.prototype.traiterRetourNomsSci = function( data ) {
var suggestions = [];
 
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( '#taxon' ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
ReleveLg.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsLg();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
ReleveLg.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
ReleveLg.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
ReleveLg.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
ReleveLg.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
ReleveLg.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
ReleveLg.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Etape formulaire avec transfert carto
*/
ReleveLg.prototype.saisirArbres = function() {
const lthis = this;
 
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off( event );
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas' ).removeClass( 'hidden' );
if ( !this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = this.utils.formaterReleveData({
obs : {
ce_utilisateur : this.infosUtilisateur.id,
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
latitude : $( '#latitude' ).val(),
longitude : $( '#longitude' ).val(),
altitude : $( '#altitude' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val()
}
});
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( var i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
 
// transfert carto
$( '#tb-geolocation' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
// Empêcher que le module carto ne bind ses events partout
$( '#zone-arbres' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '#tb-geolocation-arbres *', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind(this) );
}
};
 
ReleveLg.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
var idArbre = 0,
last = false;
 
for ( var i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
 
var urlImgObs = this.serviceObsImgs + idArbre,
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveLg.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( lthis.utils.valOk( idsImg ) ) {
var urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
// dejsonifier releve data
// mettre l'array image dans miniature(s?)-img
} else {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) + ' : ' + lthis.utils.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveLg.prototype.locationHandler = function( location ) {
const lthis = this;
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var pays = ( this.utils.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR';
var latitude = '';
var longitude = '';
var nomCommune = '';
var communeInsee = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
if ( this.utils.valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( this.utils.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( this.utils.valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( this.utils.valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
if ( this.utils.valOk( $( '#rue' ).val() ) && this.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc' ).addClass( 'hidden' );
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' ).removeClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' ).removeClass( 'erreur' ).closest( '.control-group' ).removeClass( 'error' ).find( '#error-drc' ).remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( lthis.utils.valOk( $( '#rue' ).val() ) && lthis.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
console.log( 'Error location' );
}
}
 
/**
* Fonction handler de l'évenement location du module tb-geoloc étape arbres
*/
ReleveLg.prototype.locationArbresHandler = function( location ) {
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var latitude = '';
var longitude = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
$( '#rue-arbres' ).val( rue );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
if ( this.utils.valOk( $( '#latitude-arbres' ).val() ) && this.utils.valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.log( 'Error location' );
}
}
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
ReleveLg.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
 
if ( this.validerArbres() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
this.numArbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
//formatage des données
var obsData = this.formaterFormObsData(),
arbreData = obsData.arbre;
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
ReleveLg.prototype.formaterFormObsData = function() {
var miniatureImg = [],
faceOmbre = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx';
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' );
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
$( '#face-ombre input' ).each( function() {
if( $( this ).is( ':checked' ) ) {
faceOmbre.push( $( this ).val() );
}
});
var obsData = {
obsNum : this.obsNbre,
arbre : {
'num-arbre' : this.numArbre,
'taxon' : {
'numNomSel' : numNomSel,
'value' : $( '#taxon' ).val(),
'nomRet' : $( '#taxon' ).data( 'nomRet' ),
'numNomRet' : $( '#taxon' ).data( 'numNomRet' ),
'nt' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' )
},
'referentiel' : referentiel,
'certitude' : $( '#certitude' ).val(),
'rue-arbres' : $( '#rue-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'face-ombre' : faceOmbre,
'com-arbres' : $( '#com-arbres' ).val(),
'miniature-img' : miniatureImg,
},
releve : {
'date' : this.utils.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commentaires' : $( '#commentaires' ).val(),
'pays' : $( '#pays' ).val(),
'commune-insee' : $( '#commune-insee' ).val(),
'latitude' : $( '#latitude' ).val(),
'longitude' : $( '#longitude' ).val(),
'altitude' : $( '#altitude' ).val(),
}
};
return obsData;
};
 
/**
* Résumé obs
*/
ReleveLg.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.arbre['num-arbre'],
dateObs = this.utils.fournirDate( datasObs.releve.date ),
numNomSel = datasObs.arbre.taxon.numNomSel,
taxon = datasObs.arbre.taxon.value,
certitude = datasObs.arbre.certitude,
rue = datasObs.arbre['rue-arbres'],
commune = datasObs.releve['commune-nom'],
latitudeLongitude = '[' + datasObs.arbre['latitude-arbres'] + ' / ' + datasObs.arbre['longitude-arbres'] + ']',
miniatures = this.ajouterImgMiniatureAuTransfert( datasObs.arbre['miniature-img'] ),
commentaires = '';
 
if ( this.utils.valOk( datasObs.arbre['com-arbres'] ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.arbre['com-arbres'] +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'lieu-obs' ) +
' ' + rue +
', ' + commune +
latitudeLongitude +
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + this.utils.fournirDate( dateObs ) + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
ReleveLg.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages ) {
const lthis = this;
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( this.utils.valOk( chargerImages ) || this.utils.valOk( $( '#miniatures img' ) ) ) {
if ( this.utils.valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
var imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee';
 
var css = ( lthis.utils.valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
 
} else {
var premiere = true;
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
ReleveLg.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
ReleveLg.prototype.stockerObsData = function( obsDatas ) {
const lthis = this;
var obsNum = obsDatas.obsNum,
numNomSel = obsDatas.arbre.taxon.numNomSel,
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx',
date = lthis.utils.fournirDate( obsDatas.releve.date ),
// si releve dupliqué on ne stocke pas l'image :
stockerImg = this.utils.valOk( obsDatas.arbre['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
if( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if ( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'] , function(i, value) {
if( lthis.utils.valOk( value.nom ) ) {
imgNom.push( value.nom );
}
if( lthis.utils.valOk( value['b64'] ) ) {
imgB64.push( value['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
 
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsNum, {
'num_nom_sel' : numNomSel,
'nom_sel' : obsDatas.arbre.taxon.value,
'nom_ret' : obsDatas.arbre.taxon.nomRet,
'num_nom_ret' : obsDatas.arbre.taxon.numNomRet,
'num_taxon' : obsDatas.arbre.taxon.nt,
'famille' : obsDatas.arbre.taxon.famille,
'referentiel' : referentiel,
'certitude' : obsDatas.arbre.certitude,
'date' : date,
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'latitude' : obsDatas.releve.latitude,
'longitude' : obsDatas.releve.longitude,
'altitude' : obsDatas.releve.altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpArbres( obsDatas )
});
};
 
ReleveLg.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
ReleveLg.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveLg.prototype.getObsChpArbres = function( datasArbres ) {
const lthis = this;
 
var retour = [],
champs = [
'rue',
'rue-arbres',
'latitude-arbres',
'longitude-arbres',
'altitude-arbres',
'circonference',
'com-arbres'
];
 
var faceOmbre = '',
faceOmbreLength = datasArbres.arbre['face-ombre'].length;
 
$.each( champs, function( i ,value ) {
cleValeur = ( 0 === i ) ? 'releve' : 'arbre';
 
if ( lthis.utils.valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
if ( 'string' === typeof datasArbres.arbre['face-ombre'] ) {
faceOmbre = datasArbres.arbre['face-ombre'];
} else {
$.each( datasArbres.arbre['face-ombre'], function( i ,value ) {
faceOmbre += value
if ( faceOmbreLength > ( i + 1 ) ) {
faceOmbre += ';';
}
});
}
retour.push(
{ cle : 'face-ombre', valeur : faceOmbre },
{ cle : 'num_arbre' , valeur : datasArbres.obsNum }
);
 
var stockerImg = this.utils.valOk( datasArbres.arbre['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.arbre['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.arbre['miniature-img'] ) });
}
 
return retour;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
ReleveLg.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
ReleveLg.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
// $( '#zone-liste-obs' ).addClass( 'hidden' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
$( '#bloc-form-arbres' ).addClass( 'hidden' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
ReleveLg.prototype.chargerInfosArbre = function( numArbre ) {
const lthis = this;
var desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
var releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre],
taxon = {item:{}},
imgHtml = '';
 
$( '#arbre-nb').text( numArbre );
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
$.each( 'certitude', function( i, value ) {
if( !lthis.utils.valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val(arbreDatas['rue-arbres']);
$( '#latitude-arbres' ).val(arbreDatas['latitude-arbres']);
$( '#longitude-arbres' ).val(arbreDatas['longitude-arbres']);
$( '#altitude-arbres' ).val(arbreDatas['altitude-arbres']);
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
$( '#face-ombre input' ).each( function() {
if ( -1 < arbreDatas['face-ombre'].indexOf( $( this ).val() ) ) {
$( this ).prop( 'checked', true );
} else {
$( this ).prop( 'checked', false );
}
});
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveLg.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
$(
'#taxon,'+
'#certitude,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#com-arbres,'+
'#ajouter-obs'
).prop( 'disabled', desactiver );
$( '#face-ombre' ).find( 'input' ).prop( 'disabled', desactiver );
 
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
$( '#tb-geolocation-arbres' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind( this ) );
 
$( '#certitude option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
this.supprimerMiniatures();
$( '#face-ombre' ).find( 'input' ).prop( 'checked', false );
$(
'#circonference,'+
'#com-arbres,'+
'#rue-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude'
).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
ReleveLg.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
ReleveLg.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
ReleveLg.prototype.supprimerObsParId = function( obsId, transmission = false ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
 
this.obsNbre -= 1;
this.numArbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '',
arbreExId = 0,
arbreId = 0;
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
 
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveLg.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
ReleveLg.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
ReleveLg.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
ReleveLg.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-arbres-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-saisir-lichens' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
ReleveLg.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
ReleveLg.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
ReleveLg.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
onkeyup : function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
unhighlight: function( element ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
ReleveLg.prototype.validerMinMax = function( element ) {
var mMCond = new Boolean(),
minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( this.utils.valOk( element.type, true, 'number' ) || this.utils.valOk( element.type, true, 'range' ) ) &&
( this.utils.valOk( element.min ) || this.utils.valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveLg.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
var valide = true;
 
if (
this.utils.valOk( $( '#dates-rues-communes' ).val() ) &&
this.utils.valOk( valeurDate ) &&
this.utils.valOk( valeurRue ) &&
this.utils.valOk( valeurCmn )
) {
var valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveLg.prototype.dateRueCommuneFormValidator = function() {
var dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( this.utils.valOk( $( '#commune-nom' ).val() ) && this.utils.valOk( $( '#rue' ).val() ) );
const errorDateRue =
'<span id="error-drc" class="error">'+
this.utils.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !this.utils.valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveLg.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbre' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1//,
//'minMaxOk' : true
},
'face-ombre' : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#face-ombre input' ).click( function() {
var oneIsChecked = false;
$( '#face-ombre input' ).each( function() {
if ( $( this ).is( ':checked' ) ) {
oneIsChecked = true;
return false;
}
});
if ( oneIsChecked ) {
$( '#face-ombre.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#face-ombre.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveLg.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-observation' ).valid();
const geoloc = (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) ;
var dateRue = true;
if ( this.utils.valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
 
if ( !obs ) {
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-observation' ).offset().top
}, 300 );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!this.utils.valOk( $( '#releve-date' ).val() ) ||
!this.utils.valOk( $( '#rue' ).val() ) ||
!this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && geoloc && dateRue );
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveLg.prototype.validerArbres = function( etapeReleve = false ) {
const validerReleve = this.validerReleve();
const geoloc = (
this.utils.valOk( $( '#latitude-arbres' ).val() ) &&
this.utils.valOk( $( '#longitude-arbres' ).val() )
);
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const obs = ( $( '#form-arbre' ).valid() && $( '#form-arbre-fs' ).valid() );
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
 
// Controle des panneaux d'infos **********************************************/
 
ReleveLg.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
ReleveLg.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
ReleveLg.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
ReleveLg.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/WidgetLg.js
New file
0,0 → 1,329
function WidgetLg() {
this.utils = new UtilsLg();
this.mode = null;
this.urlRacine = window.location.origin;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.infosUtilisateur = null;
}
 
WidgetLg.prototype.init = function() {
const lthis = this;
 
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#mdp' ).val('');
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
 
this.chargerStatutSSO();
this.connexionDprodownMenu()
$( '#deconnexion a' ).click( function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
 
$( '#formulaire' ).on( 'click', '.saisir-lichens', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetLg.prototype.chargerStatutSSO = function() {
const lthis = this;
var urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
$( '#connexion' ).click( function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !lthis.utils.valOk( $( '#nom-complet' ).text() ) ) {
var login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
if ( lthis.utils.valOk( login ) && lthis.utils.valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
alert( lthis.utils.msgTraduction( 'non-connexion' ) );
}
}
});
} else {
urlAuth = this.urlRacine + '/widget:cel:modules/lg/test-token.json';
// $( '#connexion' ).click( function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetLg.prototype.deconnecterUtilisateur = function() {
var urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetLg.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
 
WidgetLg.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
var nomComplet = '',
courriel = '',
pseudo = '',
prenom = '',
nom = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
// console.log(jetonDecode);
 
idUtilisateur = this.infosUtilisateur.id;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
pseudo = this.infosUtilisateur.pseudo;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#bloc-connexion' ).addClass( 'hidden' );
$( '#utilisateur-connecte, #anonyme' ).removeClass( 'hidden' );
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/' + pseudo.toLowerCase().replace( ' ', '-' ) );
if ( this.utils.valOk( idUtilisateur ) ) {
var nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.utils.chargerForm( nomSquelette, thisObj );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetLg.prototype.decoderJeton = function( jeton ) {
var parts = jeton.split( '.' ),
payload = parts[1];
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetLg.prototype.b64d = function( input ) {
var remainder = input.length % 4;
 
if ( 0 !== remainder ) {
var padlen = 4 - remainder;
 
for ( var i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
return atob( input );
};
 
WidgetLg.prototype.urlSiteTb = function() {
var urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// Volet de profil/déconnexion
WidgetLg.prototype.connexionDprodownMenu = function() {
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).click( function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
}
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetLg.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'lichens' :
this.utils.chargerFormLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.chargerObsUtilisateur( squelette );
break;
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetLg.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this;
const urlObs = $( 'body' ).data( 'obs-list' ) + '/' + this.infosUtilisateur.id;
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !lthis.utils.valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
alert( lthis.utils.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetLg.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
if ( this.utils.valOk( dataObs ) ) {
var lgObs = [],
datRuComun = [],
obsArbres = [],
lgObsE = {},
count = 0;
 
$.each( dataObs, function( i, obs ) {
if( /WidgetLg/.test( obs.mots_cles_texte ) && !/(:?lichens)/.test( obs.mots_cles_texte ) ) {
if ( lthis.utils.valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
lgObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + lgObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + lgObsE.rue + obs.zone_geo );
lgObs[count] = lthis.utils.formaterReleveData( { 'obs':obs, 'obsE':lgObsE } );
count++;
}
obsArbres.push( lthis.utils.formaterArbreData( { 'obs':obs, 'obsE':lgObsE } ) );
lgObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( var indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
lgObs[indexReleve].push( arbre );
}
}
});
if ( this.utils.valOk( lgObs ) ) {
this.prechargerLesObs( lgObs );
$( '#lg-obs' ).val( JSON.stringify( lgObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
WidgetLg.prototype.prechargerLesObs = function( lgObs ) {
const lthis = this;
const $listReleve = $( '#list-releves' );
const TEXT_ARBRE = ' ' + this.utils.msgTraduction( 'arbre' ).toLowerCase();
 
var nbArbres = '',
texteArbre = '';
 
var releveHtml = '';
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
 
$.each( lgObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.utils.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<div class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.utils.msgTraduction( 'dupliquer' )+
'</div> '+
'<div class="saisir-lichens btn btn-sm btn-info" data-releve="' + i + '" data-load="lichens">'+
// '<i class="fas fa-certificate"></i> ' + lthis.utils.msgTraduction( 'saisir-lichens' )+
'<i class="far fa-snowflake"></i> ' + lthis.utils.msgTraduction( 'saisir-lichens' )+
'</div> '+
'</td>'+
'</tr>';
});
$listReleve.append( releveHtml );
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( lgObs.length );
};
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/LichensLg.js
New file
0,0 → 1,1262
/**
* Constructeur LichensLg par défaut
*/
function LichensLg() {
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.serviceSaisieUrl = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.nomSciReferentiel = null;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsLg();
}
 
LichensLg.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
LichensLg.prototype.initForm = function() {
const lthis = this;
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.log( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
LichensLg.prototype.initEvts = function() {
const lthis = this;
 
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) && this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement lichens
$( '#bouton-poursuivre' ).on( 'click', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
}
}
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
LichensLg.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'lichens' :
this.utils.chargerFormLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
LichensLg.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
// uniquement utilisé si taxon-liste ******************************************/
// Affiche/Cache le champ taxon
LichensLg.prototype.surChangementTaxonListe = function() {
const utils = new UtilsLg();
if ( utils.valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.focus()
.on( 'change', function() {
if( !utils.valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
LichensLg.prototype.surChangementValeurTaxon = function() {
var numNomSel = 0;
 
if( this.utils.valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
var optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
// $( '#taxon' ).val( $( '#taxon-liste' ).val() );
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
numNomSel = $( '#taxon' ).data( 'numNomSel' );
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !this.utils.valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
LichensLg.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
 
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
LichensLg.prototype.getUrlAutocompletionNomsSci = function() {
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
var mots = $( taxonSelecteur ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
LichensLg.prototype.traiterRetourNomsSci = function( data ) {
var taxonSelecteur = '#taxon';
var suggestions = [];
 
if ( this.utils.valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
LichensLg.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsLg();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
LichensLg.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
LichensLg.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
LichensLg.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
LichensLg.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
LichensLg.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
LichensLg.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-lichens' ).offset().top
}, 300);
 
if ( this.validerLichens() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
var obsData = this.formaterFormObsData();
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
this.reinitialiserFormLichens();
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
LichensLg.prototype.reinitialiserFormLichens = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
$( 'input[name=lichens-tronc]:checked' ).each( function() {
$( this ).prop( 'checked', false );
});
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
LichensLg.prototype.formaterFormObsData = function() {
var numArbre = $( '#choisir-arbre' ).val(),
miniatureImg = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : this.nomSciReferentiel;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
var obsData = {
obsNum : this.obsNbre,
numArbre : numArbre,
lichen : {
'num_nom_sel' : numNomSel,
'nom_sel' : $( '#taxon' ).val(),
'nom_ret' : $( '#taxon' ).data( 'nomRet' ),
'num_nom_ret' : $( '#taxon' ).data( 'numNomRet' ),
'num_taxon' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' ),
'referentiel' : referentiel,
'certitude' : ( !this.utils.valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner',
'date' : this.utils.fournirDate( $( '#obs-date' ).val() ),
'notes' : $( '#commentaire' ).val(),
'pays' : this.releveDatas[0].pays,
'commune_nom' : this.releveDatas[0]['commune-nom'],
'commune_code_insee' : this.releveDatas[0]['commune-insee'],
'latitude' : this.releveDatas[numArbre]['latitude-arbres'],
'longitude' : this.releveDatas[numArbre]['longitude-arbres'],
'altitude' : this.releveDatas[numArbre]['altitude-arbres'],
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : this.getObsChpLichens( numArbre )
}
};
return obsData;
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
LichensLg.prototype.getObsChpLichens = function( numArbre ) {
const lthis = this;
 
var retour = [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
];
 
var valeursLT = '';
const $lichensTronc = $( 'input[name=lichens-tronc]:checked' );
const LTLenght = $lichensTronc.length;
 
$( 'input[name=lichens-tronc]:checked' ).each( function( i, value ) {
valeursLT += $(value).val();
if( i < LTLenght ) {
valeursLT += ';';
}
});
retour.push({ cle : 'loc-sur-tronc', valeur : valeursLT });
 
return retour;
};
 
/**
* Résumé obs
*/
LichensLg.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.numArbre,
dateObs = datasObs.lichen.date,
numNomSel = datasObs.lichen['num_nom_sel'],
taxon = datasObs.lichen['nom_sel'],
certitude = datasObs.lichen.certitude,
miniatures = this.ajouterImgMiniatureAuTransfert(),
commentaires = '';
 
if ( this.utils.valOk( datasObs.lichen.notes ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.lichen.notes +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-lichen-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
this.ajouterNumNomSel( numNomSel ) +
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + dateObs + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
LichensLg.prototype.ajouterImgMiniatureAuTransfert = function() {
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
premiere = true,
centre = '';
defilVisible = '';
 
if ( this.utils.valOk( $( '#miniatures img' ) ) ) {
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
if ( 1 === $( '#miniatures img' ).length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
LichensLg.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
LichensLg.prototype.stockerObsData = function( datasObs ) {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + datasObs.obsNum, datasObs.lichen );
};
 
LichensLg.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
LichensLg.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
LichensLg.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
LichensLg.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
LichensLg.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
LichensLg.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
LichensLg.prototype.supprimerObsParId = function( obsId ) {
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '';
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt( id );
}
}
};
 
LichensLg.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
LichensLg.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
LichensLg.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( data, textStatus, jqXHR ) {
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-poursuivre' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
LichensLg.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
LichensLg.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
LichensLg.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
element.after( error );
},
onfocusout: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
LichensLg.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.utils.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.utils.valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-lichens' ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
LichensLg.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
LichensLg.prototype.validerLichens = function() {
const images = this.utils.valOk( $( '#miniatures .miniature' ) );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const taxonOuImage = this.validerTaxonImage( taxon, images );
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-lichens' ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
 
// Controle des panneaux d'infos **********************************************/
 
LichensLg.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
LichensLg.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
LichensLg.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
LichensLg.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js
New file
0,0 → 1,4
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+rLv":function(e,t,n){var r=n("dyZX").document;e.exports=r&&r.documentElement},"0/R4":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"0TWp":function(e,t,n){!function(e,t){t()}(0,function(){"use strict";!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(o||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var i,a=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(i,a){if(S.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!e["__Zone_disable_"+i]){var c="Zone:"+i;n(c),S[i]=a(e,t,D),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{P=P.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{P=P.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==_||e.type!==O&&e.type!==x){var r=e.state!=b;r&&e._transitionTo(b,k),e.runCount++;var o=j;j=e,P={parent:P,zone:this};try{e.type==x&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==_&&e.state!==T&&(e.type==O||e.data&&e.data.isPeriodic?r&&e._transitionTo(k,b):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(_,b,_))),P=P.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(m,_);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(T,m,_),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==m&&e._transitionTo(k,m),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new s(E,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new s(x,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new s(O,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(w,k,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(T,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(_,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t.__symbol__=C,t}(),c={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");d(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),s=function(){function t(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=n===O&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,u,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),Z++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==Z&&y(),Z--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(_,m)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==_&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),l=C("setTimeout"),f=C("Promise"),p=C("then"),h=[],v=!1;function d(t){if(0===Z&&0===h.length)if(i||e[f]&&(i=e[f].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,y)}else e[l](y,0);t&&h.push(t)}function y(){if(!v){for(v=!0;h.length;){var e=h;h=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){D.onUnhandledError(e)}}}D.microtaskDrainDone(),v=!1}}var g={name:"NO ZONE"},_="notScheduled",m="scheduling",k="scheduled",b="running",w="canceling",T="unknown",E="microTask",x="macroTask",O="eventTask",S={},D={symbol:C,currentZoneFrame:function(){return P},onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:d,showUncaughtError:function(){return!a[C("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:z,patchMethod:function(){return z},bindArguments:function(){return[]},patchThen:function(){return z},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(i=e.resolve(0))}},P={parent:null,zone:new a(null,null)},j=null,Z=0;function z(){}function C(e){return"__zone_symbol__"+e}r("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var e=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),l="__creationTrace__";r.onUnhandledError=function(e){if(r.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},r.microtaskDrainDone=function(){for(;c.length;)for(var e=function(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){p(e)}};c.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){r.onUnhandledError(e);try{var t=n[f];t&&"function"==typeof t&&t.call(this,e)}catch(e){}}function h(e){return e&&e.then}function v(e){return e}function d(e){return M.reject(e)}var y=a("state"),g=a("value"),_=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),b="Promise.then",w=null,T=!0,E=!1,x=0;function O(e,t){return function(n){try{j(e,t,n)}catch(t){j(e,!1,t)}}}var S=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",P=a("currentTaskTrace");function j(e,t,o){var a=S();if(e===o)throw new TypeError(D);if(e[y]===w){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(t){return a(function(){j(e,!1,t)})(),e}if(t!==E&&o instanceof M&&o.hasOwnProperty(y)&&o.hasOwnProperty(g)&&o[y]!==w)z(o),j(e,o[y],o[g]);else if(t!==E&&"function"==typeof u)try{u.call(o,a(O(e,t)),a(O(e,!1)))}catch(t){a(function(){j(e,!1,t)})()}else{e[y]=t;var s=e[g];if(e[g]=o,e[_]===_&&t===T&&(e[y]=e[k],e[g]=e[m]),t===E&&o instanceof Error){var f=n.currentTask&&n.currentTask.data&&n.currentTask.data[l];f&&i(o,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<s.length;)C(e,s[p++],s[p++],s[p++],s[p++]);if(0==s.length&&t==E){e[y]=x;try{throw new Error("Uncaught (in promise): "+function(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(t){var h=t;h.rejection=o,h.promise=e,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}return e}var Z=a("rejectionHandledHandler");function z(e){if(e[y]===x){try{var t=n[Z];t&&"function"==typeof t&&t.call(this,{rejection:e[g],promise:e})}catch(e){}e[y]=E;for(var r=0;r<c.length;r++)e===c[r].promise&&c.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[y],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=n&&_===n[_];o&&(n[m]=r,n[k]=i);var c=t.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);j(n,!0,c)}catch(e){j(n,!1,e)}},n)}var M=function(){function t(e){if(!(this instanceof t))throw new Error("Must be an instanceof Promise.");this[y]=w,this[g]=[];try{e&&e(O(this,T),O(this,E))}catch(e){j(this,!1,e)}}return t.toString=function(){return"function ZoneAwarePromise() { [native code] }"},t.resolve=function(e){return j(new this(null),T,e)},t.reject=function(e){return j(new this(null),E,e)},t.race=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t});function c(e){a&&(a=o(e))}function u(e){a&&(a=i(e))}try{for(var s=e(t),l=s.next();!l.done;l=s.next()){var f=l.value;h(f)||(f=this.resolve(f)),f.then(c,u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a},t.all=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),c=2,u=0,s=[],l=function(e){h(e)||(e=f.resolve(e));var t=u;e.then(function(e){s[t]=e,0==--c&&o(s)},i),c++,u++},f=this;try{for(var p=e(t),v=p.next();!v.done;v=p.next())l(v.value)}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(s),a},t.prototype.then=function(e,t){var r=new this.constructor(null),o=n.current;return this[y]==w?this[g].push(o,r,e,t):C(this,o,r,e,t),r},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){var t=new this.constructor(null);t[_]=_;var r=n.current;return this[y]==w?this[g].push(r,t,e,e):C(this,r,t,e,e),t},t}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise"),R=o(t,"Promise");R&&!R.configurable||(R&&delete R.writable,R&&delete R.value,R||(R={configurable:!0,enumerable:!0}),R.get=function(){return t[F]?t[F]:t[u]},R.set=function(e){e===M?t[F]=e:(t[u]=e,e.prototype[s]||A(e),r.setNativePromise(e))},i(t,"Promise",R)),t.Promise=M;var L=a("thenPatched");function A(e){var t=e.prototype,n=o(t,"then");if(!n||!1!==n.writable&&n.configurable){var r=t.then;t[s]=r,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){r.call(n,e,t)}).then(e,t)},e[L]=!0}}return r.patchThen=A,I&&A(I),Promise[n.__symbol__("uncaughtPromiseErrors")]=c,M}),Zone.__load_patch("fetch",function(e,t,n){var r=e.fetch,o=e.Promise,i=n.symbol("thenPatched"),a=n.symbol("fetchTaskScheduling"),c=n.symbol("fetchTaskAborting");if("function"==typeof r){var u=e.AbortController,s="function"==typeof u,l=null;s&&(e.AbortController=function(){var e=new u;return e.signal.abortController=e,e},l=n.patchMethod(u.prototype,"abort",function(e){return function(t,n){return t.task?t.task.zone.cancelTask(t.task):e.apply(t,n)}}));var f=function(){};e.fetch=function(){var e=this,u=Array.prototype.slice.call(arguments),p=u.length>1?u[1]:null,h=p&&p.signal;return new Promise(function(p,v){var d=t.current.scheduleMacroTask("fetch",f,u,function(){var c,s=t.current;try{s[a]=!0,c=r.apply(e,u)}catch(e){return void v(e)}finally{s[a]=!1}if(!(c instanceof o)){var l=c.constructor;l[i]||n.patchThen(l)}c.then(function(e){"notScheduled"!==d.state&&d.invoke(),p(e)},function(e){"notScheduled"!==d.state&&d.invoke(),v(e)})},function(){if(s)if(h&&h.abortController&&!h.aborted&&"function"==typeof h.abortController.abort&&l)try{t.current[c]=!0,l.call(h.abortController)}finally{t.current[c]=!1}else v("cancel fetch need a AbortController.signal");else v("No AbortController supported, can not cancel fetch")});h&&h.abortController&&(h.abortController.task=d)})}}});var t=Object.getOwnPropertyDescriptor,n=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",u=Zone.__symbol__(a),s=Zone.__symbol__(c),l="true",f="false",p="__zone_symbol__";function h(e,t){return Zone.current.wrap(e,t)}function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,y="undefined"!=typeof window,g=y?window:void 0,_=y&&g||"object"==typeof self&&self||global,m="removeAttribute",k=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=h(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),x=!E&&!T&&!(!y||!g.HTMLElement),O=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!y||!g.HTMLElement),S={},D=function(e){if(e=e||_.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||_,o=r[t];return x&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():void 0==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function P(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!e.hasOwnProperty(a)||!e[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=S[s];l||(l=S[s]=d("ON_PROPERTY"+s)),i.set=function(t){var n=this;n||e!==_||(n=_),n&&(n[l]&&n.removeEventListener(s,D),u&&u.apply(n,k),"function"==typeof t?(n[l]=t,n.addEventListener(s,D,!1)):n[l]=null)},i.get=function(){var t=this;if(t||e!==_||(t=_),!t)return null;var n=t[l];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},n(e,r,i),e[a]=!0}}}function j(e,t,n){if(t)for(var r=0;r<t.length;r++)P(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)P(e,o[a],n)}}var Z=d("originalInstance");function z(e){var t=_[e];if(t){_[d(e)]=t,_[e]=function(){var n=b(arguments,e);switch(n.length){case 0:this[Z]=new t;break;case 1:this[Z]=new t(n[0]);break;case 2:this[Z]=new t(n[0],n[1]);break;case 3:this[Z]=new t(n[0],n[1],n[2]);break;case 4:this[Z]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},I(_[e],t);var r,o=new t(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof o[t]?_[e].prototype[t]=function(){return this[Z][t].apply(this[Z],arguments)}:n(_[e].prototype,t,{set:function(n){"function"==typeof n?(this[Z][t]=h(n,e+"."+t),I(this[Z][t],n)):this[Z][t]=n},get:function(){return this[Z][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(_[e][r]=t[r])}}var C=!1;function M(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&(i=e);var a=d(n),c=null;if(i&&!(c=i[a])&&(c=i[a]=i[n],w(i&&t(i,n)))){var u=o(c,a,n);i[n]=function(){return u(this,arguments)},I(i[n],c),C&&function(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,i[n])}return c}function I(e,t){e[d("OriginalDelegate")]=t}var F=!1,R=!1;function L(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(F)return R;F=!0;try{var e=g.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(R=!0),R}catch(e){}}Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.apply(this[n],arguments):Object.prototype.toString.call(i);if(this===Promise){var a=e[r];if(a)return t.apply(a,arguments)}if(this===Error){var c=e[o];if(c)return t.apply(c,arguments)}}return t.apply(this,arguments)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.apply(this,arguments)}});var q=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){q=!1}var H={useG:!0},W={},K={},U=/^__zone_symbol__(\w+)(true|false)$/,X="__zone_symbol__propagationStopped";function B(e,t,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",y="prependListener",g="."+y+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][f]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}};function b(t,n){if(!t)return!1;var a=!0;n&&void 0!==n.useG&&(a=n.useG);var c=n&&n.vh,_=!0;n&&void 0!==n.chkDup&&(_=n.chkDup);var b=!1;n&&void 0!==n.rt&&(b=n.rt);for(var w=t;w&&!w.hasOwnProperty(o);)w=r(w);if(!w&&t[o]&&(w=t),!w)return!1;if(w[h])return!1;var T,x=n&&n.eventNameToString,O={},S=w[h]=w[o],D=w[d(i)]=w[i],P=w[d(u)]=w[u],j=w[d(s)]=w[s];function Z(e){q||"boolean"==typeof O.options||void 0===O.options||null===O.options||(e.options=!!O.options.capture,O.options=e.options)}n&&n.prepend&&(T=w[d(n.prepend)]=w[n.prepend]);var z=a?function(e){if(!O.isExisting)return Z(e),S.call(O.target,O.eventName,O.capture?k:m,O.options)}:function(e){return Z(e),S.call(O.target,O.eventName,e.invoke,O.options)},C=a?function(e){if(!e.isRemoved){var t=W[e.eventName],n=void 0;t&&(n=t[e.capture?l:f]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:m,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},M=n&&n.diff?n.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},F=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],R=function(t,n,r,o,i,u){return void 0===i&&(i=!1),void 0===u&&(u=!1),function(){var s=this||e,h=arguments[0],v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);d=!0}if(!c||c(t,v,s,arguments)){var y,g=arguments[2];if(F)for(var m=0;m<F.length;m++)if(h===F[m])return t.apply(this,arguments);var k=!1;void 0===g?y=!1:!0===g?y=!0:!1===g?y=!1:(y=!!g&&!!g.capture,k=!!g&&!!g.once);var b,w=Zone.current,T=W[h];if(T)b=T[y?l:f];else{var S=(x?x(h):h)+f,D=(x?x(h):h)+l,P=p+S,j=p+D;W[h]={},W[h][f]=P,W[h][l]=j,b=y?j:P}var Z,z=s[b],C=!1;if(z){if(C=!0,_)for(m=0;m<z.length;m++)if(M(z[m],v))return}else z=s[b]=[];var I=s.constructor.name,R=K[I];R&&(Z=R[h]),Z||(Z=I+n+(x?x(h):h)),O.options=g,k&&(O.options.once=!1),O.target=s,O.capture=y,O.eventName=h,O.isExisting=C;var L=a?H:void 0;L&&(L.taskData=O);var A=w.scheduleEventTask(Z,v,L,r,o);return O.target=null,L&&(L.taskData=null),k&&(g.once=!0),(q||"boolean"!=typeof A.options)&&(A.options=g),A.target=s,A.capture=y,A.eventName=h,d&&(A.originalDelegate=v),u?z.unshift(A):z.push(A),i?s:void 0}}};return w[o]=R(S,v,z,C,b),T&&(w[y]=R(T,g,function(e){return T.call(O.target,O.eventName,e.invoke,O.options)},C,b,!0)),w[i]=function(){var t,n=this||e,r=arguments[0],o=arguments[2];t=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);var i=arguments[1];if(!i)return D.apply(this,arguments);if(!c||c(D,i,n,arguments)){var a,u=W[r];u&&(a=u[t?l:f]);var s=a&&n[a];if(s)for(var p=0;p<s.length;p++){var h=s[p];if(M(h,i))return s.splice(p,1),h.isRemoved=!0,0===s.length&&(h.allRemoved=!0,n[a]=null),h.zone.cancelTask(h),b?n:void 0}return D.apply(this,arguments)}},w[u]=function(){for(var t=arguments[0],n=[],r=Y(this||e,x?x(t):t),o=0;o<r.length;o++){var i=r[o];n.push(i.originalDelegate?i.originalDelegate:i.callback)}return n},w[s]=function(){var t=this||e,n=arguments[0];if(n){var r=W[n];if(r){var o=t[r[f]],a=t[r[l]];if(o){var c=o.slice();for(h=0;h<c.length;h++)this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}if(a)for(c=a.slice(),h=0;h<c.length;h++){var u;this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}}}else{for(var p=Object.keys(t),h=0;h<p.length;h++){var v=U.exec(p[h]),d=v&&v[1];d&&"removeListener"!==d&&this[s].call(this,d)}this[s].call(this,"removeListener")}if(b)return this},I(w[o],S),I(w[i],D),j&&I(w[s],j),P&&I(w[u],P),!0}for(var w=[],T=0;T<t.length;T++)w[T]=b(t[T],n);return w}function Y(e,t){var n=[];for(var r in e){var o=U.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var c=0;c<a.length;c++)n.push(a[c])}}return n}var J=d("zoneTask");function V(e,t,n,r){var o=null,i=null;n+=r;var a={};function c(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[J]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=v(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var l=s.data.handleId;return"number"==typeof l?a[l]=s:l&&(l[J]=s),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(s.ref=l.ref.bind(l),s.unref=l.unref.bind(l)),"number"==typeof l||l?l:s}return n.apply(e,i)}}),i=M(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[J])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[J]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}var G=Object[d("defineProperty")]=Object.defineProperty,Q=Object[d("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=d("unconfigurables");function te(e,t){return e&&e[ee]&&e[ee][t]}function ne(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||G(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function re(e,t,n,r){try{return G(e,t,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return G(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}var oe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ie=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ce=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],le=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],pe=["error","message"],he=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],oe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ve(e,t,n,r){e&&j(e,function(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}(e,t,n),r)}function de(e,u){if(!E||O){var s="undefined"!=typeof WebSocket;if(function(){if((x||O)&&!t(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=t(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var r=XMLHttpRequest.prototype,o=t(r,"onreadystatechange");if(o){n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var i=!!(c=new XMLHttpRequest).onreadystatechange;return n(r,"onreadystatechange",o||{}),i}var a=d("fake");n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[a]},set:function(e){this[a]=e}});var c,u=function(){};return(c=new XMLHttpRequest).onreadystatechange=u,i=c[a]===u,c.onreadystatechange=null,i}()){var l=u.__Zone_ignore_on_properties;if(x){var f=window,p=L?[{target:f,ignoreProperties:["error"]}]:[];ve(f,he.concat(["messageerror"]),l?l.concat(p):l,r(f)),ve(Document.prototype,he,l),void 0!==f.SVGElement&&ve(f.SVGElement.prototype,he,l),ve(Element.prototype,he,l),ve(HTMLElement.prototype,he,l),ve(HTMLMediaElement.prototype,ie,l),ve(HTMLFrameSetElement.prototype,oe.concat(ce),l),ve(HTMLBodyElement.prototype,oe.concat(ce),l),ve(HTMLFrameElement.prototype,ae,l),ve(HTMLIFrameElement.prototype,ae,l);var v=f.HTMLMarqueeElement;v&&ve(v.prototype,ue,l);var y=f.Worker;y&&ve(y.prototype,pe,l)}ve(XMLHttpRequest.prototype,se,l);var g=u.XMLHttpRequestEventTarget;g&&ve(g&&g.prototype,se,l),"undefined"!=typeof IDBIndex&&(ve(IDBIndex.prototype,le,l),ve(IDBRequest.prototype,le,l),ve(IDBOpenDBRequest.prototype,le,l),ve(IDBDatabase.prototype,le,l),ve(IDBTransaction.prototype,le,l),ve(IDBCursor.prototype,le,l)),s&&ve(WebSocket.prototype,fe,l)}else!function(){for(var e=function(e){var t=he[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][ye]&&((t=h(o[n],r))[ye]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<he.length;t++)e(t)}(),z("XMLHttpRequest"),s&&function(e,n){var r=n.WebSocket;n.EventTarget||B(n,[r.prototype]),n.WebSocket=function(e,n){var u,s,l=arguments.length>1?new r(e,n):new r(e),f=t(l,"onmessage");return f&&!1===f.configurable?(u=o(l),s=l,[a,c,"send","close"].forEach(function(e){u[e]=function(){var t=i.call(arguments);if(e===a||e===c){var n=t.length>0?t[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);l[r]=u[r]}}return l[e].apply(l,t)}})):u=l,j(u,["close","error","message","open"],s),u};var u=n.WebSocket;for(var s in r)u[s]=r[s]}(0,u)}}var ye=d("unbound");function ge(e,n,r,o){var i=Zone.__symbol__(r);if(!e[i]){var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t(i,e);a&&a.value?(a.value=h(a.value,o),function(t,n,r){var o=a.configurable;re(t,e,ne(t,e,a),o)}(c.prototype)):i[e]=h(i[e],o)}else i[e]&&(i[e]=h(i[e],o))}),a.call(e,i,c,u)},I(e[r],a)}}Zone.__load_patch("util",function(e,t,n){n.patchOnProperties=j,n.patchMethod=M,n.bindArguments=b}),Zone.__load_patch("timers",function(e){V(e,"set","clear","Timeout"),V(e,"set","clear","Interval"),V(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){V(e,"request","cancel","AnimationFrame"),V(e,"mozRequest","mozCancel","AnimationFrame"),V(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,i){return t.current.run(n,e,i,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){var r=t.__symbol__("BLACK_LISTED_EVENTS");e[r]&&(t[r]=e[r]),function(e,t){!function(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[X]=!0,e&&e.apply(t,n)}})}(e,t)}(e,n),function(e,t){var n="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",r="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),o=[],i=e.wtf,a=n.split(",");i?o=a.map(function(e){return"HTML"+e+"Element"}).concat(r):e.EventTarget?o.push("EventTarget"):o=r;for(var c=e.__Zone_disable_IE_check||!1,u=e.__Zone_enable_cross_context_check||!1,s=A(),h="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v=0;v<he.length;v++){var d=p+((k=he[v])+f),y=p+(k+l);W[k]={},W[k][f]=d,W[k][l]=y}for(v=0;v<n.length;v++)for(var g=a[v],_=K[g]={},m=0;m<he.length;m++){var k;_[k=he[m]]=g+".addEventListener:"+k}var b=[];for(v=0;v<o.length;v++){var w=e[o[v]];b.push(w&&w.prototype)}B(e,b,{vh:function(e,t,n,r){if(!c&&s){if(u)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}else if(u)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0}}),t.patchEventTarget=B}(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){de(0,e),Object.defineProperty=function(e,t,n){if(te(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ne(e,t,n)),re(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ne(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&te(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(e,t,n){(x||O)&&"registerElement"in e.document&&ge(document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"]),(x||O)&&"customElements"in e&&ge(e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}),Zone.__load_patch("canvas",function(e){var t=e.HTMLCanvasElement;void 0!==t&&t.prototype&&t.prototype.toBlob&&function(e,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=M(t.prototype,"toBlob",function(e){return function(t,n){var r=function(e,t){return{name:"HTMLCanvasElement.toBlob",target:e,cbIdx:0,args:t}}(t,n);return r.cbIdx>=0&&"function"==typeof n[r.cbIdx]?v(r.name,n[r.cbIdx],r,i):e.apply(t,n)}})}()}),Zone.__load_patch("XHR",function(e,t){!function(l){var f=XMLHttpRequest.prototype,p=f[u],h=f[s];if(!p){var y=e.XMLHttpRequestEventTarget;if(y){var g=y.prototype;p=g[u],h=g[s]}}var _="readystatechange",m="scheduled";function k(e){var t=e.data,r=t.target;r[i]=!1,r[c]=!1;var a=r[o];p||(p=r[u],h=r[s]),a&&h.call(r,_,a);var l=r[o]=function(){if(r.readyState===r.DONE)if(!t.aborted&&r[i]&&e.state===m){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=e.invoke;e.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i<n.length;i++)n[i]===e&&n.splice(i,1);t.aborted||e.state!==m||o.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==r[i]||(r[c]=!0)};return p.call(r,_,l),r[n]||(r[n]=e),O.apply(r,t.args),r[i]=!0,e}function b(){}function w(e){var t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}var T=M(f,"open",function(){return function(e,t){return e[r]=0==t[2],e[a]=t[1],T.apply(e,t)}}),E=d("fetchTaskAborting"),x=d("fetchTaskScheduling"),O=M(f,"send",function(){return function(e,n){if(!0===t.current[x])return O.apply(e,n);if(e[r])return O.apply(e,n);var o={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},i=v("XMLHttpRequest.send",b,o,k,w);e&&!0===e[c]&&!o.aborted&&i.state===m&&i.invoke()}}),S=M(f,"abort",function(){return function(e,r){var o=e[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[E])return S.apply(e,r)}})}();var n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),a=d("xhrURL"),c=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(e){e.navigator&&e.navigator.geolocation&&function(e,n){for(var r=e.constructor.name,o=function(o){var i=n[o],a=e[i];if(a){if(!w(t(e,i)))return"continue";e[i]=function(e){var t=function(){return e.apply(this,b(arguments,r+"."+i))};return I(t,e),t}(a)}},i=0;i<n.length;i++)o(i)}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){Y(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var i=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})})},1:function(e,t,n){e.exports=n("hN/g")},"1TsA":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"2OiF":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"3Lyj":function(e,t,n){var r=n("KroJ");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},"45Tv":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(e,t,n){if(a(e,t,n))return c(e,t,n);var r=i(t);return null!==r?s(e,r,n):void 0};r.exp({getMetadata:function(e,t){return s(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},"49D4":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},"4LiD":function(e,t,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");e.exports=function(e,t,n,d,y,g){var _=r[e],m=_,k=y?"set":"add",b=m&&m.prototype,w={},T=function(e){var t=b[e];i(b,e,"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof m&&(g||b.forEach&&!f(function(){(new m).entries().next()}))){var E=new m,x=E[k](g?{}:-0,1)!=E,O=f(function(){E.has(1)}),S=p(function(e){new m(e)}),D=!g&&f(function(){for(var e=new m,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((m=t(function(t,n){s(t,m,e);var r=v(new _,t,m);return void 0!=n&&u(n,y,r[k],r),r})).prototype=b,b.constructor=m),(O||D)&&(T("delete"),T("has"),y&&T("get")),(D||x)&&T(k),g&&b.clear&&delete b.clear}else m=d.getConstructor(t,e,y,k),a(m.prototype,n),c.NEED=!0;return h(m,e),w[e]=m,o(o.G+o.W+o.F*(m!=_),w),g||d.setStrong(m,e,y),m}},"4R4u":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"6FMO":function(e,t,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},"7Dlh":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},"9AAn":function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},"9gX7":function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},Afnz:function(e,t,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,v,d,y,g){u(n,t,v);var _,m,k,b=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",T="values"==d,E=!1,x=e.prototype,O=x[f]||x["@@iterator"]||d&&x[d],S=O||b(d),D=d?T?b("entries"):S:void 0,P="Array"==t&&x.entries||O;if(P&&(k=l(P.call(new e)))!==Object.prototype&&k.next&&(s(k,w,!0),r||"function"==typeof k[f]||a(k,f,h)),T&&O&&"values"!==O.name&&(E=!0,S=function(){return O.call(this)}),r&&!g||!p&&!E&&x[f]||a(x,f,S),c[t]=S,c[w]=h,d)if(_={values:T?S:b("values"),keys:y?S:b("keys"),entries:D},g)for(m in _)m in x||i(x,m,_[m]);else o(o.P+o.F*(p||E),t,_);return _}},BqfV:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},CkkT:function(e,t,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");e.exports=function(e,t){var n=1==e,u=2==e,s=3==e,l=4==e,f=6==e,p=5==e||f,h=t||c;return function(t,c,v){for(var d,y,g=i(t),_=o(g),m=r(c,v,3),k=a(_.length),b=0,w=n?h(t,k):u?h(t,0):void 0;k>b;b++)if((p||b in _)&&(y=m(d=_[b],b,g),e))if(n)w[b]=y;else if(y)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(l)return!1;return f?-1:s||l?l:w}}},DVgA:function(e,t,n){var r=n("zhAb"),o=n("4R4u");e.exports=Object.keys||function(e){return r(e,o)}},EK0E:function(e,t,n){"use strict";var r,o=n("CkkT")(0),i=n("KroJ"),a=n("Z6vF"),c=n("czNK"),u=n("ZD67"),s=n("0/R4"),l=n("eeVq"),f=n("s5qY"),p=a.getWeak,h=Object.isExtensible,v=u.ufstore,d={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(s(e)){var t=p(e);return!0===t?v(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},_=e.exports=n("4LiD")("WeakMap",y,g,u,!0,!0);l(function(){return 7!=(new _).set((Object.freeze||Object)(d),7).get(d)})&&(c((r=u.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(e){var t=_.prototype,n=t[e];i(t,e,function(t,o){if(s(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},EWmC:function(e,t,n){var r=n("LZWt");e.exports=Array.isArray||function(e){return"Array"==r(e)}},EemH:function(e,t,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;t.f=n("nh4g")?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},FJW5:function(e,t,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");e.exports=n("nh4g")?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},FZcq:function(e,t,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),e.exports=n("g3g5").Reflect},H6hf:function(e,t,n){var r=n("y3w9");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},"I8a+":function(e,t,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},Iw71:function(e,t,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"J+6e":function(e,t,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");e.exports=n("g3g5").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},JiEa:function(e,t){t.f=Object.getOwnPropertySymbols},K0xU:function(e,t,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},KroJ:function(e,t,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=Function.toString,u=(""+c).split("toString");n("g3g5").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(s&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||c.call(this)})},Kuth:function(e,t,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var e,t=n("Iw71")("iframe"),r=i.length;for(t.style.display="none",n("+rLv").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},LQAc:function(e,t){e.exports=!1},LZWt:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},M6Qj:function(e,t,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},Mukb:function(e,t,n){var r=n("hswa"),o=n("RjD/");e.exports=n("nh4g")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},N6cJ:function(e,t,n){var r=n("9AAn"),o=n("XKFU"),i=n("VTer")("metadata"),a=i.store||(i.store=new(n("EK0E"))),c=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i};e.exports={store:a,map:c,has:function(e,t,n){var r=c(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=c(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){c(n,r,!0).set(e,t)},keys:function(e,t){var n=c(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){o(o.S,"Reflect",e)}}},OP3Y:function(e,t,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},Opxb:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("2OiF"),a=r.key,c=r.set;r.exp({metadata:function(e,t){return function(n,r){c(e,t,(void 0!==r?o:i)(n),a(r))}}})},Q3ne:function(e,t,n){var r=n("SlkY");e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},QaDb:function(e,t,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},RYi7:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"RjD/":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"S/j/":function(e,t,n){var r=n("vhPU");e.exports=function(e){return Object(r(e))}},SlkY:function(e,t,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(t=e.exports=function(e,t,n,f,p){var h,v,d,y,g=p?function(){return e}:u(e),_=r(n,f,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=c(e.length);h>m;m++)if((y=t?_(a(v=e[m])[0],v[1]):_(e[m]))===s||y===l)return y}else for(d=g.call(e);!(v=d.next()).done;)if((y=o(d,_,v.value,t))===s||y===l)return y}).BREAK=s,t.RETURN=l},T39b:function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,"Set"),e=0===e?0:e,e)}},r)},UqcF:function(e,t){t.f={}.propertyIsEnumerable},VTer:function(e,t,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},XKFU:function(e,t,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(e,t,n){var s,l,f,p,h=e&u.F,v=e&u.G,d=e&u.P,y=e&u.B,g=v?r:e&u.S?r[t]||(r[t]={}):(r[t]||{}).prototype,_=v?o:o[t]||(o[t]={}),m=_.prototype||(_.prototype={});for(s in v&&(n=t),n)f=((l=!h&&g&&void 0!==g[s])?g:n)[s],p=y&&l?c(f,r):d&&"function"==typeof f?c(Function.call,f):f,g&&a(g,s,f,e&u.U),_[s]!=f&&i(_,s,p),d&&m[s]!=f&&(m[s]=f)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},XMVh:function(e,t,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},Xbzi:function(e,t,n){var r=n("0/R4"),o=n("i5dc").set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},YTvA:function(e,t,n){var r=n("VTer")("keys"),o=n("ylqs");e.exports=function(e){return r[e]||(r[e]=o(e))}},Ymqv:function(e,t,n){var r=n("LZWt");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},Z6vF:function(e,t,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return s&&f.NEED&&u(e)&&!i(e,r)&&l(e),e}}},ZD67:function(e,t,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),h=s(6),v=0,d=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var s=e(function(e,r){c(e,s,t,"_i"),e._t=t,e._i=v++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(s.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).has(e):n&&l(n,this._i)}}),s},def:function(e,t,n){var r=o(i(t),!0);return!0===r?d(e).set(t,n):r[e._i]=n,e},ufstore:d}},aCFj:function(e,t,n){var r=n("Ymqv"),o=n("vhPU");e.exports=function(e){return r(o(e))}},aagx:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},apmT:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},czNK:function(e,t,n){"use strict";var r=n("DVgA"),o=n("JiEa"),i=n("UqcF"),a=n("S/j/"),c=n("Ymqv"),u=Object.assign;e.exports=!u||n("eeVq")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,s=1,l=o.f,f=i.f;u>s;)for(var p,h=c(arguments[s++]),v=l?r(h).concat(l(h)):r(h),d=v.length,y=0;d>y;)f.call(h,p=v[y++])&&(n[p]=h[p]);return n}:u},"d/Gc":function(e,t,n){var r=n("RYi7"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},dyZX:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eeVq:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},elZq:function(e,t,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},"fN/3":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},fyDq:function(e,t,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},g3g5:function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},"hN/g":function(e,t,n){"use strict";n.r(t),n("FZcq"),n("0TWp")},hPIQ:function(e,t){e.exports={}},hswa:function(e,t,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;t.f=n("nh4g")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},i5dc:function(e,t,n){var r=n("0/R4"),o=n("y3w9"),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},"iW+S":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=i(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:c(arguments[2]))}})},m0Pp:function(e,t,n){var r=n("2OiF");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},ne8i:function(e,t,n){var r=n("RYi7"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},nh4g:function(e,t,n){e.exports=!n("eeVq")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},s5qY:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},uAtd:function(e,t,n){var r=n("T39b"),o=n("Q3ne"),i=n("N6cJ"),a=n("y3w9"),c=n("OP3Y"),u=i.keys,s=i.key,l=function(e,t){var n=u(e,t),i=c(e);if(null===i)return n;var a=l(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return l(a(e),arguments.length<2?void 0:s(arguments[1]))}})},vhPU:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},w2a5:function(e,t,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");e.exports=function(e){return function(t,n,a){var c,u=r(t),s=o(u.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},wmvG:function(e,t,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),h=n("Z6vF").fastKey,v=n("s5qY"),d=p?"_s":"size",y=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){c(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[d]=0,void 0!=r&&u(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=v(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[d]=0},delete:function(e){var n=v(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(e){v(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(v(this,t),e)}}),p&&r(l.prototype,"size",{get:function(){return v(this,t)[d]}}),l},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[d]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){s(e,t,function(e,n){this._t=v(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},xpql:function(e,t,n){e.exports=!n("nh4g")&&!n("eeVq")(function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a})},y3w9:function(e,t,n){var r=n("0/R4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ylqs:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},zRwo:function(e,t,n){var r=n("6FMO");e.exports=function(e,t){return new(r(e))(t)}},zhAb:function(e,t,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(s,n)||s.push(n));return s}},"zq+C":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=c.get(t);return u.delete(n),!!u.size||c.delete(t)}})}},[[1,0]]]);
!function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for($e=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n<r;n++)d(e[n],t)}function o(e){return function(t){Pe(t)&&(d(t,e),oe.length&&r(t.querySelectorAll(oe),e))}}function l(e){var t=xe.call(e,"is"),n=e.nodeName.toUpperCase(),r=ae.call(ne,t?J+t.toUpperCase():Y+n);return t&&-1<r&&!a(n,t)?-1:r}function a(e,t){return-1<oe.indexOf(e+'[is="'+t+'"]')}function i(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,o=e.target,l=e[K]||2,a=e[X]||3;!tt||o&&o!==t||!t[q]||"style"===r||e.prevValue===e.newValue&&(""!==e.newValue||n!==l&&n!==a)||t[q](r,n===l?null:e.prevValue,n===a?null:e.newValue)}function u(e){var t=o(e);return function(e){C.push(t,e.target),$e&&clearTimeout($e),$e=setTimeout(n,1)}}function c(e){et&&(et=!1,e.currentTarget.removeEventListener(Q,c)),oe.length&&r((e.target||g).querySelectorAll(oe),e.detail===_?_:U),Se&&function(){for(var e,t=0,n=Re.length;t<n;t++)le.contains(e=Re[t])||(n--,Re.splice(t--,1),d(e,_))}()}function s(e,t){var n=this;Ze.call(n,e,t),w.call(n,{target:n})}function m(e,t,n){var r=t.apply(e,n),o=l(r);return-1<o&&F(r,re[o]),n.pop()&&oe.length&&function(e){for(var t,n=0,r=e.length;n<r;n++)F(t=e[n],re[l(t)])}(r.querySelectorAll(oe)),r}function f(e,t){Ne(e,t),N?N.observe(e,Ke):(Je&&(e.setAttribute=s,e[P]=O(e),e[R](W,w)),e[R]($,i)),e[G]&&tt&&(e.created=!0,e[G](),e.created=!1)}function p(e){throw new Error("A "+e+" type is already registered")}function d(e,t){var n,r,o=l(e);-1<o&&(I(e,re[o]),o=0,t!==U||e[U]?t!==_||e[_]||(e[U]=!1,e[_]=!0,r="disconnected",o=1):(e[_]=!1,e[U]=!0,r="connected",o=1,Se&&ae.call(Re,e)<0&&Re.push(e)),o&&(n=e[t+k]||e[r+k])&&n.call(e))}function h(){}function T(e,t,n){var r=n&&n[x]||"",o=t.prototype,l=Oe(o),a=t.observedAttributes||me,i={prototype:l};Ve(l,G,{value:function(){if(be)be=!1;else if(!this[Le]){this[Le]=!0,new t(this),o[G]&&o[G].call(this);var e=ye[we.get(t)];(!Ee||e.create.length>1)&&E(this)}}}),Ve(l,q,{value:function(e){-1<ae.call(a,e)&&o[q]&&o[q].apply(this,arguments)}}),o[Z]&&Ve(l,B,{value:o[Z]}),o[j]&&Ve(l,z,{value:o[j]}),r&&(i[x]=r),e=e.toUpperCase(),ye[e]={constructor:t,create:r?[r,Ae(e)]:[e]},we.set(t,e),g[V](e.toLowerCase(),i),v(e),Ce[e].r()}function L(e){var t=ye[e.toUpperCase()];return t&&t.constructor}function M(e){return"string"==typeof e?e:e&&e.is||""}function E(e){for(var t,n=e[q],r=n?e.attributes:me,o=r.length;o--;)n.call(e,(t=r[o]).name||t.nodeName,null,t.value||t.nodeValue)}function v(e){return(e=e.toUpperCase())in Ce||(Ce[e]={},Ce[e].p=new ge(function(t){Ce[e].r=t})),Ce[e].p}function H(){Me&&delete e.customElements,se(e,"customElements",{configurable:!0,value:new h}),se(e,"CustomElementRegistry",{configurable:!0,value:h});for(var t=y.get(/^HTML[A-Z]*[a-z]/),n=t.length;n--;function(t){var n=e[t];if(n){e[t]=function(e){var t,r;return e||(e=this),e[Le]||(be=!0,t=ye[we.get(e.constructor)],(e=(r=Ee&&1===t.create.length)?Reflect.construct(n,me,t.constructor):g.createElement.apply(g,t.create))[Le]=!0,be=!1,r||E(e)),e},e[t].prototype=n.prototype;try{n.prototype.constructor=e[t]}catch(r){se(n,Le,{value:e[t]})}}}(t[n]));g.createElement=function(e,t){var n=M(t);return n?ze.call(this,e,Ae(n)):ze.call(this,e)},Qe||(Ye=!0,g[V](""))}var g=e.document,b=e.Object,y=function(e){var t,n,r,o,l=/^[A-Z]+[a-z]/,a=function(e,t){(t=t.toLowerCase())in i||(i[e]=(i[e]||[]).concat(t),i[t]=i[t.toUpperCase()]=e)},i=(b.create||b)(null),u={};for(n in e)for(o in e[n])for(i[o]=r=e[n][o],t=0;t<r.length;t++)i[r[t].toLowerCase()]=i[r[t].toUpperCase()]=o;return u.get=function(e){return"string"==typeof e?i[e]||(l.test(e)?[]:""):function(e){var t,n=[];for(t in i)e.test(t)&&n.push(t);return n}(e)},u.set=function(e,t){return l.test(e)?a(e,t):a(t,e),u},u}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});"object"!=typeof t&&(t={type:t||"auto"});var C,w,A,O,N,D,I,F,S,V="registerElement",P="__"+V+(1e5*e.Math.random()>>0),R="addEventListener",U="attached",k="Callback",_="detached",x="extends",q="attributeChanged"+k,B=U+k,Z="connected"+k,j="disconnected"+k,G="created"+k,z=_+k,K="ADDITION",X="REMOVAL",$="DOMAttrModified",Q="DOMContentLoaded",W="DOMSubtreeModified",Y="<",J="=",ee=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,te=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ne=[],re=[],oe="",le=g.documentElement,ae=ne.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ie=b.prototype,ue=ie.hasOwnProperty,ce=ie.isPrototypeOf,se=b.defineProperty,me=[],fe=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,de=b.getPrototypeOf,he=b.setPrototypeOf,Te=!!b.__proto__,Le="__dreCEv1",Me=e.customElements,Ee=!/^force/.test(t.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),ve=b.create||b,He=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ae.call(t,e)]},set:function(r,o){(e=ae.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},ge=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},be=!1,ye=ve(null),Ce=ve(null),we=new He,Ae=function(e){return e.toLowerCase()},Oe=b.create||function e(t){return t?(e.prototype=t,new e):this},Ne=he||(Te?function(e,t){return e.__proto__=t,e}:pe&&fe?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o<l;o++)ue.call(e,n=r[o])||se(e,n,fe(t,n))}return function(t,n){do{e(t,n)}while((n=de(n))&&!ce.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),De=e.MutationObserver||e.WebKitMutationObserver,Ie=e.HTMLAnchorElement,Fe=(e.HTMLElement||e.Element||e.Node).prototype,Se=!ce.call(Fe,le),Ve=Se?function(e,t,n){return e[t]=n.value,e}:se,Pe=Se?function(e){return 1===e.nodeType}:function(e){return ce.call(Fe,e)},Re=Se&&[],Ue=Fe.attachShadow,ke=Fe.cloneNode,_e=Fe.dispatchEvent,xe=Fe.getAttribute,qe=Fe.hasAttribute,Be=Fe.removeAttribute,Ze=Fe.setAttribute,je=g.createElement,Ge=g.importNode,ze=je,Ke=De&&{attributes:!0,characterData:!0,attributeOldValue:!0},Xe=De||function(e){Je=!1,le.removeEventListener($,Xe)},$e=0,Qe=V in g&&!/^force-all/.test(t.type),We=!0,Ye=!1,Je=!0,et=!0,tt=!0;if(De&&((S=g.createElement("div")).innerHTML="<div><div></div></div>",new De(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=fe(Fe,"innerHTML"))&&S.set;n&&se(Fe,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Qe||(he||Te?(I=function(e,t){ce.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[P]||(e[P]=b(!0),f(e,t))},Se?(Je=!1,function(){var e=fe(Fe,R),t=e.value,n=function(e){var t=new CustomEvent($,{bubbles:!0});t.attrName=e,t.prevValue=xe.call(this,e),t.newValue=null,t[X]=t.attrChange=2,Be.call(this,e),_e.call(this,t)},r=function(e,t){var n=qe.call(this,e),r=n&&xe.call(this,e),o=new CustomEvent($,{bubbles:!0});Ze.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[K]=o.attrChange=0,_e.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[P],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent($,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[K]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,_e.call(n,t))};e.value=function(e,l,a){e===$&&this[q]&&this.setAttribute!==r&&(this[P]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},se(Fe,R,e)}()):De||(le[R]($,Xe),le.setAttribute(P,1),le.removeAttribute(P),Je&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[P],o[P]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],K);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],X)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l<a;l++)"setAttribute"!==(n=(t=o[l]).name)&&(r[n]=t.value);return r})),g[V]=function(e,t){if(n=e.toUpperCase(),We&&(We=!1,De?(N=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new De(function(r){for(var o,l,a,i=0,u=r.length;i<u;i++)"childList"===(o=r[i]).type?(n(o.addedNodes,e),n(o.removedNodes,t)):(l=o.target,tt&&l[q]&&"style"!==o.attributeName&&(a=xe.call(l,o.attributeName))!==o.oldValue&&l[q](o.attributeName,o.oldValue,a))})}(o(U),o(_)),(D=function(e){return N.observe(e,{childList:!0,subtree:!0}),e})(g),Ue&&(Fe.attachShadow=function(){return D(Ue.apply(this,arguments))})):(C=[],g[R]("DOMNodeInserted",u(U)),g[R]("DOMNodeRemoved",u(_))),g[R](Q,c),g[R]("readystatechange",c),g.importNode=function(e,t){switch(e.nodeType){case 1:return m(g,Ge,[e,!!t]);case 11:for(var n=g.createDocumentFragment(),r=e.childNodes,o=r.length,l=0;l<o;l++)n.appendChild(g.importNode(r[l],!!t));return n;default:return ke.call(e,!!t)}},Fe.cloneNode=function(e){return m(this,ke,[!!e])}),Ye)return Ye=!1;if(-2<ae.call(ne,J+n)+ae.call(ne,Y+n)&&p(e),!ee.test(n)||-1<ae.call(te,n))throw new Error("The type "+e+" is invalid");var n,l,a=function(){return s?g.createElement(f,n):g.createElement(f)},i=t||ie,s=ue.call(i,x),f=s?t[x].toUpperCase():n;return s&&-1<ae.call(ne,Y+f)&&p(f),l=ne.push((s?J:Y)+n)-1,oe=oe.concat(oe.length?",":"",s?f+'[is="'+e.toLowerCase()+'"]':f),a.prototype=re[l]=ue.call(i,"prototype")?i.prototype:Oe(Fe),oe.length&&r(g.querySelectorAll(oe),U),a},g.createElement=ze=function(e,t){var n=M(t),r=n?je.call(g,e,Ae(n)):je.call(g,e),o=""+e,l=ae.call(ne,(n?J:Y)+(n||o).toUpperCase()),i=-1<l;return n&&(r.setAttribute("is",n=n.toLowerCase()),i&&(i=a(o.toUpperCase(),n))),tt=!g.createElement.innerHTMLHelper,i&&F(r,re[l]),r}),h.prototype={constructor:h,define:Ee?function(e,t,n){if(n)T(e,t,n);else{var r=e.toUpperCase();ye[r]={constructor:t,create:[r]},we.set(t,r),Me.define(e,t)}}:T,get:Ee?function(e){return Me.get(e)||L(e)}:L,whenDefined:Ee?function(e){return ge.race([Me.whenDefined(e),v(e)])}:v},!Me||/^force/.test(t.type))H();else if(!t.noBuiltIn)try{!function(t,n,r){var o=new RegExp("^<a\\s+is=('|\")"+r+"\\1></a>$");if(n[x]="a",(t.prototype=Oe(Ie.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ie,[],e)},{},"document-register-element-a")}catch(e){H()}if(!t.noBuiltIn)try{if(je.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Ae=function(e){return{is:e.toLowerCase()}}}}(window);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(t,e,n){t.exports=n("zUnb")},"4R65":function(t,e,n){!function(t){"use strict";var e=Object.freeze;function n(t){var e,n,i,s;for(n=1,i=arguments.length;n<i;n++)for(e in s=arguments[n])t[e]=s[e];return t}Object.freeze=function(t){return t};var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function s(t,e){var n=Array.prototype.slice;if(t.bind)return t.bind.apply(t,n.call(arguments,1));var i=n.call(arguments,2);return function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)}}var o=0;function r(t){return t._leaflet_id=t._leaflet_id||++o,t._leaflet_id}function a(t,e,n){var i,s,o,r;return r=function(){i=!1,s&&(o.apply(n,s),s=!1)},o=function(){i?s=arguments:(t.apply(n,arguments),setTimeout(r,e),i=!0)}}function l(t,e,n){var i=e[1],s=e[0],o=i-s;return t===i&&n?t:((t-s)%o+o)%o+s}function h(){return!1}function u(t,e){var n=Math.pow(10,void 0===e?6:e);return Math.round(t*n)/n}function c(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return c(t).split(/\s+/)}function p(t,e){for(var n in t.hasOwnProperty("options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function m(t,e,n){var i=[];for(var s in t)i.push(encodeURIComponent(n?s.toUpperCase():s)+"="+encodeURIComponent(t[s]));return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")}var f=/\{ *([\w_-]+) *\}/g;function _(t,e){return t.replace(f,function(t,n){var i=e[n];if(void 0===i)throw new Error("No value provided for variable "+t);return"function"==typeof i&&(i=i(e)),i})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function b(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function x(t){var e=+new Date,n=Math.max(0,16-(e-w));return w=e+n,window.setTimeout(t,n)}var E=window.requestAnimationFrame||b("RequestAnimationFrame")||x,C=window.cancelAnimationFrame||b("CancelAnimationFrame")||b("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,n){if(!n||E!==x)return E.call(window,s(t,e));t.call(e)}function S(t){t&&C.call(window,t)}var T=(Object.freeze||Object)({freeze:e,extend:n,create:i,bind:s,lastId:o,stamp:r,throttle:a,wrapNum:l,falseFn:h,formatNum:u,trim:c,splitWords:d,setOptions:p,getParamString:m,template:_,isArray:g,indexOf:y,emptyImageUrl:v,requestFn:E,cancelFn:C,requestAnimFrame:k,cancelAnimFrame:S});function I(){}I.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},s=e.__super__=this.prototype,o=i(s);for(var r in o.constructor=e,e.prototype=o,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(e[r]=this[r]);return t.statics&&(n(e,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),n.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=n(i(o.options),t.options)),n(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){s.callInitHooks&&s.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},I.include=function(t){return n(this.prototype,t),this},I.mergeOptions=function(t){return n(this.prototype.options,t),this},I.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),n="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};var P={on:function(t,e,n){if("object"==typeof t)for(var i in t)this._on(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._on(t[s],e,n);return this},off:function(t,e,n){if(t)if("object"==typeof t)for(var i in t)this._off(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._off(t[s],e,n);else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var i=this._events[t];i||(this._events[t]=i=[]),n===this&&(n=void 0);for(var s={fn:e,ctx:n},o=i,r=0,a=o.length;r<a;r++)if(o[r].fn===e&&o[r].ctx===n)return;o.push(s)},_off:function(t,e,n){var i,s,o;if(this._events&&(i=this._events[t]))if(e){if(n===this&&(n=void 0),i)for(s=0,o=i.length;s<o;s++){var r=i[s];if(r.ctx===n&&r.fn===e)return r.fn=h,this._firingCount&&(this._events[t]=i=i.slice()),void i.splice(s,1)}}else{for(s=0,o=i.length;s<o;s++)i[s].fn=h;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var s=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var r=0,a=o.length;r<a;r++){var l=o[r];l.fn.call(l.ctx||this,s)}this._firingCount--}}return i&&this._propagateEvent(s),this},listens:function(t,e){var n=this._events&&this._events[t];if(n&&n.length)return!0;if(e)for(var i in this._eventParents)if(this._eventParents[i].listens(t,e))return!0;return!1},once:function(t,e,n){if("object"==typeof t){for(var i in t)this.once(i,t[i],e);return this}var o=s(function(){this.off(t,e,n).off(t,o,n)},this);return this.on(t,e,n).on(t,o,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[r(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[r(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};P.addEventListener=P.on,P.removeEventListener=P.clearAllEventListeners=P.off,P.addOneTimeEventListener=P.once,P.fireEvent=P.fire,P.hasEventListeners=P.listens;var M=I.extend(P);function D(t,e,n){this.x=n?Math.round(t):t,this.y=n?Math.round(e):e}var A=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,n){return t instanceof D?t:g(t)?new D(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,n)}function R(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function N(t,e){return!t||t instanceof R?t:new R(t,e)}function F(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function z(t,e){return t instanceof F?t:new F(t,e)}function V(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==n&&(this.alt=+n)}function B(t,e,n){return t instanceof V?t:g(t)&&"object"!=typeof t[0]?3===t.length?new V(t[0],t[1],t[2]):2===t.length?new V(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new V(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new V(t,e,n)}D.prototype={clone:function(){return new D(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new D(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new D(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=A(this.x),this.y=A(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,n=t.y-this.y;return Math.sqrt(e*e+n*n)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+u(this.x)+", "+u(this.y)+")"}},R.prototype={extend:function(t){return t=O(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new D((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new D(this.min.x,this.max.y)},getTopRight:function(){return new D(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,n;return(t="number"==typeof t[0]||t instanceof D?O(t):N(t))instanceof R?(e=t.min,n=t.max):e=n=t,e.x>=this.min.x&&n.x<=this.max.x&&e.y>=this.min.y&&n.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>=e.x&&i.x<=n.x&&s.y>=e.y&&i.y<=n.y},overlaps:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>e.x&&i.x<n.x&&s.y>e.y&&i.y<n.y},isValid:function(){return!(!this.min||!this.max)}},F.prototype={extend:function(t){var e,n,i=this._southWest,s=this._northEast;if(t instanceof V)e=t,n=t;else{if(!(t instanceof F))return t?this.extend(B(t)||z(t)):this;if(n=t._northEast,!(e=t._southWest)||!n)return this}return i||s?(i.lat=Math.min(e.lat,i.lat),i.lng=Math.min(e.lng,i.lng),s.lat=Math.max(n.lat,s.lat),s.lng=Math.max(n.lng,s.lng)):(this._southWest=new V(e.lat,e.lng),this._northEast=new V(n.lat,n.lng)),this},pad:function(t){var e=this._southWest,n=this._northEast,i=Math.abs(e.lat-n.lat)*t,s=Math.abs(e.lng-n.lng)*t;return new F(new V(e.lat-i,e.lng-s),new V(n.lat+i,n.lng+s))},getCenter:function(){return new V((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new V(this.getNorth(),this.getWest())},getSouthEast:function(){return new V(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof V||"lat"in t?B(t):z(t);var e,n,i=this._southWest,s=this._northEast;return t instanceof F?(e=t.getSouthWest(),n=t.getNorthEast()):e=n=t,e.lat>=i.lat&&n.lat<=s.lat&&e.lng>=i.lng&&n.lng<=s.lng},intersects:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&i.lat<=n.lat&&s.lng>=e.lng&&i.lng<=n.lng},overlaps:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&i.lat<n.lat&&s.lng>e.lng&&i.lng<n.lng},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},V.prototype={equals:function(t,e){return!!t&&(t=B(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+u(this.lat,t)+", "+u(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,B(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,n=e/Math.cos(Math.PI/180*this.lat);return z([this.lat-e,this.lng-n],[this.lat+e,this.lng+n])},clone:function(){return new V(this.lat,this.lng,this.alt)}};var j={latLngToPoint:function(t,e){var n=this.projection.project(t),i=this.scale(e);return this.transformation._transform(n,i)},pointToLatLng:function(t,e){var n=this.scale(e),i=this.transformation.untransform(t,n);return this.projection.unproject(i)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,n=this.scale(t);return new R(this.transformation.transform(e.min,n),this.transformation.transform(e.max,n))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?l(t.lng,this.wrapLng,!0):t.lng;return new V(this.wrapLat?l(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),n=this.wrapLatLng(e),i=e.lat-n.lat,s=e.lng-n.lng;if(0===i&&0===s)return t;var o=t.getSouthWest(),r=t.getNorthEast();return new F(new V(o.lat-i,o.lng-s),new V(r.lat-i,r.lng-s))}},H=n({},j,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var n=Math.PI/180,i=t.lat*n,s=e.lat*n,o=Math.sin((e.lat-t.lat)*n/2),r=Math.sin((e.lng-t.lng)*n/2),a=o*o+Math.cos(i)*Math.cos(s)*r*r,l=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*l}}),Z={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,n=this.MAX_LATITUDE,i=Math.max(Math.min(n,t.lat),-n),s=Math.sin(i*e);return new D(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new V((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return new R([-t,-t],[t,t])}()};function U(t,e,n,i){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=n,this._d=i}function G(t,e,n,i){return new U(t,e,n,i)}U.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new D((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var $=n({},H,{code:"EPSG:3857",projection:Z,transformation:function(){var t=.5/(Math.PI*Z.R);return G(t,.5,-t,.5)}()}),q=n({},$,{code:"EPSG:900913"});function W(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function K(t,e){var n,i,s,o,r,a,l="";for(n=0,s=t.length;n<s;n++){for(i=0,o=(r=t[n]).length;i<o;i++)a=r[i],l+=(i?"L":"M")+a.x+" "+a.y;l+=e?kt?"z":"x":""}return l||"M0 0"}var Y=document.documentElement.style,Q="ActiveXObject"in window,X=Q&&!document.addEventListener,J="msLaunchUri"in navigator&&!("documentMode"in document),tt=Tt("webkit"),et=Tt("android"),nt=Tt("android 2")||Tt("android 3"),it=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),st=et&&Tt("Google")&&it<537&&!("AudioNode"in window),ot=!!window.opera,rt=Tt("chrome"),at=Tt("gecko")&&!tt&&!ot&&!Q,lt=!rt&&Tt("safari"),ht=Tt("phantom"),ut="OTransition"in Y,ct=0===navigator.platform.indexOf("Win"),dt=Q&&"transition"in Y,pt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,mt="MozPerspective"in Y,ft=!window.L_DISABLE_3D&&(dt||pt||mt)&&!ut&&!ht,_t="undefined"!=typeof orientation||Tt("mobile"),gt=_t&&tt,yt=_t&&pt,vt=!window.PointerEvent&&window.MSPointerEvent,bt=!(!window.PointerEvent&&!vt),wt=!window.L_NO_TOUCH&&(bt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),xt=_t&&ot,Et=_t&&at,Ct=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Lt=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!W("svg").createSVGRect),St=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Tt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It=(Object.freeze||Object)({ie:Q,ielt9:X,edge:J,webkit:tt,android:et,android23:nt,androidStock:st,opera:ot,chrome:rt,gecko:at,safari:lt,phantom:ht,opera12:ut,win:ct,ie3d:dt,webkit3d:pt,gecko3d:mt,any3d:ft,mobile:_t,mobileWebkit:gt,mobileWebkit3d:yt,msPointer:vt,pointer:bt,touch:wt,mobileOpera:xt,mobileGecko:Et,retina:Ct,canvas:Lt,svg:kt,vml:St}),Pt=vt?"MSPointerDown":"pointerdown",Mt=vt?"MSPointerMove":"pointermove",Dt=vt?"MSPointerUp":"pointerup",At=vt?"MSPointerCancel":"pointercancel",Ot=["INPUT","SELECT","OPTION"],Rt={},Nt=!1,Ft=0;function zt(t){Rt[t.pointerId]=t,Ft++}function Vt(t){Rt[t.pointerId]&&(Rt[t.pointerId]=t)}function Bt(t){delete Rt[t.pointerId],Ft--}function jt(t,e){for(var n in t.touches=[],Rt)t.touches.push(Rt[n]);t.changedTouches=[t],e(t)}var Ht=vt?"MSPointerDown":bt?"pointerdown":"touchstart",Zt=vt?"MSPointerUp":bt?"pointerup":"touchend",Ut="_leaflet_";function Gt(t,e,n){var i,s,o=!1,r=250;function a(t){var e;if(bt){if(!J||"mouse"===t.pointerType)return;e=Ft}else e=t.touches.length;if(!(e>1)){var n=Date.now(),a=n-(i||n);s=t.touches?t.touches[0]:t,o=a>0&&a<=r,i=n}}function l(t){if(o&&!s.cancelBubble){if(bt){if(!J||"mouse"===t.pointerType)return;var n,r,a={};for(r in s)a[r]=(n=s[r])&&n.bind?n.bind(s):n;s=a}s.type="dblclick",e(s),i=null}}return t[Ut+Ht+n]=a,t[Ut+Zt+n]=l,t[Ut+"dblclick"+n]=e,t.addEventListener(Ht,a,!1),t.addEventListener(Zt,l,!1),t.addEventListener("dblclick",e,!1),this}function $t(t,e){var n=t[Ut+Zt+e],i=t[Ut+"dblclick"+e];return t.removeEventListener(Ht,t[Ut+Ht+e],!1),t.removeEventListener(Zt,n,!1),J||t.removeEventListener("dblclick",i,!1),this}var qt,Wt,Kt,Yt,Qt,Xt=me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jt=me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),te="webkitTransition"===Jt||"OTransition"===Jt?Jt+"End":"transitionend";function ee(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var n=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!n||"auto"===n)&&document.defaultView){var i=document.defaultView.getComputedStyle(t,null);n=i?i[e]:null}return"auto"===n?null:n}function ie(t,e,n){var i=document.createElement(t);return i.className=e||"",n&&n.appendChild(i),i}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function oe(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function re(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ae(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=de(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)}function he(t,e){if(void 0!==t.classList)for(var n=d(e),i=0,s=n.length;i<s;i++)t.classList.add(n[i]);else if(!le(t,e)){var o=de(t);ce(t,(o?o+" ":"")+e)}}function ue(t,e){void 0!==t.classList?t.classList.remove(e):ce(t,c((" "+de(t)+" ").replace(" "+e+" "," ")))}function ce(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function de(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function pe(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var n=!1,i="DXImageTransform.Microsoft.Alpha";try{n=t.filters.item(i)}catch(t){if(1===e)return}e=Math.round(100*e),n?(n.Enabled=100!==e,n.Opacity=e):t.style.filter+=" progid:"+i+"(opacity="+e+")"}(t,e)}function me(t){for(var e=document.documentElement.style,n=0;n<t.length;n++)if(t[n]in e)return t[n];return!1}function fe(t,e,n){var i=e||new D(0,0);t.style[Xt]=(dt?"translate("+i.x+"px,"+i.y+"px)":"translate3d("+i.x+"px,"+i.y+"px,0)")+(n?" scale("+n+")":"")}function _e(t,e){t._leaflet_pos=e,ft?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ge(t){return t._leaflet_pos||new D(0,0)}if("onselectstart"in document)qt=function(){ke(window,"selectstart",Oe)},Wt=function(){Te(window,"selectstart",Oe)};else{var ye=me(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);qt=function(){if(ye){var t=document.documentElement.style;Kt=t[ye],t[ye]="none"}},Wt=function(){ye&&(document.documentElement.style[ye]=Kt,Kt=void 0)}}function ve(){ke(window,"dragstart",Oe)}function be(){Te(window,"dragstart",Oe)}function we(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(xe(),Yt=t,Qt=t.style.outline,t.style.outline="none",ke(window,"keydown",xe))}function xe(){Yt&&(Yt.style.outline=Qt,Yt=void 0,Qt=void 0,Te(window,"keydown",xe))}function Ee(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function Ce(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Le=(Object.freeze||Object)({TRANSFORM:Xt,TRANSITION:Jt,TRANSITION_END:te,get:ee,getStyle:ne,create:ie,remove:se,empty:oe,toFront:re,toBack:ae,hasClass:le,addClass:he,removeClass:ue,setClass:ce,getClass:de,setOpacity:pe,testProp:me,setTransform:fe,setPosition:_e,getPosition:ge,disableTextSelection:qt,enableTextSelection:Wt,disableImageDrag:ve,enableImageDrag:be,preventOutline:we,restoreOutline:xe,getSizedParentNode:Ee,getScale:Ce});function ke(t,e,n,i){if("object"==typeof e)for(var s in e)Ie(t,s,e[s],n);else for(var o=0,r=(e=d(e)).length;o<r;o++)Ie(t,e[o],n,i);return this}var Se="_leaflet_events";function Te(t,e,n,i){if("object"==typeof e)for(var s in e)Pe(t,s,e[s],n);else if(e)for(var o=0,r=(e=d(e)).length;o<r;o++)Pe(t,e[o],n,i);else{for(var a in t[Se])Pe(t,a,t[Se][a]);delete t[Se]}return this}function Ie(t,e,n,i){var o=e+r(n)+(i?"_"+r(i):"");if(t[Se]&&t[Se][o])return this;var a=function(e){return n.call(i||t,e||window.event)},l=a;bt&&0===e.indexOf("touch")?function(t,e,n,i){"touchstart"===e?function(t,e,n){var i=s(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Ot.indexOf(t.target.tagName)<0))return;Oe(t)}jt(t,e)});t["_leaflet_touchstart"+n]=i,t.addEventListener(Pt,i,!1),Nt||(document.documentElement.addEventListener(Pt,zt,!0),document.documentElement.addEventListener(Mt,Vt,!0),document.documentElement.addEventListener(Dt,Bt,!0),document.documentElement.addEventListener(At,Bt,!0),Nt=!0)}(t,n,i):"touchmove"===e?function(t,e,n){var i=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&jt(t,e)};t["_leaflet_touchmove"+n]=i,t.addEventListener(Mt,i,!1)}(t,n,i):"touchend"===e&&function(t,e,n){var i=function(t){jt(t,e)};t["_leaflet_touchend"+n]=i,t.addEventListener(Dt,i,!1),t.addEventListener(At,i,!1)}(t,n,i)}(t,e,a,o):!wt||"dblclick"!==e||!Gt||bt&&rt?"addEventListener"in t?"mousewheel"===e?t.addEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):"mouseenter"===e||"mouseleave"===e?(a=function(e){e=e||window.event,Ze(t,e)&&l(e)},t.addEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1)):("click"===e&&et&&(a=function(t){!function(t,e){var n=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,i=Ve&&n-Ve;i&&i>100&&i<500||t.target._simulatedClick&&!t._simulated?Re(t):(Ve=n,e(t))}(t,l)}),t.addEventListener(e,a,!1)):"attachEvent"in t&&t.attachEvent("on"+e,a):Gt(t,a,o),t[Se]=t[Se]||{},t[Se][o]=a}function Pe(t,e,n,i){var s=e+r(n)+(i?"_"+r(i):""),o=t[Se]&&t[Se][s];if(!o)return this;bt&&0===e.indexOf("touch")?function(t,e,n){var i=t["_leaflet_"+e+n];"touchstart"===e?t.removeEventListener(Pt,i,!1):"touchmove"===e?t.removeEventListener(Mt,i,!1):"touchend"===e&&(t.removeEventListener(Dt,i,!1),t.removeEventListener(At,i,!1))}(t,e,s):!wt||"dblclick"!==e||!$t||bt&&rt?"removeEventListener"in t?t.removeEventListener("mousewheel"===e?"onwheel"in t?"wheel":"mousewheel":"mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,o,!1):"detachEvent"in t&&t.detachEvent("on"+e,o):$t(t,s),t[Se][s]=null}function Me(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,He(t),this}function De(t){return Ie(t,"mousewheel",Me),this}function Ae(t){return ke(t,"mousedown touchstart dblclick",Me),Ie(t,"click",je),this}function Oe(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Oe(t),Me(t),this}function Ne(t,e){if(!e)return new D(t.clientX,t.clientY);var n=Ce(e),i=n.boundingClientRect;return new D((t.clientX-i.left)/n.x-e.clientLeft,(t.clientY-i.top)/n.y-e.clientTop)}var Fe=ct&&rt?2*window.devicePixelRatio:at?window.devicePixelRatio:1;function ze(t){return J?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ve,Be={};function je(t){Be[t.type]=!0}function He(t){var e=Be[t.type];return Be[t.type]=!1,e}function Ze(t,e){var n=e.relatedTarget;if(!n)return!0;try{for(;n&&n!==t;)n=n.parentNode}catch(t){return!1}return n!==t}var Ue=(Object.freeze||Object)({on:ke,off:Te,stopPropagation:Me,disableScrollPropagation:De,disableClickPropagation:Ae,preventDefault:Oe,stop:Re,getMousePosition:Ne,getWheelDelta:ze,fakeStop:je,skipped:He,isExternalTarget:Ze,addListener:ke,removeListener:Te}),Ge=M.extend({run:function(t,e,n,i){this.stop(),this._el=t,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(i||.5,.2),this._startPos=ge(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,n=1e3*this._duration;e<n?this._runFrame(this._easeOut(e/n),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var n=this._startPos.add(this._offset.multiplyBy(t));e&&n._round(),_e(this._el,n),this.fire("step")},_complete:function(){S(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),$e=M.extend({options:{crs:$,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=p(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=s(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(B(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jt&&ft&&!xt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ke(this._proxy,te,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(B(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t=t||(ft?this.options.zoomDelta:1)),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t=t||(ft?this.options.zoomDelta:1)),e)},setZoomAround:function(t,e,n){var i=this.getZoomScale(e),s=this.getSize().divideBy(2),o=(t instanceof D?t:this.latLngToContainerPoint(t)).subtract(s).multiplyBy(1-1/i),r=this.containerPointToLatLng(s.add(o));return this.setView(r,e,{zoom:n})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():z(t);var n=O(e.paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,n.add(i));if((s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s)===1/0)return{center:t.getCenter(),zoom:s};var o=i.subtract(n).divideBy(2),r=this.project(t.getSouthWest(),s),a=this.project(t.getNorthEast(),s);return{center:this.unproject(r.add(a).divideBy(2).add(o),s),zoom:s}},fitBounds:function(t,e){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var n=this._getBoundsCenterZoom(t,e);return this.setView(n.center,n.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=O(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Ge,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){he(this._mapPane,"leaflet-pan-anim");var n=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,n,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){if(!1===(n=n||{}).animate||!ft)return this.setView(t,e,n);this._stop();var i=this.project(this.getCenter()),s=this.project(t),o=this.getSize(),r=this._zoom;t=B(t),e=void 0===e?r:e;var a=Math.max(o.x,o.y),l=a*this.getZoomScale(r,e),h=s.distanceTo(i)||1,u=2.0164;function c(t){var e=(l*l-a*a+(t?-1:1)*u*u*h*h)/(2*(t?l:a)*u*h),n=Math.sqrt(e*e+1)-e;return n<1e-9?-18:Math.log(n)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=c(0),f=Date.now(),_=(c(1)-m)/1.42,g=n.duration?1e3*n.duration:1e3*_*.8;return this._moveStart(!0,n.noMoveStart),(function n(){var o=(Date.now()-f)/g,l=function(t){return 1-Math.pow(1-t,1.5)}(o)*_;o<=1?(this._flyToFrame=k(n,this),this._move(this.unproject(i.add(s.subtract(i).multiplyBy(function(t){return a*(p(m)*function(t){return d(t)/p(t)}(m+1.42*t)-d(m))/u}(l)/h)),r),this.getScaleZoom(a/function(t){return a*(p(m)/p(m+1.42*t))}(l),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}).call(this),this},flyToBounds:function(t,e){var n=this._getBoundsCenterZoom(t,e);return this.flyTo(n.center,n.zoom,e)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var n=this.getCenter(),i=this._limitCenter(n,this._zoom,z(t));return n.equals(i)||this.panTo(i,e),this._enforcingBounds=!1,this},panInside:function(t,e){var n=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getCenter(),o=this.project(s),r=this.project(t),a=this.getPixelBounds(),l=a.getSize().divideBy(2),h=N([a.min.add(n),a.max.subtract(i)]);if(!h.contains(r)){this._enforcingBounds=!0;var u=o.subtract(r),c=O(r.x+u.x,r.y+u.y);(r.x<h.min.x||r.x>h.max.x)&&(c.x=o.x-u.x,u.x>0?c.x+=l.x-n.x:c.x-=l.x-i.x),(r.y<h.min.y||r.y>h.max.y)&&(c.y=o.y-u.y,u.y>0?c.y+=l.y-n.y:c.y-=l.y-i.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),a=o.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(s(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=s(this._handleGeolocationResponse,this),i=s(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,n=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+n+"."})},_handleGeolocationResponse:function(t){var e=new V(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),i=this._locateOptions;if(i.setView){var s=this.getBoundsZoom(n);this.setView(e,i.maxZoom?Math.min(s,i.maxZoom):s)}var o={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(o[r]=t.coords[r]);this.fire("locationfound",o)},addHandler:function(t,e){if(!e)return this;var n=this[t]=new e(this);return this._handlers.push(n),this.options[t]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=ie("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new F(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,n){t=z(t),n=O(n||[0,0]);var i=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(n),h=N(this.project(a,i),this.project(r,i)).getSize(),u=ft?this.options.zoomSnap:1,c=l.x/h.x,d=l.y/h.y,p=e?Math.max(c,d):Math.min(c,d);return i=this.getScaleZoom(p,i),u&&(i=Math.round(i/(u/100))*(u/100),i=e?Math.ceil(i/u)*u:Math.floor(i/u)*u),Math.max(s,Math.min(o,i))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var n=this._getTopLeftPoint(t,e);return new R(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=void 0===e?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs,i=n.zoom(t*n.scale(e=void 0===e?this._zoom:e));return isNaN(i)?1/0:i},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(B(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(B(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(B(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,e){return this.options.crs.distance(B(t),B(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(B(t)))},mouseEventToContainerPoint:function(t){return Ne(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ee(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");ke(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ft,he(t,"leaflet-container"+(wt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(X?" leaflet-oldie":"")+(lt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(he(t.markerPane,"leaflet-zoom-hide"),he(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){_e(this._mapPane,new D(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var i=this._zoom!==e;this._moveStart(i,!1)._move(t,e)._moveEnd(i),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,n){void 0===e&&(e=this._zoom);var i=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(i||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){_e(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Te:ke;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),ft&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=k(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,o=t.target||t.srcElement,a=!1;o;){if((n=this._targets[r(o)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(n)){a=!0;break}if(n&&n.listens(e,!0)){if(s&&!Ze(o,t))break;if(i.push(n),s)break}if(o===this._container)break;o=o.parentNode}return i.length||a||s||!Ze(o,t)||(i=[this]),i},_handleDOMEvent:function(t){if(this._loaded&&!He(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e||we(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var s=n({},t);s.type="preclick",this._fireDOMEvent(s,s.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&Oe(t);var r={originalEvent:t};if("keypress"!==t.type){var a=o.getLatLng&&(!o._radius||o._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?o.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var l=0;l<i.length;l++)if(i[l].fire(e,r,!0),r.originalEvent._stopped||!1===i[l].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ge(this._mapPane)||new D(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var n=this.getSize()._divideBy(2);return this.project(t,e)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return N([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,n){if(!n)return t;var i=this.project(t,e),s=this.getSize().divideBy(2),o=new R(i.subtract(s),i.add(s)),r=this._getBoundsOffset(o,n,e);return r.round().equals([0,0])?t:this.unproject(i.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var n=this.getPixelBounds(),i=new R(n.min.add(t),n.max.add(t));return t.add(this._getBoundsOffset(i,e))},_getBoundsOffset:function(t,e,n){var i=N(this.project(e.getNorthEast(),n),this.project(e.getSouthWest(),n)),s=i.min.subtract(t.min),o=i.max.subtract(t.max);return new D(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),n=this.getMaxZoom(),i=ft?this.options.zoomSnap:1;return i&&(t=Math.round(t/i)*i),Math.max(e,Math.min(n,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ue(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var n=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(n)||(this.panBy(n,e),0))},_createAnimProxy:function(){var t=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=Xt,n=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),n===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,n){if(this._animatingZoom)return!0;if(n=n||{},!this._zoomAnimated||!1===n.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var i=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/i);return!(!0!==n.animate&&!this.getSize().contains(s)||(k(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,n,i){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,he(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:i}),setTimeout(s(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ue(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),k(function(){this._moveEnd(!0)},this))}}),qe=I.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),n=this.getPosition(),i=t._controlCorners[n];return he(e,"leaflet-control"),-1!==n.indexOf("bottom")?i.insertBefore(e,i.firstChild):i.appendChild(e),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),We=function(t){return new qe(t)};$e.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",n=this._controlContainer=ie("div",e+"control-container",this._container);function i(i,s){t[i+s]=ie("div",e+i+" "+e+s,n)}i("top","left"),i("top","right"),i("bottom","left"),i("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=qe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,n,i){return n<i?-1:i<n?1:0}},initialize:function(t,e,n){for(var i in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[i],i);for(i in e)this._addLayer(e[i],i,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return qe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(r(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){he(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(he(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ue(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ue(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ie("div",t),n=this.options.collapsed;e.setAttribute("aria-haspopup",!0),Ae(e),De(e);var i=this._section=ie("section",t+"-list");n&&(this._map.on("click",this.collapse,this),et||ke(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=ie("a",t+"-toggle",e);s.href="#",s.title="Layers",wt?(ke(s,"click",Re),ke(s,"click",this.expand,this)):ke(s,"focus",this.expand,this),n||this.expand(),this._baseLayersList=ie("div",t+"-base",i),this._separator=ie("div",t+"-separator",i),this._overlaysList=ie("div",t+"-overlays",i),e.appendChild(i)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&r(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:n}),this.options.sortLayers&&this._layers.sort(s(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;oe(this._baseLayersList),oe(this._overlaysList),this._layerControlInputs=[];var t,e,n,i,s=0;for(n=0;n<this._layers.length;n++)this._addItem(i=this._layers[n]),e=e||i.overlay,t=t||!i.overlay,s+=i.overlay?0:1;return this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&s>1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),n=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;n&&this._map.fire(n,e)},_createRadioElement:function(t,e){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=n,i.firstChild},_addItem:function(t){var e,n=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=i):e=this._createRadioElement("leaflet-base-layers",i),this._layerControlInputs.push(e),e.layerId=r(t.layer),ke(e,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var o=document.createElement("div");return n.appendChild(o),o.appendChild(e),o.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,n=this._layerControlInputs,i=[],s=[];this._handlingClick=!0;for(var o=n.length-1;o>=0;o--)e=this._getLayer((t=n[o]).layerId).layer,t.checked?i.push(e):t.checked||s.push(e);for(o=0;o<s.length;o++)this._map.hasLayer(s[o])&&this._map.removeLayer(s[o]);for(o=0;o<i.length;o++)this._map.hasLayer(i[o])||this._map.addLayer(i[o]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._layerControlInputs,i=this._map.getZoom(),s=n.length-1;s>=0;s--)e=this._getLayer((t=n[s]).layerId).layer,t.disabled=void 0!==e.options.minZoom&&i<e.options.minZoom||void 0!==e.options.maxZoom&&i>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Ye=qe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",n=ie("div",e+" leaflet-bar"),i=this.options;return this._zoomInButton=this._createButton(i.zoomInText,i.zoomInTitle,e+"-in",n,this._zoomIn),this._zoomOutButton=this._createButton(i.zoomOutText,i.zoomOutTitle,e+"-out",n,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),n},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,n,i,s){var o=ie("a",n,i);return o.innerHTML=t,o.href="#",o.title=e,o.setAttribute("role","button"),o.setAttribute("aria-label",e),Ae(o),ke(o,"click",Re),ke(o,"click",s,this),ke(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ue(this._zoomInButton,e),ue(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&he(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&he(this._zoomInButton,e)}});$e.mergeOptions({zoomControl:!0}),$e.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Qe=qe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=ie("div","leaflet-control-scale"),n=this.options;return this._addScales(n,"leaflet-control-scale-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,n){t.metric&&(this._mScale=ie("div",e,n)),t.imperial&&(this._iScale=ie("div",e,n))},_update:function(){var t=this._map,e=t.getSize().y/2,n=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(n)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,n,i,s=3.2808399*t;s>5280?(n=this._getRoundNum(e=s/5280),this._updateScale(this._iScale,n+" mi",n/e)):(i=this._getRoundNum(s),this._updateScale(this._iScale,i+" ft",i/s))},_updateScale:function(t,e,n){t.style.width=Math.round(this.options.maxWidth*n)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),n=t/e;return e*(n>=10?10:n>=5?5:n>=3?3:n>=2?2:1)}}),Xe=qe.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),Ae(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var n=[];this.options.prefix&&n.push(this.options.prefix),t.length&&n.push(t.join(", ")),this._container.innerHTML=n.join(" | ")}}});$e.mergeOptions({attributionControl:!0}),$e.addInitHook(function(){this.options.attributionControl&&(new Xe).addTo(this)}),qe.Layers=Ke,qe.Zoom=Ye,qe.Scale=Qe,qe.Attribution=Xe,We.layers=function(t,e,n){return new Ke(t,e,n)},We.zoom=function(t){return new Ye(t)},We.scale=function(t){return new Qe(t)},We.attribution=function(t){return new Xe(t)};var Je=I.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Je.addTo=function(t,e){return t.addHandler(e,this),this};var tn,en={Events:P},nn=wt?"touchstart mousedown":"mousedown",sn={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},on={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},rn=M.extend({options:{clickTolerance:3},initialize:function(t,e,n,i){p(this,i),this._element=t,this._dragStartTarget=e||t,this._preventOutline=n},enable:function(){this._enabled||(ke(this._dragStartTarget,nn,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(rn._dragging===this&&this.finishDrag(),Te(this._dragStartTarget,nn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")&&!(rn._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(rn._dragging=this,this._preventOutline&&we(this._element),ve(),qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,n=Ee(this._element);this._startPoint=new D(e.clientX,e.clientY),this._parentScale=Ce(n),ke(document,on[t.type],this._onMove,this),ke(document,sn[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,n=new D(e.clientX,e.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,Oe(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ge(this._element).subtract(n),he(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),he(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(n),this._moving=!0,S(this._animRequest),this._lastEvent=t,this._animRequest=k(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),_e(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in ue(document.body,"leaflet-dragging"),this._lastTarget&&(ue(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),on)Te(document,on[t],this._onMove,this),Te(document,sn[t],this._onUp,this);be(),Wt(),this._moved&&this._moving&&(S(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,rn._dragging=!1}});function an(t,e){if(!e||!t.length)return t.slice();var n=e*e;return function(t,e){var n=t.length,i=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);i[0]=i[n-1]=1,function t(e,n,i,s,o){var r,a,l,h=0;for(a=s+1;a<=o-1;a++)(l=pn(e[a],e[s],e[o],!0))>h&&(r=a,h=l);h>i&&(n[r]=1,t(e,n,i,s,r),t(e,n,i,r,o))}(t,i,e,0,n-1);var s,o=[];for(s=0;s<n;s++)i[s]&&o.push(t[s]);return o}(t=function(t,e){for(var n=[t[0]],i=1,s=0,o=t.length;i<o;i++)dn(t[i],t[s])>e&&(n.push(t[i]),s=i);return s<o-1&&n.push(t[o-1]),n}(t,n),n)}function ln(t,e,n){return Math.sqrt(pn(t,e,n,!0))}function hn(t,e,n,i,s){var o,r,a,l=i?tn:cn(t,n),h=cn(e,n);for(tn=h;;){if(!(l|h))return[t,e];if(l&h)return!1;a=cn(r=un(t,e,o=l||h,n,s),n),o===l?(t=r,l=a):(e=r,h=a)}}function un(t,e,n,i,s){var o,r,a=e.x-t.x,l=e.y-t.y,h=i.min,u=i.max;return 8&n?(o=t.x+a*(u.y-t.y)/l,r=u.y):4&n?(o=t.x+a*(h.y-t.y)/l,r=h.y):2&n?(o=u.x,r=t.y+l*(u.x-t.x)/a):1&n&&(o=h.x,r=t.y+l*(h.x-t.x)/a),new D(o,r,s)}function cn(t,e){var n=0;return t.x<e.min.x?n|=1:t.x>e.max.x&&(n|=2),t.y<e.min.y?n|=4:t.y>e.max.y&&(n|=8),n}function dn(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}function pn(t,e,n,i){var s,o=e.x,r=e.y,a=n.x-o,l=n.y-r,h=a*a+l*l;return h>0&&((s=((t.x-o)*a+(t.y-r)*l)/h)>1?(o=n.x,r=n.y):s>0&&(o+=a*s,r+=l*s)),a=t.x-o,l=t.y-r,i?a*a+l*l:new D(o,r)}function mn(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function fn(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),mn(t)}var _n=(Object.freeze||Object)({simplify:an,pointToSegmentDistance:ln,closestPointOnSegment:function(t,e,n){return pn(t,e,n)},clipSegment:hn,_getEdgeIntersection:un,_getBitCode:cn,_sqClosestPointOnSegment:pn,isFlat:mn,_flat:fn});function gn(t,e,n){var i,s,o,r,a,l,h,u,c,d=[1,4,2,8];for(s=0,h=t.length;s<h;s++)t[s]._code=cn(t[s],e);for(r=0;r<4;r++){for(u=d[r],i=[],s=0,o=(h=t.length)-1;s<h;o=s++)l=t[o],(a=t[s])._code&u?l._code&u||((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)):(l._code&u&&((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)),i.push(a));t=i}return t}var yn=(Object.freeze||Object)({clipPolygon:gn}),vn={project:function(t){return new D(t.lng,t.lat)},unproject:function(t){return new V(t.y,t.x)},bounds:new R([-180,-90],[180,90])},bn={R:6378137,R_MINOR:6356752.314245179,bounds:new R([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,n=this.R,i=t.lat*e,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=o*Math.sin(i),a=Math.tan(Math.PI/4-i/2)/Math.pow((1-r)/(1+r),o/2);return i=-n*Math.log(Math.max(a,1e-10)),new D(t.lng*e*n,i)},unproject:function(t){for(var e,n=180/Math.PI,i=this.R,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=Math.exp(-t.y/i),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)e=o*Math.sin(a),e=Math.pow((1-e)/(1+e),o/2),a+=h=Math.PI/2-2*Math.atan(r*e)-a;return new V(a*n,t.x*n/i)}},wn=(Object.freeze||Object)({LonLat:vn,Mercator:bn,SphericalMercator:Z}),xn=n({},H,{code:"EPSG:3395",projection:bn,transformation:function(){var t=.5/(Math.PI*bn.R);return G(t,.5,-t,.5)}()}),En=n({},H,{code:"EPSG:4326",projection:vn,transformation:G(1/180,1,-1/180,.5)}),Cn=n({},j,{projection:vn,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var n=e.lng-t.lng,i=e.lat-t.lat;return Math.sqrt(n*n+i*i)},infinite:!0});j.Earth=H,j.EPSG3395=xn,j.EPSG3857=$,j.EPSG900913=q,j.EPSG4326=En,j.Simple=Cn;var Ln=M.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var n=this.getEvents();e.on(n,this),this.once("remove",function(){e.off(n,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});$e.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},_addLayers:function(t){for(var e=0,n=(t=t?g(t)?t:[t]:[]).length;e<n;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[r(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=r(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,n=this._getZoomSpan();for(var i in this._zoomBoundLayers){var s=this._zoomBoundLayers[i].options;t=void 0===s.minZoom?t:Math.min(t,s.minZoom),e=void 0===s.maxZoom?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var kn=Ln.extend({initialize:function(t,e){var n,i;if(p(this,e),this._layers={},t)for(n=0,i=t.length;n<i;n++)this.addLayer(t[n])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,n,i=Array.prototype.slice.call(arguments,1);for(e in this._layers)(n=this._layers[e])[t]&&n[t].apply(n,i);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return r(t)}}),Sn=kn.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),kn.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),kn.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new F;for(var e in this._layers){var n=this._layers[e];t.extend(n.getBounds?n.getBounds():n.getLatLng())}return t}}),Tn=I.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var n=this._getIconUrl(t);if(!n){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(n,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var n=this.options,i=n[e+"Size"];"number"==typeof i&&(i=[i,i]);var s=O(i),o=O("shadow"===e&&n.shadowAnchor||n.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(n.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),In=Tn.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return In.imagePath||(In.imagePath=this._detectIconPath()),(this.options.imagePath||In.imagePath)+Tn.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ie("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");return document.body.removeChild(t),null===e||0!==e.indexOf("url")?"":e.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Pn=Je.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new rn(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),he(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ue(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,n=e._map,i=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,o=ge(e._icon),r=n.getPixelBounds(),a=n.getPixelOrigin(),l=N(r.min._subtract(a).add(s),r.max._subtract(a).subtract(s));if(!l.contains(o)){var h=O((Math.max(l.max.x,o.x)-l.max.x)/(r.max.x-l.max.x)-(Math.min(l.min.x,o.x)-l.min.x)/(r.min.x-l.min.x),(Math.max(l.max.y,o.y)-l.max.y)/(r.max.y-l.max.y)-(Math.min(l.min.y,o.y)-l.min.y)/(r.min.y-l.min.y)).multiplyBy(i);n.panBy(h,{animate:!1}),this._draggable._newPos._add(h),this._draggable._startPos._add(h),_e(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(S(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,n=e._shadow,i=ge(e._icon),s=e._map.layerPointToLatLng(i);n&&_e(n,i),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){S(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Mn=Ln.extend({options:{icon:new In,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){p(this,e),this._latlng=B(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=B(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),n=t.icon.createIcon(this._icon),i=!1;n!==this._icon&&(this._icon&&this._removeIcon(),i=!0,t.title&&(n.title=t.title),"IMG"===n.tagName&&(n.alt=t.alt||"")),he(n,e),t.keyboard&&(n.tabIndex="0"),this._icon=n,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),o=!1;s!==this._shadow&&(this._removeShadow(),o=!0),s&&(he(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),i&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&o&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){_e(this._icon,t),this._shadow&&_e(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(he(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Pn)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Pn(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;pe(this._icon,t),this._shadow&&pe(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Dn=Ln.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),An=Dn.extend({options:{fill:!0,radius:10},initialize:function(t,e){p(this,e),this._latlng=B(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=B(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Dn.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,n=this._clickTolerance(),i=[t+n,e+n];this._pxBounds=new R(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),On=An.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=n({},i,{radius:e})),p(this,e),this._latlng=B(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new F(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Dn.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,n=this._map,i=n.options.crs;if(i.distance===H.distance){var s=Math.PI/180,o=this._mRadius/H.R/s,r=n.project([e+o,t]),a=n.project([e-o,t]),l=r.add(a).divideBy(2),h=n.unproject(l).lat,u=Math.acos((Math.cos(o*s)-Math.sin(e*s)*Math.sin(h*s))/(Math.cos(e*s)*Math.cos(h*s)))/s;(isNaN(u)||0===u)&&(u=o/Math.cos(Math.PI/180*e)),this._point=l.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:l.x-n.project([h,t-u]).x,this._radiusY=l.y-r.y}else{var c=i.unproject(i.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x}this._updateBounds()}}),Rn=Dn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){p(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,n,i=1/0,s=null,o=pn,r=0,a=this._parts.length;r<a;r++)for(var l=this._parts[r],h=1,u=l.length;h<u;h++){var c=o(t,e=l[h-1],n=l[h],!0);c<i&&(i=c,s=o(t,e,n))}return s&&(s.distance=Math.sqrt(i)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a=this._rings[0],l=a.length;if(!l)return null;for(t=0,e=0;t<l-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,i=0;t<l-1;t++)if((i+=n=(s=a[t]).distanceTo(o=a[t+1]))>e)return this._map.layerPointToLatLng([o.x-(r=(i-e)/n)*(o.x-s.x),o.y-r*(o.y-s.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=B(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new F,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return mn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],n=mn(t),i=0,s=t.length;i<s;i++)n?(e[i]=B(t[i]),this._bounds.extend(e[i])):e[i]=this._convertLatLngs(t[i]);return e},_project:function(){var t=new R;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),n=new D(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(n),t.max._add(n),this._pxBounds=t)},_projectLatlngs:function(t,e,n){var i,s,o=t.length;if(t[0]instanceof V){for(s=[],i=0;i<o;i++)s[i]=this._map.latLngToLayerPoint(t[i]),n.extend(s[i]);e.push(s)}else for(i=0;i<o;i++)this._projectLatlngs(t[i],e,n)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,n,i,s,o,r,a,l=this._parts;for(e=0,i=0,s=this._rings.length;e<s;e++)for(n=0,o=(a=this._rings[e]).length;n<o-1;n++)(r=hn(a[n],a[n+1],t,n,!0))&&(l[i]=l[i]||[],l[i].push(r[0]),r[1]===a[n+1]&&n!==o-2||(l[i].push(r[1]),i++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,n=0,i=t.length;n<i;n++)t[n]=an(t[n],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var n,i,s,o,r,a,l=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,o=this._parts.length;n<o;n++)for(i=0,s=(r=(a=this._parts[n]).length)-1;i<r;s=i++)if((e||0!==i)&&ln(t,a[s],a[i])<=l)return!0;return!1}});Rn._flat=fn;var Nn=Rn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a,l=this._rings[0],h=l.length;if(!h)return null;for(o=r=a=0,t=0,e=h-1;t<h;e=t++)r+=((n=l[t]).x+(i=l[e]).x)*(s=n.y*i.x-i.y*n.x),a+=(n.y+i.y)*s,o+=3*s;return this._map.layerPointToLatLng(0===o?l[0]:[r/o,a/o])},_convertLatLngs:function(t){var e=Rn.prototype._convertLatLngs.call(this,t),n=e.length;return n>=2&&e[0]instanceof V&&e[0].equals(e[n-1])&&e.pop(),e},_setLatLngs:function(t){Rn.prototype._setLatLngs.call(this,t),mn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return mn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,n=new D(e,e);if(t=new R(t.min.subtract(n),t.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,s=0,o=this._rings.length;s<o;s++)(i=gn(this._rings[s],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,n,i,s,o,r,a,l,h=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(s=0,a=this._parts.length;s<a;s++)for(o=0,r=(l=(e=this._parts[s]).length)-1;o<l;r=o++)(n=e[o]).y>t.y!=(i=e[r]).y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(h=!h);return h||Rn.prototype._containsPoint.call(this,t,!0)}}),Fn=Sn.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,n,i,s=g(t)?t:t.features;if(s){for(e=0,n=s.length;e<n;e++)((i=s[e]).geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var o=this.options;if(o.filter&&!o.filter(t))return this;var r=zn(t,o);return r?(r.feature=Un(t),r.defaultOptions=r.options,this.resetStyle(r),o.onEachFeature&&o.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}});function zn(t,e){var n,i,s,o,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,l=[],h=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Vn;if(!a&&!r)return null;switch(r.type){case"Point":return n=u(a),h?h(t,n):new Mn(n);case"MultiPoint":for(s=0,o=a.length;s<o;s++)n=u(a[s]),l.push(h?h(t,n):new Mn(n));return new Sn(l);case"LineString":case"MultiLineString":return i=Bn(a,"LineString"===r.type?0:1,u),new Rn(i,e);case"Polygon":case"MultiPolygon":return i=Bn(a,"Polygon"===r.type?1:2,u),new Nn(i,e);case"GeometryCollection":for(s=0,o=r.geometries.length;s<o;s++){var c=zn({geometry:r.geometries[s],type:"Feature",properties:t.properties},e);c&&l.push(c)}return new Sn(l);default:throw new Error("Invalid GeoJSON object.")}}function Vn(t){return new V(t[1],t[0],t[2])}function Bn(t,e,n){for(var i,s=[],o=0,r=t.length;o<r;o++)i=e?Bn(t[o],e-1,n):(n||Vn)(t[o]),s.push(i);return s}function jn(t,e){return e="number"==typeof e?e:6,void 0!==t.alt?[u(t.lng,e),u(t.lat,e),u(t.alt,e)]:[u(t.lng,e),u(t.lat,e)]}function Hn(t,e,n,i){for(var s=[],o=0,r=t.length;o<r;o++)s.push(e?Hn(t[o],e-1,n,i):jn(t[o],i));return!e&&n&&s.push(s[0]),s}function Zn(t,e){return t.feature?n({},t.feature,{geometry:e}):Un(e)}function Un(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Gn={toGeoJSON:function(t){return Zn(this,{type:"Point",coordinates:jn(this.getLatLng(),t)})}};function $n(t,e){return new Fn(t,e)}Mn.include(Gn),On.include(Gn),An.include(Gn),Rn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=Hn(this._latlngs,e?1:0,!1,t);return Zn(this,{type:(e?"Multi":"")+"LineString",coordinates:n})}}),Nn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=e&&!mn(this._latlngs[0]),i=Hn(this._latlngs,n?2:e?1:0,!0,t);return e||(i=[i]),Zn(this,{type:(n?"Multi":"")+"Polygon",coordinates:i})}}),kn.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(n){e.push(n.toGeoJSON(t).geometry.coordinates)}),Zn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var n="GeometryCollection"===e,i=[];return this.eachLayer(function(e){if(e.toGeoJSON){var s=e.toGeoJSON(t);if(n)i.push(s.geometry);else{var o=Un(s);"FeatureCollection"===o.type?i.push.apply(i,o.features):i.push(o)}}}),n?Zn(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}});var qn=$n,Wn=Ln.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,n){this._url=t,this._bounds=z(e),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(he(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&re(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ie("img");he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),this.options.className&&he(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=s(this.fire,this,"load"),e.onerror=s(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,n,e)},_reset:function(){var t=this._image,e=new R(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=e.getSize();_e(t,e.min),t.style.width=n.x+"px",t.style.height=n.y+"px"},_updateOpacity:function(){pe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Kn=Wn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ie("video");if(he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=s(this.fire,this,"load"),t){for(var n=e.getElementsByTagName("source"),i=[],o=0;o<n.length;o++)i.push(n[o].src);this._url=n.length>0?i:[e.src]}else{g(this._url)||(this._url=[this._url]),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop;for(var r=0;r<this._url.length;r++){var a=ie("source");a.src=this._url[r],e.appendChild(a)}}}}),Yn=Ln.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){p(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&pe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&pe(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(pe(this._container,0),this._removeTimeout=setTimeout(s(se,void 0,this._container),200)):se(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=B(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&re(this._container),this},bringToBack:function(){return this._map&&ae(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),n=this._getAnchor();this._zoomAnimated?_e(this._container,t.add(n)):e=e.add(t).add(n);var i=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=i+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),Qn=Yn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Yn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Dn||this._source.on("preclick",Me))},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Dn||this._source.off("preclick",Me))},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=ie("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=ie("div",t+"-content-wrapper",e);if(this._contentNode=ie("div",t+"-content",n),Ae(n),De(this._contentNode),ke(n,"contextmenu",Me),this._tipContainer=ie("div",t+"-tip-container",e),this._tip=ie("div",t+"-tip",this._tipContainer),this.options.closeButton){var i=this._closeButton=ie("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",ke(i,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var n=t.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),e.width=n+1+"px",e.whiteSpace="",e.height="";var i=this.options.maxHeight;i&&t.offsetHeight>i?(e.height=i+"px",he(t,"leaflet-popup-scrolled")):ue(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),n=this._getAnchor();_e(this._container,e.add(n))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+e,i=this._containerWidth,s=new D(this._containerLeft,-n-this._containerBottom);s._add(ge(this._container));var o=t.layerPointToContainerPoint(s),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),l=O(this.options.autoPanPaddingBottomRight||r),h=t.getSize(),u=0,c=0;o.x+i+l.x>h.x&&(u=o.x+i-h.x+l.x),o.x-u-a.x<0&&(u=o.x-a.x),o.y+n+l.y>h.y&&(c=o.y+n-h.y+l.y),o.y-c-a.y<0&&(c=o.y-a.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),Re(t)},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});$e.mergeOptions({closePopupOnClick:!0}),$e.include({openPopup:function(t,e,n){return t instanceof Qn||(t=new Qn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ln.include({bindPopup:function(t,e){return t instanceof Qn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Qn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Re(t),e instanceof Dn?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xn=Yn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){this._contentNode=this._container=ie("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,n=this._container,i=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),o=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,l=O(this.options.offset),h=this._getAnchor();"top"===o?t=t.add(O(-r/2+l.x,-a+l.y+h.y,!0)):"bottom"===o?t=t.subtract(O(r/2-l.x,-l.y,!0)):"center"===o?t=t.subtract(O(r/2+l.x,a/2-h.y+l.y,!0)):"right"===o||"auto"===o&&s.x<i.x?(o="right",t=t.add(O(l.x+h.x,h.y-a/2+l.y,!0))):(o="left",t=t.subtract(O(r+h.x-l.x,a/2-h.y-l.y,!0))),ue(n,"leaflet-tooltip-right"),ue(n,"leaflet-tooltip-left"),ue(n,"leaflet-tooltip-top"),ue(n,"leaflet-tooltip-bottom"),he(n,"leaflet-tooltip-"+o),_e(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&pe(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});$e.include({openTooltip:function(t,e,n){return t instanceof Xn||(t=new Xn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ln.include({bindTooltip:function(t,e){return t instanceof Xn?(p(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=new Xn(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),wt&&(n.click=this._openTooltip)),this[e](n),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(he(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(ue(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){this._tooltip&&this._map&&this.openTooltip(t.layer||t.target,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,n,i=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),n=this._map.containerPointToLayerPoint(e),i=this._map.layerPointToLatLng(n)),this._tooltip.setLatLng(i)}});var Jn=Tn.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;if(e.innerHTML=!1!==n.html?n.html:"",n.bgPos){var i=O(n.bgPos);e.style.backgroundPosition=-i.x+"px "+-i.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Tn.Default=In;var ti=Ln.extend({options:{tileSize:256,opacity:1,updateWhenIdle:_t,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(re(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=a(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof D?t:new D(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,n=this.getPane().children,i=-t(-1/0,1/0),s=0,o=n.length;s<o;s++)e=n[s].style.zIndex,n[s]!==this._container&&e&&(i=t(i,+e));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X){pe(this._container,this.options.opacity);var t=+new Date,e=!1,n=!1;for(var i in this._tiles){var s=this._tiles[i];if(s.current&&s.loaded){var o=Math.min(1,(t-s.loaded)/200);pe(s.el,o),o<1?e=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),e&&(S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var n in this._levels)this._levels[n].el.children.length||n===t?(this._levels[n].el.style.zIndex=e-Math.abs(t-n),this._onUpdateLevel(n)):(se(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var i=this._levels[t],s=this._map;return i||((i=this._levels[t]={}).el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),i.el.style.zIndex=e,i.origin=s.project(s.unproject(s.getPixelOrigin()),t).round(),i.zoom=t,this._setZoomTransform(i,s.getCenter(),s.getZoom()),this._onCreateLevel(i)),this._level=i,i}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var i=e.coords;this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,n,i){var s=Math.floor(t/2),o=Math.floor(e/2),r=n-1,a=new D(+s,+o);a.z=+r;var l=this._tileCoordsToKey(a),h=this._tiles[l];return h&&h.active?(h.retain=!0,!0):(h&&h.loaded&&(h.retain=!0),r>i&&this._retainParent(s,o,r,i))},_retainChildren:function(t,e,n,i){for(var s=2*t;s<2*t+2;s++)for(var o=2*e;o<2*e+2;o++){var r=new D(s,o);r.z=n+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),n+1<i&&this._retainChildren(s,o,n+1,i))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,n,i){var s=this._clampZoom(Math.round(e));(void 0!==this.options.maxZoom&&s>this.options.maxZoom||void 0!==this.options.minZoom&&s<this.options.minZoom)&&(s=void 0),i&&!(this.options.updateWhenZooming&&s!==this._tileZoom)||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==s&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var n in this._levels)this._setZoomTransform(this._levels[n],t,e)},_setZoomTransform:function(t,e,n){var i=this._map.getZoomScale(n,t.zoom),s=t.origin.multiplyBy(i).subtract(this._map._getNewPixelOrigin(e,n)).round();ft?fe(t.el,s,i):_e(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,n=this._tileSize=this.getTileSize(),i=this._tileZoom,s=this._map.getPixelWorldBounds(this._tileZoom);s&&(this._globalTileRange=this._pxBoundsToTileRange(s)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],i).x/n.x),Math.ceil(t.project([0,e.wrapLng[1]],i).x/n.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],i).y/n.x),Math.ceil(t.project([e.wrapLat[1],0],i).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,n=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(n,this._tileZoom),s=e.project(t,this._tileZoom).floor(),o=e.getSize().divideBy(2*i);return new R(s.subtract(o),s.add(o))},_update:function(t){var e=this._map;if(e){var n=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var i=this._getTiledPixelBounds(t),s=this._pxBoundsToTileRange(i),o=s.getCenter(),r=[],a=this.options.keepBuffer,l=new R(s.getBottomLeft().subtract([a,-a]),s.getTopRight().add([a,-a]));if(!(isFinite(s.min.x)&&isFinite(s.min.y)&&isFinite(s.max.x)&&isFinite(s.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var h in this._tiles){var u=this._tiles[h].coords;u.z===this._tileZoom&&l.contains(new D(u.x,u.y))||(this._tiles[h].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(t,n);else{for(var c=s.min.y;c<=s.max.y;c++)for(var d=s.min.x;d<=s.max.x;d++){var p=new D(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort(function(t,e){return t.distanceTo(o)-e.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],f);this._level.el.appendChild(f)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var n=this._globalTileRange;if(!e.wrapLng&&(t.x<n.min.x||t.x>n.max.x)||!e.wrapLat&&(t.y<n.min.y||t.y>n.max.y))return!1}if(!this.options.bounds)return!0;var i=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(i)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,n=this.getTileSize(),i=t.scaleBy(n),s=i.add(n);return[e.unproject(i,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),n=new F(e[0],e[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),n=new D(+e[0],+e[1]);return n.z=+e[2],n},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){he(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,X&&this.options.opacity<1&&pe(t,this.options.opacity),et&&!nt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var n=this._getTilePos(t),i=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),s(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&k(s(this._tileReady,this,t,null,o)),_e(o,n),this._tiles[i]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,n){e&&this.fire("tileerror",{error:e,tile:n,coords:t});var i=this._tileCoordsToKey(t);(n=this._tiles[i])&&(n.loaded=+new Date,this._map._fadeAnimated?(pe(n.el,0),S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),e||(he(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(s(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new R(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ei=ti.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Ct&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),et||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var n=document.createElement("img");return ke(n,"load",s(this._tileOnLoad,this,e,n)),ke(n,"error",s(this._tileOnError,this,e,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return _(this._url,n(e,this.options))},_tileOnLoad:function(t,e){X?setTimeout(s(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,n){var i=this.options.errorTileUrl;i&&e.getAttribute("src")!==i&&(e.src=i),t(n,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,e.complete||(e.src=v,se(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return st||e.el.setAttribute("src",v),ti.prototype._removeTile.call(this,t)},_tileReady:function(t,e,n){if(this._map&&(!n||n.getAttribute("src")!==v))return ti.prototype._tileReady.call(this,t,e,n)}});function ni(t,e){return new ei(t,e)}var ii=ei.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var s in e)s in this.options||(i[s]=e[s]);var o=(e=p(this,e)).detectRetina&&Ct?2:1,r=this.getTileSize();i.width=r.x*o,i.height=r.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,ei.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),n=this._crs,i=N(n.project(e[0]),n.project(e[1])),s=i.min,o=i.max,r=(this._wmsVersion>=1.3&&this._crs===En?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ei.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});ei.WMS=ii,ni.wms=function(t,e){return new ii(t,e)};var si=Ln.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&he(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var n=this._map.getZoomScale(e,this._zoom),i=ge(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),r=this._map.project(t,e).subtract(o),a=s.multiplyBy(-n).add(i).add(s).subtract(r);ft?fe(this._container,a,n):_e(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),n=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new R(n,n.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),oi=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){si.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ke(t,"mousemove",a(this._onMouseMove,32,this),this),ke(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ke(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,se(this._container),Te(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=this._container,n=t.getSize(),i=Ct?2:1;_e(e,t.min),e.width=i*n.x,e.height=i*n.y,e.style.width=n.x+"px",e.style.height=n.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){si.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,n=e.next,i=e.prev;n?n.prev=i:this._drawLast=i,i?i.next=n:this._drawFirst=n,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,n,i=t.options.dashArray.split(/[, ]+/),s=[];for(n=0;n<i.length;n++){if(e=Number(i[n]),isNaN(e))return;s.push(e)}t.options._dashArray=s}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new R,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var n=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var i=this._drawFirst;i;i=i.next)t=i.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var n,i,s,o,r=t._parts,a=r.length,l=this._ctx;if(a){for(l.beginPath(),n=0;n<a;n++){for(i=0,s=r[n].length;i<s;i++)o=r[n][i],l[i?"lineTo":"moveTo"](o.x,o.y);e&&l.closePath()}this._fillStroke(l,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,n=this._ctx,i=Math.max(Math.round(t._radius),1),s=(Math.max(Math.round(t._radiusY),1)||i)/i;1!==s&&(n.save(),n.scale(1,s)),n.beginPath(),n.arc(e.x,e.y/s,i,0,2*Math.PI,!1),1!==s&&n.restore(),this._fillStroke(n,t)}},_fillStroke:function(t,e){var n=e.options;n.fill&&(t.globalAlpha=n.fillOpacity,t.fillStyle=n.fillColor||n.color,t.fill(n.fillRule||"evenodd")),n.stroke&&0!==n.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=n.opacity,t.lineWidth=n.weight,t.strokeStyle=n.color,t.lineCap=n.lineCap,t.lineJoin=n.lineJoin,t.stroke())},_onClick:function(t){for(var e,n,i=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)(e=s.layer).options.interactive&&e._containsPoint(i)&&!this._map._draggableMoved(e)&&(n=e);n&&(je(t),this._fireEvent([n],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ue(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var n,i,s=this._drawFirst;s;s=s.next)(n=s.layer).options.interactive&&n._containsPoint(e)&&(i=n);i!==this._hoveredLayer&&(this._handleMouseOut(t),i&&(he(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseover"),this._hoveredLayer=i)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,n){this._map._fireDOMEvent(e,n||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;n&&(n.prev=i,i?i.next=n:n&&(this._drawFirst=n),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;i&&(i.next=n,n?n.prev=i:i&&(this._drawLast=i),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function ri(t){return Lt?new oi(t):null}var ai=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),li={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(si.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ai("shape");he(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ai("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,n=t._fill,i=t.options,s=t._container;s.stroked=!!i.stroke,s.filled=!!i.fill,i.stroke?(e||(e=t._stroke=ai("stroke")),s.appendChild(e),e.weight=i.weight+"px",e.color=i.color,e.opacity=i.opacity,e.dashStyle=i.dashArray?g(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):"",e.endcap=i.lineCap.replace("butt","flat"),e.joinstyle=i.lineJoin):e&&(s.removeChild(e),t._stroke=null),i.fill?(n||(n=t._fill=ai("fill")),s.appendChild(n),n.color=i.fillColor||i.color,n.opacity=i.fillOpacity):n&&(s.removeChild(n),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),n=Math.round(t._radius),i=Math.round(t._radiusY||n);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+n+","+i+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){re(t._container)},_bringToBack:function(t){ae(t._container)}},hi=St?ai:W,ui=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=hi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=hi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Te(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=t.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,n.setAttribute("width",e.x),n.setAttribute("height",e.y)),_e(n,t.min),n.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=hi("path");t.options.className&&he(e,t.options.className),t.options.interactive&&he(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,n=t.options;e&&(n.stroke?(e.setAttribute("stroke",n.color),e.setAttribute("stroke-opacity",n.opacity),e.setAttribute("stroke-width",n.weight),e.setAttribute("stroke-linecap",n.lineCap),e.setAttribute("stroke-linejoin",n.lineJoin),n.dashArray?e.setAttribute("stroke-dasharray",n.dashArray):e.removeAttribute("stroke-dasharray"),n.dashOffset?e.setAttribute("stroke-dashoffset",n.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),n.fill?(e.setAttribute("fill",n.fillColor||n.color),e.setAttribute("fill-opacity",n.fillOpacity),e.setAttribute("fill-rule",n.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,K(t._parts,e))},_updateCircle:function(t){var e=t._point,n=Math.max(Math.round(t._radius),1),i="a"+n+","+(Math.max(Math.round(t._radiusY),1)||n)+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-n)+","+e.y+i+2*n+",0 "+i+2*-n+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){re(t._path)},_bringToBack:function(t){ae(t._path)}});function ci(t){return kt||St?new ui(t):null}St&&ui.include(li),$e.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&ri(t)||ci(t)}});var di=Nn.extend({initialize:function(t,e){Nn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=z(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ui.create=hi,ui.pointsToPath=K,Fn.geometryToLayer=zn,Fn.coordsToLatLng=Vn,Fn.coordsToLatLngs=Bn,Fn.latLngToCoords=jn,Fn.latLngsToCoords=Hn,Fn.getFeature=Zn,Fn.asFeature=Un,$e.mergeOptions({boxZoom:!0});var pi=Je.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Te(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),qt(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(t),ke(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),he(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new R(this._point,this._startPoint),n=e.getSize();_e(this._box,e.min),this._box.style.width=n.x+"px",this._box.style.height=n.y+"px"},_finish:function(){this._moved&&(se(this._box),ue(this._container,"leaflet-crosshair")),Wt(),be(),Te(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(s(this._resetState,this),0);var e=new F(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});$e.addInitHook("addHandler","boxZoom",pi),$e.mergeOptions({doubleClickZoom:!0});var mi=Je.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,n=e.getZoom(),i=e.options.zoomDelta,s=t.originalEvent.shiftKey?n-i:n+i;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});$e.addInitHook("addHandler","doubleClickZoom",mi),$e.mergeOptions({dragging:!0,inertia:!nt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=Je.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new rn(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}he(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ue(this._map._container,"leaflet-grab"),ue(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=z(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),n=this._initialWorldOffset,i=this._draggable._newPos.x,s=(i-e+n)%t+e-n,o=(i+e+n)%t-e-n,r=Math.abs(s+n)<Math.abs(o+n)?s:o;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,n=e.options,i=!n.inertia||this._times.length<2;if(e.fire("dragend",t),i)e.fire("moveend");else{this._prunePositions(+new Date);var s=this._lastPos.subtract(this._positions[0]),o=n.easeLinearity,r=s.multiplyBy(o/((this._lastTime-this._times[0])/1e3)),a=r.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,a),h=r.multiplyBy(l/a),u=l/(n.inertiaDeceleration*o),c=h.multiplyBy(-u/2).round();c.x||c.y?(c=e._limitOffset(c,e.options.maxBounds),k(function(){e.panBy(c,{duration:u,easeLinearity:o,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}});$e.addInitHook("addHandler","dragging",fi),$e.mergeOptions({keyboard:!0,keyboardPanDelta:80});var _i=Je.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),ke(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Te(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,n=t.scrollTop||e.scrollTop,i=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(i,n)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,n,i=this._panKeys={},s=this.keyCodes;for(e=0,n=s.left.length;e<n;e++)i[s.left[e]]=[-1*t,0];for(e=0,n=s.right.length;e<n;e++)i[s.right[e]]=[t,0];for(e=0,n=s.down.length;e<n;e++)i[s.down[e]]=[0,t];for(e=0,n=s.up.length;e<n;e++)i[s.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,n,i=this._zoomKeys={},s=this.keyCodes;for(e=0,n=s.zoomIn.length;e<n;e++)i[s.zoomIn[e]]=t;for(e=0,n=s.zoomOut.length;e<n;e++)i[s.zoomOut[e]]=-t},_addHooks:function(){ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Te(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,n=t.keyCode,i=this._map;if(n in this._panKeys)i._panAnim&&i._panAnim._inProgress||(e=this._panKeys[n],t.shiftKey&&(e=O(e).multiplyBy(3)),i.panBy(e),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds));else if(n in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!i._popup||!i._popup.options.closeOnEscapeKey)return;i.closePopup()}Re(t)}}});$e.addInitHook("addHandler","keyboard",_i),$e.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var gi=Je.extend({addHooks:function(){ke(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Te(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=ze(t),n=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(s(this._performZoom,this),i),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),n=this._map.options.zoomSnap||0;t._stop();var i=4*Math.log(2/(1+Math.exp(-Math.abs(this._delta/(4*this._map.options.wheelPxPerZoomLevel)))))/Math.LN2,s=n?Math.ceil(i/n)*n:i,o=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,o&&("center"===t.options.scrollWheelZoom?t.setZoom(e+o):t.setZoomAround(this._lastMousePos,e+o))}});$e.addInitHook("addHandler","scrollWheelZoom",gi),$e.mergeOptions({tap:!0,tapTolerance:15});var yi=Je.extend({addHooks:function(){ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Te(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Oe(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],n=e.target;this._startPos=this._newPos=new D(e.clientX,e.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&he(n,"leaflet-active"),this._holdTimeout=setTimeout(s(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),ke(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Te(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],n=e.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&ue(n,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var n=document.createEvent("MouseEvents");n._simulated=!0,e.target._simulatedClick=!0,n.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(n)}});wt&&!bt&&$e.addInitHook("addHandler","tap",yi),$e.mergeOptions({touchZoom:wt&&!nt,bounceAtZoomLimits:!0});var vi=Je.extend({addHooks:function(){he(this._map._container,"leaflet-touch-zoom"),ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Te(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(n.add(i)._divideBy(2))),this._startDist=n.distanceTo(i),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ke(document,"touchmove",this._onTouchMove,this),ke(document,"touchend",this._onTouchEnd,this),Oe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]),o=n.distanceTo(i)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var r=n._add(i)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=s(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=k(a,this,!0),Oe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),Te(document,"touchmove",this._onTouchMove),Te(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});$e.addInitHook("addHandler","touchZoom",vi),$e.BoxZoom=pi,$e.DoubleClickZoom=mi,$e.Drag=fi,$e.Keyboard=_i,$e.ScrollWheelZoom=gi,$e.Tap=yi,$e.TouchZoom=vi,Object.freeze=e,t.version="1.4.0",t.Control=qe,t.control=We,t.Browser=It,t.Evented=M,t.Mixin=en,t.Util=T,t.Class=I,t.Handler=Je,t.extend=n,t.bind=s,t.stamp=r,t.setOptions=p,t.DomEvent=Ue,t.DomUtil=Le,t.PosAnimation=Ge,t.Draggable=rn,t.LineUtil=_n,t.PolyUtil=yn,t.Point=D,t.point=O,t.Bounds=R,t.bounds=N,t.Transformation=U,t.transformation=G,t.Projection=wn,t.LatLng=V,t.latLng=B,t.LatLngBounds=F,t.latLngBounds=z,t.CRS=j,t.GeoJSON=Fn,t.geoJSON=$n,t.geoJson=qn,t.Layer=Ln,t.LayerGroup=kn,t.layerGroup=function(t,e){return new kn(t,e)},t.FeatureGroup=Sn,t.featureGroup=function(t){return new Sn(t)},t.ImageOverlay=Wn,t.imageOverlay=function(t,e,n){return new Wn(t,e,n)},t.VideoOverlay=Kn,t.videoOverlay=function(t,e,n){return new Kn(t,e,n)},t.DivOverlay=Yn,t.Popup=Qn,t.popup=function(t,e){return new Qn(t,e)},t.Tooltip=Xn,t.tooltip=function(t,e){return new Xn(t,e)},t.Icon=Tn,t.icon=function(t){return new Tn(t)},t.DivIcon=Jn,t.divIcon=function(t){return new Jn(t)},t.Marker=Mn,t.marker=function(t,e){return new Mn(t,e)},t.TileLayer=ei,t.tileLayer=ni,t.GridLayer=ti,t.gridLayer=function(t){return new ti(t)},t.SVG=ui,t.svg=ci,t.Renderer=si,t.Canvas=oi,t.canvas=ri,t.Path=Dn,t.CircleMarker=An,t.circleMarker=function(t,e){return new An(t,e)},t.Circle=On,t.circle=function(t,e,n){return new On(t,e,n)},t.Polyline=Rn,t.polyline=function(t,e){return new Rn(t,e)},t.Polygon=Nn,t.polygon=function(t,e){return new Nn(t,e)},t.Rectangle=di,t.rectangle=function(t,e){return new di(t,e)},t.Map=$e,t.map=function(t,e){return new $e(t,e)};var bi=window.L;t.noConflict=function(){return window.L=bi,this},window.L=t}(e)},GPNb:function(t,e){function n(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="GPNb"},INa4:function(t,e){!function(t,e,n){L.drawVersion="0.4.14",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(t,e){this._map=t,this._container=t._container,this._overlayPane=t._panes.overlayPane,this._popupPane=t._panes.popupPane,e&&e.shapeOptions&&(e.shapeOptions=L.Util.extend({},this.options.shapeOptions,e.shapeOptions)),L.setOptions(this,e);var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(L.DomUtil.disableTextSelection(),t.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(t){L.setOptions(this,t)},_fireCreatedEvent:function(t){this._map.fire(L.Draw.Event.CREATED,{layer:t,layerType:this.type})},_cancelDrawing:function(t){27===t.keyCode&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(t,e){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,e&&e.drawError&&(e.drawError=L.Util.extend({},this.options.drawError,e.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),e=this._poly,n=e.getLatLngs(),i=n.splice(-1,1)[0];this._poly.setLatLngs(n),this._markerGroup.removeLayer(t),e.getLatLngs().length<2&&this._map.removeLayer(e),this._vertexChanged(i,!1)}},addVertex:function(t){this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(t)?this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(t)),this._poly.addLatLng(t),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),this._vertexChanged(t,!0))},completeShape:function(){this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var t=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),e=this._poly.newLatLngIntersects(t[t.length-1]);!this.options.allowIntersection&&e||!this._shapeIsValid()?this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_shapeIsValid:function(){return!0},_onZoomEnd:function(){null!==this._markers&&this._updateGuide()},_onMouseMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.layerPointToLatLng(e);this._currentLatLng=n,this._updateTooltip(n),this._updateGuide(e),this._mouseMarker.setLatLng(n),L.DomEvent.preventDefault(t.originalEvent)},_vertexChanged:function(t,e){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(t,e),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(t){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent;this._startPoint.call(this,e.clientX,e.clientY)}},_startPoint:function(t,e){this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){var e=t.originalEvent;this._endPoint.call(this,e.clientX,e.clientY,t),this._clickHandled=null},_endPoint:function(e,n,i){if(this._mouseDownOrigin){var s=L.point(e,n).distanceTo(this._mouseDownOrigin),o=this._calculateFinishDistance(i.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(i.latlng),this._finishShape()):o<10&&L.Browser.touch?this._finishShape():Math.abs(s)<9*(t.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,n,i=t.originalEvent;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=i.touches[0].clientX,n=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,n),this._endPoint.call(this,e,n,t),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var n;if(this.type===L.Draw.Polyline.TYPE)n=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;n=this._markers[0]}var i=this._map.latLngToContainerPoint(n.getLatLng()),s=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),o=this._map.latLngToContainerPoint(s.getLatLng());e=i.distanceTo(o)}else e=1/0;return e},_updateFinishHandler:function(){var t=this._markers.length;t>1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_updateGuide:function(t){var e=this._markers?this._markers.length:0;e>0&&(t=t||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[e-1].getLatLng()),t))},_updateTooltip:function(t){var e=this._getTooltipText();t&&this._tooltip.updatePosition(t),this._errorShown||this._tooltip.updateContent(e)},_drawGuide:function(t,e){var n,i,s,o=Math.floor(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))),r=this.options.maxGuideLineLength,a=o>r?o-r:this.options.guidelineDistance;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));a<o;a+=this.options.guidelineDistance)n=a/o,i={x:Math.floor(t.x*(1-n)+n*e.x),y:Math.floor(t.y*(1-n)+n*e.y)},(s=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer)).style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(s,i)},_updateGuideColor:function(t){if(this._guidesContainer)for(var e=0,n=this._guidesContainer.childNodes.length;e<n;e++)this._guidesContainer.childNodes[e].style.backgroundColor=t},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var t,e;return 0===this._markers.length?t={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(e=this.options.showLength?this._getMeasurementString():"",t=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:e}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:e}),t},_updateRunningMeasure:function(t,e){var n,i,s=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(n=s-(e?2:1),i=L.GeometryUtil.isVersion07x()?t.distanceTo(this._markers[n].getLatLng())*(this.options.factor||1):this._map.distance(t,this._markers[n].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=i*(e?1:-1))},_getMeasurementString:function(){var t,e=this._currentLatLng,n=this._markers[this._markers.length-1].getLatLng();return t=L.GeometryUtil.isVersion07x()?n&&e&&e.distanceTo?this._measurementRunningTotal+e.distanceTo(n)*(this.options.factor||1):this._measurementRunningTotal||0:n&&e?this._measurementRunningTotal+this._map.distance(e,n)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(t,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var t=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(t,e){L.Draw.Polyline.prototype.initialize.call(this,t,e),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var t=this._markers.length;1===t&&this._markers[0].on("click",this._finishShape,this),t>2&&(this._markers[t-1].on("dblclick",this._finishShape,this),t>3&&this._markers[t-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var t,e;return 0===this._markers.length?t=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(t=L.drawLocal.draw.handlers.polygon.tooltip.cont,e=this._getMeasurementString()):(t=L.drawLocal.draw.handlers.polygon.tooltip.end,e=this._getMeasurementString()),{text:t,subtext:e}},_getMeasurementString:function(){var t=this._area,e="";return t||this.options.showLength?(this.options.showLength&&(e=L.Draw.Polyline.prototype._getMeasurementString.call(this)),t&&(e+="<br>"+L.GeometryUtil.readableArea(t,this.options.metric,this.options.precision)),e):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(t,e){var n;!this.options.allowIntersection&&this.options.showArea&&(n=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(n)),L.Draw.Polyline.prototype._vertexChanged.call(this,t,e)},_cleanUpShape:function(){var t=this._markers.length;t>0&&(this._markers[0].off("click",this._finishShape,this),t>2&&this._markers[t-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(t,e){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),e.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(e,"mouseup",this._onMouseUp,this),L.DomEvent.off(e,"touchend",this._onMouseUp,this),e.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(t){this._isDrawing=!0,this._startLatLng=t.latlng,L.DomEvent.on(e,"mouseup",this._onMouseUp,this).on(e,"touchend",this._onMouseUp,this).preventDefault(t.originalEvent)},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(e))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,showArea:!0,clickable:!0},metric:!0},initialize:function(t,e){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(t){this._shape||this._isCurrentlyTwoClickDrawing?this._isCurrentlyTwoClickDrawing&&!function(t,e){for(;(t=t.parentElement)&&!t.classList.contains("leaflet-pane"););return t}(t.target)||L.Draw.SimpleShape.prototype._onMouseUp.call(this):this._isCurrentlyTwoClickDrawing=!0},_drawShape:function(t){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,t)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,t),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_getTooltipText:function(){var t,e,n,i=L.Draw.SimpleShape.prototype._getTooltipText.call(this),s=this.options.showArea;return this._shape&&(t=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),e=L.GeometryUtil.geodesicArea(t),n=s?L.GeometryUtil.readableArea(e,this.options.metric):""),{text:i.text,subtext:n}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._mouseMarker.setLatLng(e),this._marker?(e=this._mouseMarker.getLatLng(),this._marker.setLatLng(e)):(this._marker=this._createMarker(e),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(t){return new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(t){this._onMouseMove(t),this._onClick()},_fireCreatedEvent:function(){var t=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},_fireCreatedEvent:function(){var t=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)},_createMarker:function(t){return new L.CircleMarker(t,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(t,e){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},_drawShape:function(t){if(L.GeometryUtil.isVersion07x())var e=this._startLatLng.distanceTo(t);else e=this._map.distance(this._startLatLng,t);this._shape?this._shape.setRadius(e):(this._shape=new L.Circle(this._startLatLng,e,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_onMouseMove:function(t){var e,n=t.latlng,i=this.options.showRadius,s=this.options.metric;if(this._tooltip.updatePosition(n),this._isDrawing){this._drawShape(n),e=this._shape.getRadius().toFixed(1);var o="";i&&(o=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(e,s,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:o})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(t,e){this._marker=t,L.setOptions(this,e)},addHooks:function(){var t=this._marker;t.dragging.enable(),t.on("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},removeHooks:function(){var t=this._marker;t.dragging.disable(),t.off("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},_onDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_toggleMarkerHighlight:function(){var t=this._marker._icon;t&&(t.style.display="none",L.DomUtil.hasClass(t,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,-4)):(L.DomUtil.addClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,4)),t.style.display="")},_offsetMarker:function(t,e){var n=parseInt(t.style.marginTop,10)-e,i=parseInt(t.style.marginLeft,10)-e;t.style.marginTop=n+"px",t.style.marginLeft=i+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(t){this.latlngs=[t._latlngs],t._holes&&(this.latlngs=this.latlngs.concat(t._holes)),this._poly=t,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(t){for(var e=0;e<this._verticesHandlers.length;e++)t(this._verticesHandlers[e])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(t){t.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(t){t.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(t){t.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var t=0;t<this.latlngs.length;t++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[t],this._poly.options.poly))},_updateLatLngs:function(t){this.latlngs=[t.layer._latlngs],t.layer._holes&&(this.latlngs=this.latlngs.concat(t.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(t,e,n){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=t,n&&n.drawError&&(n.drawError=L.Util.extend({},this.options.drawError,n.drawError)),this._latlngs=e,L.setOptions(this,n)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var t=this._poly,e=t._path;t instanceof L.Polygon||(t.options.fill=!1,t.options.editing&&(t.options.editing.fill=!1)),e&&t.options.editing.className&&(t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var t=this._poly,e=t._path;e&&t.options.editing.className&&(t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.original),t._map&&(t._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var t,e,n,i,s,o,r=this._defaultShape();for(t=0,n=r.length;t<n;t++)(i=this._createMarker(r[t],t)).on("click",this._onMarkerClick,this),i.on("contextmenu",this._onContextMenu,this),this._markers.push(i);for(t=0,e=n-1;t<n;e=t++)(0!==t||L.Polygon&&this._poly instanceof L.Polygon)&&(this._createMiddleMarker(s=this._markers[e],o=this._markers[t]),this._updatePrevNext(s,o))},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:this.options.icon});return n._origLatLng=t,n._index=e,n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(n),n},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var t=this._defaultShape(),e=[].splice.apply(t,arguments);return this._poly._convertLatLngs(t,!0),this._poly.redraw(),e},_removeMarker:function(t){var e=t._index;this._markerGroup.removeLayer(t),this._markers.splice(e,1),this._spliceLatLngs(e,1),this._updateIndexes(e,-1),t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(t){var e=t.target,n=this._poly;if(L.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),n.options.poly){var i=n._map._editTooltip;if(!n.options.poly.allowIntersection&&n.intersects()){var s=n.options.color;n.setStyle({color:this.options.drawError.color}),0!==L.version.indexOf("0.7")&&e.dragging._draggable._onUp(t),this._onMarkerClick(t),i&&i.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){n.setStyle({color:s}),i&&i.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var o=this._poly.getLatLngs();this._poly._convertLatLngs(o,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(t){var e=L.Polygon&&this._poly instanceof L.Polygon?4:3,n=t.target;this._defaultShape().length<e||(this._removeMarker(n),this._updatePrevNext(n._prev,n._next),n._middleLeft&&this._markerGroup.removeLayer(n._middleLeft),n._middleRight&&this._markerGroup.removeLayer(n._middleRight),n._prev&&n._next?this._createMiddleMarker(n._prev,n._next):n._prev?n._next||(n._prev._middleRight=null):n._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(t){this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:t.target,layers:this._markerGroup,poly:this._poly}),L},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e),i=t.target;L.extend(i._origLatLng,n),i._middleLeft&&i._middleLeft.setLatLng(this._getMiddleLatLng(i._prev,i)),i._middleRight&&i._middleRight.setLatLng(this._getMiddleLatLng(i,i._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(n){n._index>t&&(n._index+=e)})},_createMiddleMarker:function(t,e){var n,i,s,o=this._getMiddleLatLng(t,e),r=this._createMarker(o);r.setOpacity(.6),t._middleRight=e._middleLeft=r,i=function(){r.off("touchmove",i,this);var s=e._index;r._index=s,r.off("click",n,this).on("click",this._onMarkerClick,this),o.lat=r.getLatLng().lat,o.lng=r.getLatLng().lng,this._spliceLatLngs(s,0,o),this._markers.splice(s,0,r),r.setOpacity(1),this._updateIndexes(s,1),e._index++,this._updatePrevNext(t,r),this._updatePrevNext(r,e),this._poly.fire("editstart")},s=function(){r.off("dragstart",i,this),r.off("dragend",s,this),r.off("touchmove",i,this),this._createMiddleMarker(t,r),this._createMiddleMarker(r,e)},r.on("click",n=function(){i.call(this),s.call(this),this._fireEdit()},this).on("dragstart",i,this).on("dragend",s,this).on("touchmove",i,this),this._markerGroup.addLayer(r)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var n=this._poly._map,i=n.project(t.getLatLng()),s=n.project(e.getLatLng());return n.unproject(i._add(s)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(t,e){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=t,L.Util.setOptions(this,e)},addHooks:function(){var t=this._shape;this._shape._map&&(this._map=this._shape._map,t.setStyle(t.options.editing),t._map&&(this._map=t._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape;if(t.setStyle(t.options.original),t._map){this._unbindMarker(this._moveMarker);for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._unbindMarker(this._resizeMarkers[e]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:e,zIndexOffset:10});return this._bindMarker(n),this._markerGroup.addLayer(n),n},_bindMarker:function(t){t.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(t){t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(t){t.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(t){var e=t.target,n=e.getLatLng();e===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(t){t.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(t){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t),"function"==typeof this._getCorners){var e=this._getCorners(),n=t.target,i=n._cornerIndex;n.setOpacity(0),this._oppositeCorner=e[(i+2)%4],this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e);return t.target===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),!1},_onTouchEnd:function(t){t.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getBounds().getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners();this._resizeMarkers=[];for(var e=0,n=t.length;e<n;e++)this._resizeMarkers.push(this._createMarker(t[e],this.options.resizeIcon)),this._resizeMarkers[e]._cornerIndex=e},_onMarkerDragStart:function(t){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t);var e=this._getCorners(),n=t.target._cornerIndex;this._oppositeCorner=e[(n+2)%4],this._toggleCornerMarkers(0,n)},_onMarkerDragEnd:function(t){var e,n=t.target;n===this._moveMarker&&(e=this._shape.getBounds().getCenter(),n.setLatLng(e)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,t)},_move:function(t){for(var e,n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),i=this._shape.getBounds().getCenter(),s=[],o=0,r=n.length;o<r;o++)s.push([t.lat+(e=[n[o].lat-i.lat,n[o].lng-i.lng])[0],t.lng+e[1]]);this._shape.setLatLngs(s),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(t){var e;this._shape.setBounds(L.latLngBounds(t,this._oppositeCorner)),e=this._shape.getBounds(),this._moveMarker.setLatLng(e.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var t=this._shape.getBounds();return[t.getNorthWest(),t.getNorthEast(),t.getSouthEast(),t.getSouthWest()]},_toggleCornerMarkers:function(t){for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setOpacity(t)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setLatLng(t[e])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getLatLng();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(t){if(this._resizeMarkers.length){var e=this._getResizeMarkerPoint(t);this._resizeMarkers[0].setLatLng(e)}this._shape.setLatLng(t),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var t=this._shape.getLatLng(),e=this._getResizeMarkerPoint(t);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(e,this.options.resizeIcon))},_getResizeMarkerPoint:function(t){var e=this._shape._radius*Math.cos(Math.PI/4),n=this._map.project(t);return this._map.unproject([n.x+e,n.y-e])},_resize:function(t){var e=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=e.distanceTo(t):radius=this._map.distance(e,t),this._shape.setRadius(radius),this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart),L.DomEvent.off(this._container,"touchend",this._onTouchEnd),L.DomEvent.off(this._container,"touchmove",this._onTouchMove),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave))},_touchEvent:function(t,e){var n={};if(void 0!==t.touches){if(!t.touches.length)return;n=t.touches[0]}else{if("touch"!==t.pointerType)return;if(n=t,!this._filterClick(t))return}var i=this._map.mouseEventToContainerPoint(n),s=this._map.mouseEventToLayerPoint(n),o=this._map.layerPointToLatLng(s);this._map.fire(e,{latlng:o,layerPoint:s,containerPoint:i,pageX:n.pageX,pageY:n.pageY,originalEvent:t})},_filterClick:function(t){var e=t.timeStamp||t.originalEvent.timeStamp,n=L.DomEvent._lastClick&&e-L.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?(L.DomEvent.stop(t),!1):(L.DomEvent._lastClick=e,!0)},_onTouchStart:function(t){this._map._loaded&&this._touchEvent(t,"touchstart")},_onTouchEnd:function(t){this._map._loaded&&this._touchEvent(t,"touchend")},_onTouchCancel:function(t){if(this._map._loaded){var e="touchcancel";this._detectIE()&&(e="pointercancel"),this._touchEvent(t,e)}},_onTouchLeave:function(t){this._map._loaded&&this._touchEvent(t,"touchleave")},_onTouchMove:function(t){this._map._loaded&&this._touchEvent(t,"touchmove")},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];e.concat(this._detectIE?["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]:["touchcancel"]),L.DomUtil.addClass(t,"leaflet-clickable"),L.DomEvent.on(t,"click",this._onMouseClick,this),L.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var n=0;n<e.length;n++)L.DomEvent.on(t,e[n],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.LatLngUtil={cloneLatLngs:function(t){for(var e=[],n=0,i=t.length;n<i;n++)Array.isArray(t[n])?e.push(L.LatLngUtil.cloneLatLngs(t[n])):e.push(this.cloneLatLng(t[n]));return e},cloneLatLng:function(t){return L.latLng(t.lat,t.lng)}},function(){var t={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(t){var e,n,i=t.length,s=0,o=Math.PI/180;if(i>2){for(var r=0;r<i;r++)s+=((n=t[(r+1)%i]).lng-(e=t[r]).lng)*o*(2+Math.sin(e.lat*o)+Math.sin(n.lat*o));s=6378137*s*6378137/2}return Math.abs(s)},formattedNumber:function(t,e){var n=parseFloat(t).toFixed(e),i=L.drawLocal.format&&L.drawLocal.format.numeric,s=i&&i.delimiters,o=s&&s.thousands,r=s&&s.decimal;if(o||r){var a=n.split(".");n=o?a[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o):a[0],r=r||".",a.length>1&&(n=n+r+a[1])}return n},readableArea:function(e,n,i){var s,o;return i=L.Util.extend({},t,i),n?(o=["ha","m"],type=typeof n,"string"===type?o=[n]:"boolean"!==type&&(o=n),s=e>=1e6&&-1!==o.indexOf("km")?L.GeometryUtil.formattedNumber(1e-6*e,i.km)+" km\xb2":e>=1e4&&-1!==o.indexOf("ha")?L.GeometryUtil.formattedNumber(1e-4*e,i.ha)+" ha":L.GeometryUtil.formattedNumber(e,i.m)+" m\xb2"):s=(e/=.836127)>=3097600?L.GeometryUtil.formattedNumber(e/3097600,i.mi)+" mi\xb2":e>=4840?L.GeometryUtil.formattedNumber(e/4840,i.ac)+" acres":L.GeometryUtil.formattedNumber(e,i.yd)+" yd\xb2",s},readableDistance:function(e,n,i,s,o){var r;switch(o=L.Util.extend({},t,o),n?"string"==typeof n?n:"metric":i?"feet":s?"nauticalMile":"yards"){case"metric":r=e>1e3?L.GeometryUtil.formattedNumber(e/1e3,o.km)+" km":L.GeometryUtil.formattedNumber(e,o.m)+" m";break;case"feet":e*=3.28083,r=L.GeometryUtil.formattedNumber(e,o.ft)+" ft";break;case"nauticalMile":e*=.53996,r=L.GeometryUtil.formattedNumber(e/1e3,o.nm)+" nm";break;case"yards":default:r=(e*=1.09361)>1760?L.GeometryUtil.formattedNumber(e/1760,o.mi)+" miles":L.GeometryUtil.formattedNumber(e,o.yd)+" yd"}return r},isVersion07x:function(){var t=L.version.split(".");return 0===parseInt(t[0],10)&&7===parseInt(t[1],10)}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(t,e,n,i){return this._checkCounterclockwise(t,n,i)!==this._checkCounterclockwise(e,n,i)&&this._checkCounterclockwise(t,e,n)!==this._checkCounterclockwise(t,e,i)},_checkCounterclockwise:function(t,e,n){return(n.y-t.y)*(e.x-t.x)>(e.y-t.y)*(n.x-t.x)}}),L.Polyline.include({intersects:function(){var t,e=this._getProjectedPoints(),n=e?e.length:0;if(this._tooFewPointsForIntersection())return!1;for(t=n-1;t>=3;t--)if(this._lineSegmentsIntersectsRange(e[t-1],e[t],t-2))return!0;return!1},newLatLngIntersects:function(t,e){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(t),e)},newPointIntersects:function(t,e){var n=this._getProjectedPoints(),i=n?n.length:0,s=n?n[i-1]:null,o=i-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(s,t,o,e?1:0)},_tooFewPointsForIntersection:function(t){var e=this._getProjectedPoints(),n=e?e.length:0;return!e||(n+=t||0)<=3},_lineSegmentsIntersectsRange:function(t,e,n,i){var s=this._getProjectedPoints();i=i||0;for(var o=n;o>i;o--)if(L.LineUtil.segmentsIntersect(t,e,s[o-1],s[o]))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var t=[],e=this._defaultShape(),n=0;n<e.length;n++)t.push(this._map.latLngToLayerPoint(e[n]));return t}}),L.Polygon.include({intersects:function(){var t,e=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||this._lineSegmentsIntersectsRange(e[(t=e.length)-1],e[0],t-2,1))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");var e;L.Control.prototype.initialize.call(this,t),this._toolbars={},L.DrawToolbar&&this.options.draw&&(e=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=e,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(e=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=e,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(t){var e,n=L.DomUtil.create("div","leaflet-draw"),i=!1;for(var s in this._toolbars)this._toolbars.hasOwnProperty(s)&&(e=this._toolbars[s].addToolbar(t))&&(i||(L.DomUtil.hasClass(e,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(e.childNodes[0],"leaflet-draw-toolbar-top"),i=!0),n.appendChild(e));return n},onRemove:function(){for(var t in this._toolbars)this._toolbars.hasOwnProperty(t)&&this._toolbars[t].removeToolbar()},setDrawingOptions:function(t){for(var e in this._toolbars)this._toolbars[e]instanceof L.DrawToolbar&&this._toolbars[e].setOptions(t)},_toolbarEnabled:function(t){var e=t.target;for(var n in this._toolbars)this._toolbars[n]!==e&&this._toolbars[n].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(t){L.setOptions(this,t),this._modes={},this._actionButtons=[],this._activeMode=null;var e=L.version.split(".");1===parseInt(e[0],10)&&parseInt(e[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(t){var e,n=L.DomUtil.create("div","leaflet-draw-section"),i=0,s=this._toolbarClass||"",o=this.getModeHandlers(t);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=t,e=0;e<o.length;e++)o[e].enabled&&this._initModeHandler(o[e].handler,this._toolbarContainer,i++,s,o[e].title);if(i)return this._lastButtonIndex=--i,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),n.appendChild(this._toolbarContainer),n.appendChild(this._actionsContainer),n},removeToolbar:function(){for(var t in this._modes)this._modes.hasOwnProperty(t)&&(this._disposeButton(this._modes[t].button,this._modes[t].handler.enable,this._modes[t].handler),this._modes[t].handler.disable(),this._modes[t].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var e=0,n=this._actionButtons.length;e<n;e++)this._disposeButton(this._actionButtons[e].button,this._actionButtons[e].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(t,e,n,i,s){var o=t.type;this._modes[o]={},this._modes[o].handler=t,this._modes[o].button=this._createButton({type:o,title:s,className:i+"-"+o,container:e,callback:this._modes[o].handler.enable,context:this._modes[o].handler}),this._modes[o].buttonIndex=n,this._modes[o].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream},_createButton:function(t){var e=L.DomUtil.create("a",t.className||"",t.container),n=L.DomUtil.create("span","sr-only",t.container);e.href="#",e.appendChild(n),t.title&&(e.title=t.title,n.innerHTML=t.title),t.text&&(e.innerHTML=t.text,n.innerHTML=t.text);var i=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(e,"click",L.DomEvent.stopPropagation).on(e,"mousedown",L.DomEvent.stopPropagation).on(e,"dblclick",L.DomEvent.stopPropagation).on(e,"touchstart",L.DomEvent.stopPropagation).on(e,"click",L.DomEvent.preventDefault).on(e,i,t.callback,t.context),e},_disposeButton:function(t,e){var n=this._detectIOS()?"touchstart":"click";L.DomEvent.off(t,"click",L.DomEvent.stopPropagation).off(t,"mousedown",L.DomEvent.stopPropagation).off(t,"dblclick",L.DomEvent.stopPropagation).off(t,"touchstart",L.DomEvent.stopPropagation).off(t,"click",L.DomEvent.preventDefault).off(t,n,e)},_handlerActivated:function(t){this.disable(),this._activeMode=this._modes[t.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(t){var e,n,i,s,o=this._actionsContainer,r=this.getActions(t),a=r.length;for(n=0,i=this._actionButtons.length;n<i;n++)this._disposeButton(this._actionButtons[n].button,this._actionButtons[n].callback);for(this._actionButtons=[];o.firstChild;)o.removeChild(o.firstChild);for(var l=0;l<a;l++)"enabled"in r[l]&&!r[l].enabled||(e=L.DomUtil.create("li","",o),s=this._createButton({title:r[l].title,text:r[l].text,container:e,callback:r[l].callback,context:r[l].context}),this._actionButtons.push({button:s,callback:r[l].callback}))},_showActionsToolbar:function(){var t=this._activeMode.buttonIndex,e=this._lastButtonIndex,n=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=n+"px",0===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),t===e&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(t){this._map=t,this._popupPane=t._panes.popupPane,this._visible=!1,this._container=t.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(t){return this._container?(t.subtext=t.subtext||"",0!==t.subtext.length||this._singleLineLabel?t.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(t.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+t.subtext+"</span><br />":"")+"<span>"+t.text+"</span>",t.text||t.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(t){var e=this._map.latLngToLayerPoint(t),n=this._container;return this._container&&(this._visible&&(n.style.visibility="inherit"),L.DomUtil.setPosition(n,e)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(t){for(var e in this.options)this.options.hasOwnProperty(e)&&t[e]&&(t[e]=L.extend({},this.options[e],t[e]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,t)},getModeHandlers:function(t){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(t,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(t,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(t,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(t,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(t,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(t,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(t){return[{enabled:t.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:t.completeShape,context:t},{enabled:t.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:t.deleteLastVertex,context:t},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(t){for(var e in L.setOptions(this,t),this._modes)this._modes.hasOwnProperty(e)&&t.hasOwnProperty(e)&&this._modes[e].handler.setOptions(t[e])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(t){t.edit&&(void 0===t.edit.selectedPathOptions&&(t.edit.selectedPathOptions=this.options.edit.selectedPathOptions),t.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,t.edit.selectedPathOptions)),t.remove&&(t.remove=L.extend({},this.options.remove,t.remove)),t.poly&&(t.poly=L.extend({},this.options.poly,t.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,t),this._selectedFeatureCount=0},getModeHandlers:function(t){var e=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(t,{featureGroup:e,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(t,{featureGroup:e}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(t){var e=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return t.removeAllLayers&&e.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),e},addToolbar:function(t){var e=L.Toolbar.prototype.addToolbar.call(this,t);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),e},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var t,e=0!==this.options.featureGroup.getLayers().length;this.options.edit&&(t=this._modes[L.EditToolbar.Edit.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(t=this._modes[L.EditToolbar.Delete.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.setOptions(this,e),this._featureGroup=e.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),t._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(t){this._revertLayer(t)},this)},save:function(){var t=new L.LayerGroup;this._featureGroup.eachLayer(function(e){e.edited&&(t.addLayer(e),e.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:t})},_backupLayer:function(t){var e=L.Util.stamp(t);this._uneditedLayerProps[e]||(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?this._uneditedLayerProps[e]={latlngs:L.LatLngUtil.cloneLatLngs(t.getLatLngs())}:t instanceof L.Circle?this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng()),radius:t.getRadius()}:(t instanceof L.Marker||t instanceof L.CircleMarker)&&(this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(t){var e=L.Util.stamp(t);t.edited=!1,this._uneditedLayerProps.hasOwnProperty(e)&&(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?t.setLatLngs(this._uneditedLayerProps[e].latlngs):t instanceof L.Circle?(t.setLatLng(this._uneditedLayerProps[e].latlng),t.setRadius(this._uneditedLayerProps[e].radius)):(t instanceof L.Marker||t instanceof L.CircleMarker)&&t.setLatLng(this._uneditedLayerProps[e].latlng),t.fire("revert-edited",{layer:t}))},_enableLayerEdit:function(t){var e,n,i=t.layer||t.target||t;this._backupLayer(i),this.options.poly&&(n=L.Util.extend({},this.options.poly),i.options.poly=n),this.options.selectedPathOptions&&((e=L.Util.extend({},this.options.selectedPathOptions)).maintainColor&&(e.color=i.options.color,e.fillColor=i.options.fillColor),i.options.original=L.extend({},i.options),i.options.editing=e),i instanceof L.Marker?(i.editing&&i.editing.enable(),i.dragging.enable(),i.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):i.editing.enable()},_disableLayerEdit:function(t){var e=t.layer||t.target||t;e.edited=!1,e.editing&&e.editing.disable(),delete e.options.editing,delete e.options.original,this._selectedPathOptions&&(e instanceof L.Marker?this._toggleMarkerHighlight(e):(e.setStyle(e.options.previousOptions),delete e.options.previousOptions)),e instanceof L.Marker?(e.dragging.disable(),e.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):e.editing.disable()},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_onMarkerDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.changedTouches[0]),n=this._map.layerPointToLatLng(e);t.target.setLatLng(n)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.Util.setOptions(this,e),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(t){this._deletableLayers.addLayer(t),t.fire("revert-deleted",{layer:t})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(t){this._removeLayer({layer:t})},this),this.save()},_enableLayerDelete:function(t){(t.layer||t.target||t).on("click",this._removeLayer,this)},_disableLayerDelete:function(t){var e=t.layer||t.target||t;e.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(e)},_removeLayer:function(t){var e=t.layer||t.target||t;this._deletableLayers.removeLayer(e),this._deletedLayers.addLayer(e),e.fire("deleted")},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document)},Yoyx:function(t,e,n){var i,s;!function(o){if("object"==typeof t&&"object"==typeof t.exports){var r=o(n("GPNb"),e);void 0!==r&&(t.exports=r)}else void 0===(s="function"==typeof(i=o)?i.apply(e,[n,e]):i)||(t.exports=s)}(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=/-+([a-z0-9])/g;function i(t,e,n){var i=t.indexOf(e);return-1==i?n:[t.slice(0,i).trim(),t.slice(i+1).trim()]}function s(t,e,n){return Array.isArray(t)?e.visitArray(t,n):"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===l?e.visitStringMap(t,n):null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.visitPrimitive(t,n):e.visitOther(t,n)}e.dashCaseToCamelCase=function(t){return t.replace(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t[1].toUpperCase()})},e.splitAtColon=function(t,e){return i(t,":",e)},e.splitAtPeriod=function(t,e){return i(t,".",e)},e.visitValue=s,e.isDefined=function(t){return null!==t&&void 0!==t},e.noUndefined=function(t){return void 0===t?null:t};var o=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return s(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,i={};return Object.keys(t).forEach(function(o){i[o]=s(t[o],n,e)}),i},t.prototype.visitPrimitive=function(t,e){return t},t.prototype.visitOther=function(t,e){return t},t}();e.ValueTransformer=o,e.SyncAsync={assertSync:function(t){if(h(t))throw new Error("Illegal state: value cannot be a promise");return t},then:function(t,e){return h(t)?t.then(e):e(t)},all:function(t){return t.some(h)?Promise.all(t):t}},e.error=function(t){throw new Error("Internal Error: "+t)},e.syntaxError=function(t,e){var n=Error(t);return n[r]=!0,e&&(n[a]=e),n};var r="ngSyntaxError",a="ngParseErrors";e.isSyntaxError=function(t){return t[r]},e.getParseErrors=function(t){return t[a]||[]},e.escapeRegExp=function(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var l=Object.getPrototypeOf({});function h(t){return!!t&&"function"==typeof t.then}e.utf8Encode=function(t){for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);if(i>=55296&&i<=56319&&t.length>n+1){var s=t.charCodeAt(n+1);s>=56320&&s<=57343&&(n++,i=(i-55296<<10)+s-56320+65536)}i<=127?e+=String.fromCharCode(i):i<=2047?e+=String.fromCharCode(i>>6&31|192,63&i|128):i<=65535?e+=String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128):i<=2097151&&(e+=String.fromCharCode(i>>18&7|240,i>>12&63|128,i>>6&63|128,63&i|128))}return e},e.stringify=function t(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(t).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return""+e.overriddenName;if(e.name)return""+e.name;var n=e.toString();if(null==n)return""+n;var i=n.indexOf("\n");return-1===i?n:n.substring(0,i)},e.resolveForwardRef=function(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t},e.isPromise=h,e.Version=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}})},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},zUnb:function(t,e,n){"use strict";function i(t){return"function"==typeof t}n.r(e);let s=!1;const o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function r(t){setTimeout(()=>{throw t})}const a={closed:!0,next(t){},error(t){if(o.useDeprecatedSynchronousErrorHandling)throw t},complete(){}},l=Array.isArray||(t=>t&&"number"==typeof t.length);function h(t){return null!=t&&"object"==typeof t}const u={e:{}};let c;function d(){try{return c.apply(this,arguments)}catch(t){return u.e=t,u}}function p(t){return c=t,d}class m extends Error{constructor(t){super(t?`${t.length} errors occurred during unsubscription:\n ${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:""),this.errors=t,this.name="UnsubscriptionError",Object.setPrototypeOf(this,m.prototype)}}class f{constructor(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let t,e=!1;if(this.closed)return;let{_parent:n,_parents:s,_unsubscribe:o,_subscriptions:r}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let a=-1,c=s?s.length:0;for(;n;)n.remove(this),n=++a<c&&s[a]||null;if(i(o)&&p(o).call(this)===u&&(e=!0,t=t||(u.e instanceof m?_(u.e.errors):[u.e])),l(r))for(a=-1,c=r.length;++a<c;){const n=r[a];if(h(n)&&p(n.unsubscribe).call(n)===u){e=!0,t=t||[];let n=u.e;n instanceof m?t=t.concat(_(n.errors)):t.push(n)}}if(e)throw new m(t)}add(t){if(!t||t===f.EMPTY)return f.EMPTY;if(t===this)return this;let e=t;switch(typeof t){case"function":e=new f(t);case"object":if(e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if("function"!=typeof e._addParent){const t=e;(e=new f)._subscriptions=[t]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}return(this._subscriptions||(this._subscriptions=[])).push(e),e._addParent(this),e}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}_addParent(t){let{_parent:e,_parents:n}=this;e&&e!==t?n?-1===n.indexOf(t)&&n.push(t):this._parents=[t]:this._parent=t}}function _(t){return t.reduce((t,e)=>t.concat(e instanceof m?e.errors:e),[])}f.EMPTY=function(t){return t.closed=!0,t}(new f);const g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("rxSubscriber"):"@@rxSubscriber";class y extends f{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){if(t instanceof y||"syncErrorThrowable"in t&&t[g]){const e=t[g]();this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)}else this.syncErrorThrowable=!0,this.destination=new v(this,t);break}default:this.syncErrorThrowable=!0,this.destination=new v(this,t,e,n)}}[g](){return this}static create(t,e,n){const i=new y(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:t,_parents:e}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this}}class v extends y{constructor(t,e,n,s){let o;super(),this._parentSubscriber=t;let r=this;i(e)?o=e:e&&(o=e.next,n=e.error,s=e.complete,e!==a&&(i((r=Object.create(e)).unsubscribe)&&this.add(r.unsubscribe.bind(r)),r.unsubscribe=this.unsubscribe.bind(this))),this._context=r,this._next=o,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=o;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;r(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);o.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;r(t)}}__tryOrSetError(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const b="function"==typeof Symbol&&Symbol.observable||"@@observable";function w(){}class x{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const e=new x;return e.source=this,e.operator=t,e}subscribe(t,e,n){const{operator:i}=this,s=function(t,e,n){if(t){if(t instanceof y)return t;if(t[g])return t[g]()}return t||e||n?new y(t,e,n):new y(a)}(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),o.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),t.error(e)}}forEach(t,e){return new(e=E(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[b](){return this}pipe(...t){return 0===t.length?this:function(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:w}(t)(this)}toPromise(t){return new(t=E(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}x.create=(t=>new x(t));class C extends Error{constructor(){super("object unsubscribed"),this.name="ObjectUnsubscribedError",Object.setPrototypeOf(this,C.prototype)}}class L extends f{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class k extends y{constructor(t){super(t),this.destination=t}}class S extends x{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[g](){return new k(this)}lift(t){const e=new T(this,this);return e.operator=t,e}next(t){if(this.closed)throw new C;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].next(t)}}error(t){if(this.closed)throw new C;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].error(t);this.observers.length=0}complete(){if(this.closed)throw new C;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let i=0;i<e;i++)n[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new C;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new C;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new L(this,t))}asObservable(){const t=new x;return t.source=this,t}}S.create=((t,e)=>new T(t,e));class T extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):f.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}class P extends y{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}const M=t=>e=>{for(let n=0,i=t.length;n<i&&!e.closed;n++)e.next(t[n]);e.closed||e.complete()},D=t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,r),e),A=function(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}(),O=t=>e=>{const n=t[A]();for(;;){const t=n.next();if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e},R=t=>e=>{const n=t[b]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)},N=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function F(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const z=t=>{if(t instanceof x)return e=>t._isScalar?(e.next(t.value),void e.complete()):t.subscribe(e);if(N(t))return M(t);if(F(t))return D(t);if(t&&"function"==typeof t[A])return O(t);if(t&&"function"==typeof t[b])return R(t);{const e=`You provided ${h(t)?"an invalid object":`'${t}'`} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.";throw new TypeError(e)}};function V(t,e,n,i){const s=new P(t,n,i);return z(e)(s)}class B extends y{notifyNext(t,e,n,i,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}function j(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new H(t,e))}}class H{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new Z(t,this.project,this.thisArg))}}class Z extends y{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function U(t,e){return new x(e?n=>{const i=new f;let s=0;return i.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||i.add(this.schedule())):n.complete()})),i}:M(t))}function G(t,e){if(!e)return t instanceof x?t:new x(z(t));if(null!=t){if(function(t){return t&&"function"==typeof t[b]}(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>{const s=t[b]();i.add(s.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i}:R(t))}(t,e);if(F(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i}:D(t))}(t,e);if(N(t))return U(t,e);if(function(t){return t&&"function"==typeof t[A]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new x(e?n=>{const i=new f;let s;return i.add(()=>{s&&"function"==typeof s.return&&s.return()}),i.add(e.schedule(()=>{s=t[A](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const i=s.next();t=i.value,e=i.done}catch(t){return void n.error(t)}e?n.complete():(n.next(t),this.schedule())}))})),i}:O(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function $(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe($((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new W(t,this.project,this.concurrent))}}class W extends B{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){this.add(V(this,t,e,n))}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function K(t){return t}function Y(t=Number.POSITIVE_INFINITY){return $(K,t)}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof x?t[0]:Y(e)(U(t,n))}function X(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),s=e.subscribe(i);return i.closed||(i.connection=n.connect()),s}}class tt extends y{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,!i||n&&i!==n||i.unsubscribe()}}const et=class extends x{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new f).add(this.source.subscribe(new class extends k{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}(this.getSubject(),this))),t.closed?(this._connection=null,t=f.EMPTY):this._connection=t),t}refCount(){return X()(this)}}.prototype,nt={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:et._subscribe},_isComplete:{value:et._isComplete,writable:!0},getSubject:{value:et.getSubject},connect:{value:et.connect},refCount:{value:et.refCount}};function it(){return new S}function st(){return t=>X()(function(t,e){return function(e){let n;n="function"==typeof t?t:function(){return t};const i=Object.create(e,nt);return i.source=e,i.subjectFactory=n,i}}(it)(t))}function ot(t){return{providedIn:t.providedIn||null,factory:t.factory,value:void 0}}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0!==e?ot({providedIn:e.providedIn||"root",factory:e.factory}):void 0}toString(){return`InjectionToken ${this._desc}`}}const at="__parameters__";function lt(t,e,n){const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return i.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,i){const s=t.hasOwnProperty(at)?t[at]:Object.defineProperty(t,at,{value:[]})[at];for(;s.length<=i;)s.push(null);return(s[i]=s[i]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s}const ht=Function;function ut(t){return"function"==typeof t}const ct="undefined"!=typeof window&&window,dt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,pt="undefined"!=typeof global&&global,mt=ct||pt||dt,ft=Promise.resolve(0);let _t=null;function gt(){if(!_t){const t=mt.Symbol;if(t&&t.iterator)_t=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(_t=n)}}}return _t}function yt(t){"undefined"==typeof Zone?ft.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function vt(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function bt(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(bt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const wt=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,xt=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{/,Et=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{[\s\S]*constructor\s*\(/;function Ct(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function Lt(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}function kt(t){return t.__forward_ref__=kt,t.toString=function(){return bt(this())},t}function St(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===kt?t():t}const Tt=lt("Inject",t=>({token:t})),It=lt("Optional"),Pt=lt("Self"),Mt=lt("SkipSelf"),Dt="__source",At=new Object,Ot=At,Rt=new rt("INJECTOR");class Nt{static create(t,e){return Array.isArray(t)?new Wt(t,e):new Wt(t.providers,t.parent,t.name||null)}}Nt.THROW_IF_NOT_FOUND=At,Nt.NULL=new class{get(t,e=At){if(e===At)throw new Error(`NullInjectorError: No provider for ${bt(t)}!`);return e}},Nt.ngInjectableDef=ot({providedIn:"any",factory:()=>te(Rt)});const Ft=function(t){return t},zt=[],Vt=Ft,Bt=function(){return Array.prototype.slice.call(arguments)},jt={},Ht=function(t){for(let e in t)if(t[e]===jt)return e;throw Error("!prop")}({provide:String,useValue:jt}),Zt="ngTokenPath",Ut="ngTempTokenPath",Gt=Nt.NULL,$t=/\n/gm,qt="\u0275";class Wt{constructor(t,e=Gt,n=null){this.parent=e,this.source=n;const i=this._records=new Map;i.set(Nt,{token:Nt,fn:Ft,deps:zt,value:this,useNew:!1}),i.set(Rt,{token:Rt,fn:Ft,deps:zt,value:this,useNew:!1}),function t(e,n){if(n)if((n=St(n))instanceof Array)for(let i=0;i<n.length;i++)t(e,n[i]);else{if("function"==typeof n)throw Qt("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Qt("Unexpected provider",n);{let t=St(n.provide);const i=function(t){const e=function(t){let e=zt;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let i=6,s=St(n[t]);if(s instanceof Array)for(let t=0,e=s;t<e.length;t++){const n=e[t];n instanceof It||n==It?i|=1:n instanceof Mt||n==Mt?i&=-3:n instanceof Pt||n==Pt?i&=-5:s=n instanceof Tt?n.token:St(n)}e.push({token:s,options:i})}}else if(t.useExisting)e=[{token:St(t.useExisting),options:6}];else if(!(n||Ht in t))throw Qt("'deps' required",t);return e}(t);let n=Ft,i=zt,s=!1,o=St(t.provide);if(Ht in t)i=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)s=!0,n=St(t.useClass);else{if("function"!=typeof o)throw Qt("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);s=!0,n=o}return{deps:e,fn:n,useNew:s,value:i}}(n);if(!0===n.multi){let i=e.get(t);if(i){if(i.fn!==Bt)throw Kt(t)}else e.set(t,i={token:n.provide,deps:[],useNew:!1,fn:Bt,value:zt});i.deps.push({token:t=n,options:6})}const s=e.get(t);if(s&&s.fn==Bt)throw Kt(t);e.set(t,i)}}}(i,t)}get(t,e,n=0){const i=this._records.get(t);try{return function t(e,n,i,s,o,r){try{return function(e,n,i,s,o,r){let a;if(!n||4&r)2&r||(a=s.get(e,o,0));else{if((a=n.value)==Vt)throw Error(qt+"Circular dependency");if(a===zt){n.value=Vt;let e=void 0,o=n.useNew,r=n.fn,l=n.deps,h=zt;if(l.length){h=[];for(let e=0;e<l.length;e++){const n=l[e],o=n.options,r=2&o?i.get(n.token):void 0;h.push(t(n.token,r,i,r||4&o?s:Gt,1&o?null:Nt.THROW_IF_NOT_FOUND,0))}}n.value=a=o?new r(...h):r.apply(e,h)}}return a}(e,n,i,s,o,r)}catch(t){throw t instanceof Error||(t=new Error(t)),(t[Ut]=t[Ut]||[]).unshift(e),n&&n.value==Vt&&(n.value=zt),t}}(t,i,this._records,this.parent,e,n)}catch(e){const n=e[Ut];throw t[Dt]&&n.unshift(t[Dt]),e.message=Yt("\n"+e.message,n,this.source),e[Zt]=n,e[Ut]=null,e}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(bt(n))),`StaticInjector[${t.join(", ")}]`}}function Kt(t){return Qt("Cannot mix multi providers and regular providers",t)}function Yt(t,e,n=null){t=t&&"\n"===t.charAt(0)&&t.charAt(1)==qt?t.substr(2):t;let i=bt(e);if(e instanceof Array)i=e.map(bt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):bt(i)))}i=`{${t.join(", ")}}`}return`StaticInjectorError${n?"("+n+")":""}[${i}]: ${t.replace($t,"\n ")}`}function Qt(t,e){return new Error(Yt(t,e))}let Xt=void 0;function Jt(t){const e=Xt;return Xt=t,e}function te(t,e=0){if(void 0===Xt)throw new Error("inject() must be called from an injection context");if(null===Xt){const e=t.ngInjectableDef;if(e&&"root"==e.providedIn)return void 0===e.value?e.value=e.factory():e.value;throw new Error(`Injector: NOT_FOUND [${bt(t)}]`)}return Xt.get(t,8&e?null:void 0,e)}String;const ee=function(){var t={Emulated:0,Native:1,None:2};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t}(),ne=new class{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}("6.0.3"),ie="ngDebugContext",se="ngOriginalError",oe="ngErrorLogger";function re(t){return t[ie]}function ae(t){return t[se]}function le(t,...e){t.error(...e)}class he{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t[oe]||le}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?re(t)?re(t):this._findContext(ae(t)):null}_findOriginalError(t){let e=ae(t);for(;e&&ae(e);)e=ae(e);return e}}function ue(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>bt(t.token)).join(" -> ")+")":""}function ce(t,e,n,i){const s=[e],o=n(s),r=i?function(t,e){const n=`${o} caused by: ${e instanceof Error?e.message:e}`,i=Error(n);return i[se]=e,i}(0,i):Error(o);return r.addKey=de,r.keys=s,r.injectors=[t],r.constructResolvingMessage=n,r[se]=i,r}function de(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function pe(t,e){const n=[];for(let i=0,s=e.length;i<s;i++){const t=e[i];n.push(t&&0!=t.length?t.map(bt).join(" "):"?")}return Error("Cannot resolve all parameters for '"+bt(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+bt(t)+"' is decorated with Injectable.")}function me(t,e){return Error(`Cannot mix multi providers and regular providers, got: ${t} ${e}`)}class fe{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=bt(this.token)}static get(t){return _e.get(St(t))}static get numberOfKeys(){return _e.numberOfKeys}}const _e=new class{constructor(){this._allKeys=new Map}get(t){if(t instanceof fe)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new fe(t,fe.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}},ge=new class{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,i){return this.reflectionCapabilities.resolveIdentifier(t,e,n,i)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}(new class{constructor(t){this._reflect=t||mt.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=void 0===t?new Array(e.length):new Array(t.length);for(let i=0;i<n.length;i++)n[i]=void 0===t?[]:t[i]!=Object?[t[i]]:[],e&&null!=e[i]&&(n[i]=n[i].concat(e[i]));return n}_ownParameters(t,e){const n=t.toString();if(wt.exec(n)||xt.exec(n)&&!Et.exec(n))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const i=t.ctorParameters;if(i&&i!==e.ctorParameters){const t="function"==typeof i?i():i,e=t.map(t=>t&&t.type),n=t.map(t=>t&&Ct(t.decorators));return this._zipTypesAndAnnotations(e,n)}const s=t.hasOwnProperty(at)&&t[at],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||s?this._zipTypesAndAnnotations(o,s):new Array(t.length).fill(void 0)}parameters(t){if(!ut(t))return[];const e=Lt(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?Ct(t.decorators):t.hasOwnProperty("__annotations__")?t.__annotations__:null}annotations(t){if(!ut(t))return[];const e=Lt(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=Ct(e[t])}),n}return t.hasOwnProperty("__prop__metadata__")?t.__prop__metadata__:null}propMetadata(t){if(!ut(t))return{};const e=Lt(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...i[t]),n[t]=e}),n}hasLifecycleHook(t,e){return t instanceof ht&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){const e=`if (!o.${t}) throw new Error('"${t}" is undefined');\n return o.${t}.apply(o, args);`;return new Function("o","args",e)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${bt(t)}`}resourceUri(t){return`./${bt(t)}`}resolveIdentifier(t,e,n,i){return i}resolveEnum(t,e){return t[e]}});class ye{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new ye(t,!1,null)}}const ve=[];class be{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class we{constructor(t,e){this.factory=t,this.dependencies=e}}function xe(t){return new be(fe.get(t.provide),[function(t){let e,n;if(t.useClass){const i=St(t.useClass);e=ge.factory(i),n=Ee(i)}else t.useExisting?(e=(t=>t),n=[ye.fromKey(fe.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>Ce(t,e,n))}return Ee(t)}(t.useFactory,t.deps)):(e=(()=>t.useValue),n=ve);return new we(e,n)}(t)],t.multi||!1)}function Ee(t){const e=ge.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw pe(t,e);return e.map(n=>Ce(t,n,e))}function Ce(t,e,n){let i=null,s=!1;if(!Array.isArray(e))return Le(e instanceof Tt?e.token:e,s,null);let o=null;for(let r=0;r<e.length;++r){const t=e[r];t instanceof ht?i=t:t instanceof Tt?i=t.token:t instanceof It?s=!0:t instanceof Pt||t instanceof Mt?o=t:t instanceof rt&&(i=t)}if(null!=(i=St(i)))return Le(i,s,o);throw pe(t,n)}function Le(t,e,n){return new ye(fe.get(t),e,n)}const ke=new Object;class Se{static resolve(t){return function(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n],s=e.get(i.key.id);if(s){if(i.multiProvider!==s.multiProvider)throw me(s,i);if(i.multiProvider)for(let t=0;t<i.resolvedFactories.length;t++)s.resolvedFactories.push(i.resolvedFactories[t]);else e.set(i.key.id,i)}else{let t;t=i.multiProvider?new be(i.key,i.resolvedFactories.slice(),i.multiProvider):i,e.set(i.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof ht)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(xe),new Map);return Array.from(e.values())}(t)}static resolveAndCreate(t,e){const n=Se.resolve(t);return Se.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new Te(t,e)}}class Te{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let i=0;i<n;i++)this.keyIds[i]=t[i].key.id,this.objs[i]=ke}get(t,e=Ot){return this._getByKey(fe.get(t),null,e)}resolveAndCreateChild(t){const e=Se.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(t){const e=new Te(t);return e.parent=this,e}resolveAndInstantiate(t){return this.instantiateResolved(Se.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function(e,n){return ce(e,t.key,function(t){return`Cannot instantiate cyclic dependency!${ue(t)}`})}(this);return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let i,s;try{i=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(e){throw e.addKey&&e.addKey(this,t.key),e}try{s=n(...i)}catch(e){throw function(e,n,i,s){return ce(e,t.key,function(t){const e=bt(t[0].token);return`${n.message}: Error during instantiation of ${e}!${ue(t)}.`},n)}(this,e)}return s}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Ot)}_getByKey(t,e,n){return t===Te.INJECTOR_KEY?this:e instanceof Pt?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===ke&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return ke}_throwOrNull(t,e){if(e!==Ot)return e;throw function(t,e){return ce(t,e,function(t){return`No provider for ${bt(t[0].token)}!${ue(t)}`})}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==ke?n:this._throwOrNull(t,e)}_getByKeyDefault(t,e,n){let i;for(i=n instanceof Mt?this.parent:this;i instanceof Te;){const e=i,n=e._getObjByKeyId(t.id);if(n!==ke)return n;i=e.parent}return null!==i?i.get(t.token,e):this._throwOrNull(t,e)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let i=0;i<t._providers.length;++i)n[i]=e(t.getProviderAtIndex(i));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}Te.INJECTOR_KEY=fe.get(Nt);const Ie=new rt("The presence of this token marks an injector as being the root injector.");function Pe(t){return!!t&&"function"==typeof t.then}function Me(t){return!!t&&"function"==typeof t.subscribe}const De=new rt("Application Initializer");class Ae{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Pe(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const Oe=new rt("AppId");function Re(){return`${Ne()}${Ne()}${Ne()}`}function Ne(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Fe=new rt("Platform Initializer"),ze=new rt("Platform ID"),Ve=new rt("appBootstrapListener");class Be{log(t){console.log(t)}warn(t){console.warn(t)}}function je(){throw new Error("Runtime compiler is not loaded")}Be.ctorParameters=(()=>[]);class He{compileModuleSync(t){throw je()}compileModuleAsync(t){throw je()}compileModuleAndAllComponentsSync(t){throw je()}compileModuleAndAllComponentsAsync(t){throw je()}clearCache(){}clearCacheFor(t){}}class Ze{}class Ue{}class Ge{}function $e(t){const e=Error(`No component factory found for ${bt(t)}. Did you add it to @NgModule.entryComponents?`);return e[qe]=t,e}const qe="ngComponent";class We{}We.NULL=new class{resolveComponentFactory(t){throw $e(t)}};class Ke{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let i=0;i<t.length;i++){const e=t[i];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw $e(t);return new Ye(e,this._ngModule)}}class Ye extends Ge{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,i){return this.factory.create(t,e,n,i||this.ngModule)}}class Qe{}class Xe{}let Je,tn;const en=function(){const t=mt.wtf;return!(!t||!(Je=t.trace)||(tn=Je.events,0))}(),nn=en?function(t,e=null){return tn.createScope(t,e)}:(t,e)=>(function(t,e){return null}),sn=en?function(t,e){return Je.leaveScope(t,e),e}:(t,e)=>e;class on extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let i,s=t=>null,o=()=>null;t&&"object"==typeof t?(i=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(s=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(o=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(s=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const r=super.subscribe(i,s,o);return t instanceof f&&t.add(r),r}}class rn{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on(!1),this.onMicrotaskEmpty=new on(!1),this.onStable=new on(!1),this.onError=new on(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),function(t){t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,i,s,o,r)=>{try{return un(t),e.invokeTask(i,s,o,r)}finally{cn(t)}},onInvoke:(e,n,i,s,o,r,a)=>{try{return un(t),e.invoke(i,s,o,r,a)}finally{cn(t)}},onHasTask:(e,n,i,s)=>{e.hasTask(i,s),n===i&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,hn(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,i,s)=>(e.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(this)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!rn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(rn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,t,ln,an,an);try{return s.runTask(o,e,n)}finally{s.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function an(){}const ln={};function hn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function cn(t){t._nesting--,hn(t)}class dn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on,this.onMicrotaskEmpty=new on,this.onStable=new on,this.onError=new on}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class pn{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{rn.assertNotInAngularZone(),yt(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yt(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,isPeriodic:t.data.isPeriodic,delay:t.data.delay,creationLocation:t.creationLocation,xhr:t.data.target})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class mn{constructor(){this._applications=new Map,_n.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return _n.findTestabilityInTree(this,t,e)}}mn.ctorParameters=(()=>[]);let fn,_n=new class{addToWindow(t){}findTestabilityInTree(t,e,n){return null}},gn=!0,yn=!1;const vn=new rt("AllowMultipleToken");function bn(){return yn=!0,gn}class wn{constructor(t,e){this.name=t,this.token=e}}function xn(t,e,n=[]){const i=`Platform: ${e}`,s=new rt(i);return(e=[])=>{let o=En();if(!o||o.injector.get(vn,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0});!function(t){if(fn&&!fn.destroyed&&!fn.injector.get(vn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");fn=t.get(Cn);const e=t.get(Fe,null);e&&e.forEach(t=>t())}(Nt.create({providers:t,name:i}))}return function(t){const e=En();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function En(){return fn&&!fn.destroyed?fn:null}class Cn{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){return"noop"===t?new dn:("zone.js"===t?void 0:t)||new rn({enableLongStackTrace:bn()})}(e?e.ngZone:void 0),i=[{provide:rn,useValue:n}];return n.run(()=>{const e=Nt.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(e),o=s.injector.get(he,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return s.onDestroy(()=>Sn(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const i=n();return Pe(i)?i.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):i}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(o,n,()=>{const t=s.injector.get(Ae);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=this.injector.get(Ze),i=Ln({},e);return n.createCompiler([i]).compileModuleAsync(t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${bt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Ln(t,e){return Array.isArray(e)?e.reduce(Ln,t):Object.assign({},t,e)}class kn{constructor(t,e,n,i,s,o){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=bn(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const r=new x(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),a=new x(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{rn.assertNotInAngularZone(),yt(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{rn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(r,a.pipe(st()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Ge?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=n instanceof Ye?null:this._injector.get(Qe),s=n.create(Nt.NULL,[],e||n.selector,i);s.onDestroy(()=>{this._unloadComponent(s)});const o=s.injector.get(pn,null);return o&&s.injector.get(mn).registerApplication(s.location.nativeElement,o),this._loadComponent(s),bn()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=kn._tickScope();try{this._runningTick=!0,this._views.forEach(t=>t.detectChanges()),this._enforceNoNewChanges&&this._views.forEach(t=>t.checkNoChanges())}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1,sn(t)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Sn(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ve,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),Sn(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}function Sn(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}kn._tickScope=nn("ApplicationRef#tick()");class Tn{}const In=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();class Pn{}class Mn{constructor(t){this.nativeElement=t}}class Dn{constructor(){this.dirty=!0,this._results=[],this.changes=new on,this.length=0}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}[gt()](){return this._results[gt()]()}toString(){return this._results.toString()}reset(t){this._results=function t(e){return e.reduce((e,n)=>{const i=Array.isArray(n)?t(n):n;return e.concat(i)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class An{}class On{}class Rn{}class Nn{constructor(t,e){this.name=t,this.callback=e}}class Fn{constructor(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof zn?e.addChild(this):this.parent=null,this.listeners=[]}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zn extends Fn{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(t=>{t.parent&&t.parent.removeChild(t),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,i){e.childNodes.forEach(e=>{e instanceof zn&&(n(e)&&i.push(e),t(e,n,i))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,i){e instanceof zn&&e.childNodes.forEach(e=>{n(e)&&i.push(e),e instanceof zn&&t(e,n,i)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zn)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}const Vn=new Map;function Bn(t){return Vn.get(t)||null}function jn(t){Vn.set(t.nativeNode,t)}function Hn(t,e){const n=Gn(t),i=Gn(e);return n&&i?function(t,e,n){const i=t[gt()](),s=e[gt()]();for(;;){const t=i.next(),e=s.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Hn):!(n||!t||"object"!=typeof t&&"function"!=typeof t||i||!e||"object"!=typeof e&&"function"!=typeof e)||vt(t,e)}class Zn{constructor(t){this.wrapped=t}static wrap(t){return new Zn(t)}static unwrap(t){return Zn.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Zn}}class Un{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function Gn(t){return!!$n(t)&&(Array.isArray(t)||!(t instanceof Map)&&gt()in t)}function $n(t){return null!==t&&("function"==typeof t||"object"==typeof t)}class qn{constructor(){}supports(t){return Gn(t)}create(t){return new Kn(t)}}const Wn=(t,e)=>e;class Kn{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Wn}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,s=null;for(;e||n;){const o=!n||e&&e.currentIndex<Jn(n,i,s)?e:n,r=Jn(o,i,s),a=o.currentIndex;if(o===n)i--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)i++;else{s||(s=[]);const t=r-i,e=a-i;if(t!=e){for(let n=0;n<t;n++){const i=n<s.length?s[n]:s[n]=0,o=i+n;e<=o&&o<t&&(s[n]=i+1)}s[o.previousIndex]=e-t}}r!==a&&t(o,r,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Gn(t))throw new Error(`Error trying to diff '${bt(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,i,s=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=this._trackByFn(e,n=t[e]),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,n,i,e)),vt(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,i,e),o=!0),s=s._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[gt()]();let i;for(;!(i=n.next()).done;)e(i.value)}}(t,t=>{i=this._trackByFn(e,t),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,t,i,e)),vt(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,i,e),o=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(vt(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,i)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(vt(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,i)):t=this._addAfter(new Yn(e,n),s,i),t}_verifyReinsertion(t,e,n,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,s=t._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Xn),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xn),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Yn{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Qn{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&vt(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Xn{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Qn,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Jn(t,e,n){const i=t.previousIndex;if(null===i)return i;let s=0;return n&&i<n.length&&(s=n[i]),i+e+s}class ti{constructor(t){this.factories=t}static create(t,e){if(null!=e){const n=e.factories.slice();t=t.concat(n)}return new ti(t)}static extend(t){return{provide:ti,useFactory:e=>{if(!e)throw new Error("Cannot extend IterableDiffers without a parent injector");return ti.create(t,e)},deps:[[ti,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${t.name||typeof t}'`)}}ti.ngInjectableDef=ot({providedIn:"root",factory:()=>new ti([new qn])});class ei{constructor(t){this.factories=t}static create(t,e){if(e){const n=e.factories.slice();t=t.concat(n)}return new ei(t)}static extend(t){return{provide:ei,useFactory:e=>{if(!e)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return ei.create(t,e)},deps:[[ei,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}const ni=[new class{constructor(){}supports(t){return t instanceof Map||$n(t)}create(){return new class{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||$n(t)))throw new Error(`Error trying to diff '${bt(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,s=n._next;return i&&(i._next=s),s&&(s._prev=i),n._next=null,n._prev=null,n}const n=new class{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){vt(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}}}],ii=new ti([new qn]),si=new ei(ni),oi=xn(null,"core",[{provide:ze,useValue:"unknown"},{provide:Cn,deps:[Nt]},{provide:mn,deps:[]},{provide:Be,deps:[]}]),ri=new rt("LocaleId");function ai(){return ii}function li(){return si}function hi(t){return t||"en-US"}class ui{constructor(t){}}class ci{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(t){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0<i;i--){const n=e.item(i).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const di=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,pi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function mi(t){return(t=String(t)).match(di)||t.match(pi)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function fi(t){return(t=String(t)).split(",").map(t=>mi(t.trim())).join(", ")}function _i(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function gi(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const yi=_i("area,br,col,hr,img,wbr"),vi=_i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),bi=_i("rp,rt"),wi=gi(bi,vi),xi=gi(yi,gi(vi,_i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),gi(bi,_i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wi),Ei=_i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ci=_i("srcset"),Li=gi(Ei,Ci,_i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"));class ki{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!xi.hasOwnProperty(e))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i),e=t.name,s=e.toLowerCase();if(!Li.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=t.value;Ei[s]&&(o=mi(o)),Ci[s]&&(o=fi(o)),this.buf.push(" ",e,'="',Ii(o),'"')}this.buf.push(">")}endElement(t){const e=t.nodeName.toLowerCase();xi.hasOwnProperty(e)&&!yi.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Ii(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Si=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/([^\#-~ |!])/g;function Ii(t){return t.replace(/&/g,"&amp;").replace(Si,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ti,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Pi;function Mi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const Di=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Ai=/^url\(([^)]+)\)$/,Oi=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class Ri{}function Ni(t,e,n){const i=t.state,s=1792&i;return s===e?(t.state=-1793&i|n,t.initIndex=-1,!0):s===n}function Fi(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function zi(t,e){return t.nodes[e]}function Vi(t,e){return t.nodes[e]}function Bi(t,e){return t.nodes[e]}function ji(t,e){return t.nodes[e]}function Hi(t,e){return t.nodes[e]}const Zi={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0};function Ui(t,e,n,i){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return i&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Gi(n,e),n}(s,t)}function Gi(t,e){t[ie]=e,t[oe]=e.logError.bind(e)}function $i(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}const qi=()=>{},Wi=new Map;function Ki(t){let e=Wi.get(t);return e||(e=bt(t)+"_"+Wi.size,Wi.set(t,e)),e}function Yi(t,e,n,i){if(Zn.isWrapped(i)){i=Zn.unwrap(i);const s=t.def.nodes[e].bindingIndex+n,o=Zn.unwrap(t.oldValues[s]);t.oldValues[s]=new Zn(o)}return i}const Qi="$$undefined",Xi="$$empty";function Ji(t){return{id:Qi,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let ts=0;function es(t,e,n,i){return!(!(2&t.state)&&vt(t.oldValues[e.bindingIndex+n],i))}function ns(t,e,n,i){return!!es(t,e,n,i)&&(t.oldValues[e.bindingIndex+n]=i,!0)}function is(t,e,n,i){const s=t.oldValues[e.bindingIndex+n];if(1&t.state||!Hn(s,i)){const o=e.bindings[n].name;throw Ui(Zi.createDebugContext(t,e.nodeIndex),`${o}: ${s}`,`${o}: ${i}`,0!=(1&t.state))}}function ss(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function os(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function rs(t,e,n,i){try{return ss(33554432&t.def.nodes[e].flags?Vi(t,e).componentView:t),Zi.handleEvent(t,e,n,i)}catch(e){t.root.errorHandler.handleError(e)}}function as(t){return t.parent?Vi(t.parent,t.parentNodeDef.nodeIndex):null}function ls(t){return t.parent?t.parentNodeDef.parent:null}function hs(t,e){switch(201347067&e.flags){case 1:return Vi(t,e.nodeIndex).renderElement;case 2:return zi(t,e.nodeIndex).renderText}}function us(t,e){return t?`${t}:${e}`:e}function cs(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ds(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function ps(t){return 1<<t%32}function ms(t){const e={};let n=0;const i={};return t&&t.forEach(([t,s])=>{"number"==typeof t?(e[t]=s,n|=ps(t)):i[t]=s}),{matchedQueries:e,references:i,matchedQueryIds:n}}function fs(t,e){return t.map(t=>{let n,i;return Array.isArray(t)?[i,n]=t:(i=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,Dt,{value:e,configurable:!0}),{flags:i,token:n,tokenKey:Ki(n)}})}function _s(t,e,n){let i=n.renderParent;return i?0==(1&i.flags)||0==(33554432&i.flags)||i.element.componentRendererType&&i.element.componentRendererType.encapsulation===ee.Native?Vi(t,n.renderParent.nodeIndex).renderElement:void 0:e}const gs=new WeakMap;function ys(t){let e=gs.get(t);return e||((e=t(()=>qi)).factory=t,gs.set(t,e)),e}function vs(t,e,n,i,s){3===e&&(n=t.renderer.parentNode(hs(t,t.def.lastRenderRootNode))),bs(t,e,0,t.def.nodes.length-1,n,i,s)}function bs(t,e,n,i,s,o,r){for(let a=n;a<=i;a++){const n=t.def.nodes[a];11&n.flags&&xs(t,n,e,s,o,r),a+=n.childCount}}function ws(t,e,n,i,s,o){let r=t;for(;r&&!cs(r);)r=r.parent;const a=r.parent,l=ls(r),h=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=h;u++){const t=a.def.nodes[u];t.ngContentIndex===e&&xs(a,t,n,i,s,o),u+=t.childCount}if(!a.parent){const r=t.root.projectableNodes[e];if(r)for(let e=0;e<r.length;e++)Es(t,r[e],n,i,s,o)}}function xs(t,e,n,i,s,o){if(8&e.flags)ws(t,e.ngContent.index,n,i,s,o);else{const r=hs(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&Es(t,r,n,i,s,o),32&e.bindingFlags&&Es(Vi(t,e.nodeIndex).componentView,r,n,i,s,o)):Es(t,r,n,i,s,o),16777216&e.flags){const r=Vi(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<r.length;t++)vs(r[t],n,i,s,o)}1&e.flags&&!e.element.name&&bs(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,i,s,o)}}function Es(t,e,n,i,s,o){const r=t.renderer;switch(n){case 1:r.appendChild(i,e);break;case 2:r.insertBefore(i,e,s);break;case 3:r.removeChild(i,e);break;case 0:o.push(e)}}const Cs=/^:([^:]+):(.+)$/;function Ls(t){if(":"===t[0]){const e=t.match(Cs);return[e[1],e[2]]}return["",t]}function ks(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function Ss(t,e,n,i,s,o){t|=1;const{matchedQueries:r,references:a,matchedQueryIds:l}=ms(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:r,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:i,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?ys(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||qi},provider:null,text:null,query:null,ngContent:null}}function Ts(t,e,n,i,s,o,r=[],a,l,h,u,c){h||(h=qi);const{matchedQueries:d,references:p,matchedQueryIds:m}=ms(n);let f=null,_=null;o&&([f,_]=Ls(o)),a=a||[];const g=new Array(a.length);for(let b=0;b<a.length;b++){const[t,e,n]=a[b],[i,s]=Ls(e);let o=void 0,r=void 0;switch(15&t){case 4:r=n;break;case 1:case 8:o=n}g[b]={flags:t,ns:i,name:s,nonMinifiedName:s,securityContext:o,suffix:r}}l=l||[];const y=new Array(l.length);for(let b=0;b<l.length;b++){const[t,e]=l[b];y[b]={type:0,target:t,eventName:e,propName:null}}const v=(r=r||[]).map(([t,e])=>{const[n,i]=Ls(t);return[n,i,e]});return c=function(t){if(t&&t.id===Qi){const e=null!=t.encapsulation&&t.encapsulation!==ee.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${ts++}`:Xi}return t&&t.id===Xi&&(t=null),t||null}(c),u&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:m,references:p,ngContentIndex:i,childCount:s,bindings:g,bindingFlags:ks(g),outputs:y,element:{ns:f,name:_,attrs:v,template:null,componentProvider:null,componentView:u||null,componentRendererType:c,publicProviders:null,allProviders:null,handleEvent:h||qi},provider:null,text:null,query:null,ngContent:null}}function Is(t,e,n){const i=n.element,s=t.root.selectorOrNode,o=t.renderer;let r;if(t.parent||!s){r=i.name?o.createElement(i.name,i.ns):o.createComment("");const s=_s(t,e,n);s&&o.appendChild(s,r)}else r=o.selectRootElement(s);if(i.attrs)for(let a=0;a<i.attrs.length;a++){const[t,e,n]=i.attrs[a];o.setAttribute(r,e,n,t)}return r}function Ps(t,e,n,i){for(let s=0;s<n.outputs.length;s++){const o=n.outputs[s],r=Ms(t,n.nodeIndex,us(o.target,o.eventName));let a=o.target,l=t;"component"===o.target&&(a=null,l=e);const h=l.renderer.listen(a||i,o.eventName,r);t.disposables[n.outputIndex+s]=h}}function Ms(t,e,n){return i=>rs(t,e,n,i)}function Ds(t,e,n,i){if(!ns(t,e,n,i))return!1;const s=e.bindings[n],o=Vi(t,e.nodeIndex),r=o.renderElement,a=s.name;switch(15&s.flags){case 1:!function(t,e,n,i,s,o){const r=e.securityContext;let a=r?t.root.sanitizer.sanitize(r,o):o;a=null!=a?a.toString():null;const l=t.renderer;null!=o?l.setAttribute(n,s,a,i):l.removeAttribute(n,s,i)}(t,s,r,s.ns,a,i);break;case 2:!function(t,e,n,i){const s=t.renderer;i?s.addClass(e,n):s.removeClass(e,n)}(t,r,a,i);break;case 4:!function(t,e,n,i,s){let o=t.root.sanitizer.sanitize(Oi.STYLE,s);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const r=t.renderer;null!=o?r.setStyle(n,i,o):r.removeStyle(n,i)}(t,s,r,a,i);break;case 8:!function(t,e,n,i,s){const o=e.securityContext;let r=o?t.root.sanitizer.sanitize(o,s):s;t.renderer.setProperty(n,i,r)}(33554432&e.flags&&32&s.flags?o.componentView:t,s,r,a,i)}return!0}const As=new Object,Os=Ki(Nt),Rs=Ki(Rt),Ns=Ki(Qe);function Fs(t,e,n,i){return n=St(n),{index:-1,deps:fs(i,bt(e)),flags:t,token:e,value:n}}function zs(t,e,n=Nt.THROW_IF_NOT_FOUND){const i=Jt(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const s=e.tokenKey;switch(s){case Os:case Rs:case Ns:return t}const o=t._def.providersByKey[s];if(o){let e=t._providers[o.index];return void 0===e&&(e=t._providers[o.index]=Vs(t,o)),e===As?void 0:e}if(e.token.ngInjectableDef&&function(t,e){return null!=e.providedIn&&(function(t,n){return t._def.modules.indexOf(e.providedIn)>-1}(t)||"root"===e.providedIn&&t._def.isRoot)}(t,e.token.ngInjectableDef)){const n=t._providers.length;return t._def.providersByKey[e.tokenKey]={flags:5120,value:e.token.ngInjectableDef.factory,deps:[],index:n,token:e.token},t._providers[n]=As,t._providers[n]=Vs(t,t._def.providersByKey[e.tokenKey])}return t._parent.get(e.token,n)}finally{Jt(i)}}function Vs(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const i=n.length;switch(i){case 0:return new e;case 1:return new e(zs(t,n[0]));case 2:return new e(zs(t,n[0]),zs(t,n[1]));case 3:return new e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=new Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return new e(...s)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const i=n.length;switch(i){case 0:return e();case 1:return e(zs(t,n[0]));case 2:return e(zs(t,n[0]),zs(t,n[1]));case 3:return e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return e(...s)}}(t,e.value,e.deps);break;case 2048:n=zs(t,e.deps[0]);break;case 256:n=e.value}return n===As||null==n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?As:n}function Bs(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const i=n[e];return i.viewContainerParent=null,Us(n,e),Zi.dirtyParentQueries(i),Hs(i),i}function js(t,e,n){const i=e?hs(e,e.def.lastRenderRootNode):t.renderElement;vs(n,2,n.renderer.parentNode(i),n.renderer.nextSibling(i),void 0)}function Hs(t){vs(t,3,null,null,void 0)}function Zs(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Us(t,e){e>=t.length-1?t.pop():t.splice(e,1)}const Gs=new Object;function $s(t,e,n,i,s,o){return new qs(t,e,n,i,s,o)}class qs extends Ge{constructor(t,e,n,i,s,o){super(),this.selector=t,this.componentType=e,this._inputs=i,this._outputs=s,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,i){if(!i)throw new Error("ngModule should be provided");const s=ys(this.viewDefFactory),o=s.nodes[0].element.componentProvider.nodeIndex,r=Zi.createRootView(t,e||[],n,s,i,Gs),a=Bi(r,o).instance;return n&&r.renderer.setAttribute(Vi(r,0).renderElement,"ng-version",ne.full),new Ws(r,new Xs(r),a)}}class Ws extends Ue{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Mn(Vi(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new no(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Ks(t,e,n){return new Ys(t,e,n)}class Ys{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Mn(this._data.renderElement)}get injector(){return new no(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=ls(t),t=t.parent;return t?new no(t,e):new no(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=Bs(this._data,t);Zi.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Xs(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,s){const o=n||this.parentInjector;s||t instanceof Ye||(s=o.get(Qe));const r=t.create(o,i,void 0,s);return this.insert(r.hostView,e),r}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,i){let s=e.viewContainer._embeddedViews;null!==n&&void 0!==n||(n=s.length),i.viewContainerParent=t,Zs(s,n,i),function(t,e){const n=as(e);if(!n||n===t||16&e.state)return;e.state|=16;let i=n.template._projectedViews;i||(i=n.template._projectedViews=[]),i.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,i),Zi.dirtyParentQueries(i),js(e,n>0?s[n-1]:null,i)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,i){const s=t.viewContainer._embeddedViews,o=s[n];Us(s,n),null==i&&(i=s.length),Zs(s,i,o),Zi.dirtyParentQueries(o),Hs(o),js(t,i>0?s[i-1]:null,o)}(this._data,0,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=Bs(this._data,t);e&&Zi.destroyView(e)}detach(t){const e=Bs(this._data,t);return e?new Xs(e):null}}function Qs(t){return new Xs(t)}class Xs{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return vs(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){ss(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Zi.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Zi.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Zi.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Hs(this._view),Zi.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function Js(t,e){return new to(t,e)}class to extends An{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Xs(Zi.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Mn(Vi(this._parentView,this._def.nodeIndex).renderElement)}}function eo(t,e){return new no(t,e)}class no{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Nt.THROW_IF_NOT_FOUND){return Zi.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Ki(t)},e)}}function io(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Vi(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return zi(t,n.nodeIndex).renderText;if(20240&n.flags)return Bi(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function so(t){return new oo(t.renderer)}class oo{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,i]=Ls(e),s=this.delegate.createElement(i,n);return t&&this.delegate.appendChild(t,s),s}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),i=this.delegate.nextSibling(t);for(let s=0;s<e.length;s++)this.delegate.insertBefore(n,e[s],i)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],i=this.delegate.parentNode(n);this.delegate.removeChild(i,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[i,s]=Ls(e);null!=n?this.delegate.setAttribute(t,s,n,i):this.delegate.removeAttribute(t,s,i)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function ro(t,e,n,i){return new ao(t,e,n,i)}class ao{constructor(t,e,n,i){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=i,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let i=0;i<e.providers.length;i++){const s=e.providers[i];4096&s.flags||void 0===n[i]&&(n[i]=Vs(t,s))}}(this)}get(t,e=Nt.THROW_IF_NOT_FOUND,n=0){let i=0;return 4&n?i|=1:2&n&&(i|=4),zs(this,{token:t,tokenKey:Ki(t),flags:i},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(We)}destroy(){if(this._destroyed)throw new Error(`The ng module ${bt(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,i=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const e=t._providers[s];if(e&&e!==As){const t=e.ngOnDestroy;"function"!=typeof t||i.has(e)||(t.apply(e),i.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const lo=Ki(class{}),ho=Ki(Pn),uo=Ki(Mn),co=Ki(On),po=Ki(An),mo=Ki(Rn),fo=Ki(Nt),_o=Ki(Rt);function go(t,e,n,i,s,o,r,a){const l=[];if(r)for(let u in r){const[t,e]=r[u];l[t]={flags:8,name:u,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const h=[];if(a)for(let u in a)h.push({type:1,propName:u,target:null,eventName:a[u]});return bo(t,e|=16384,n,i,s,s,o,l,h)}function yo(t,e,n){return bo(-1,t|=16,null,0,e,e,n)}function vo(t,e,n,i,s){return bo(-1,t,e,0,n,i,s)}function bo(t,e,n,i,s,o,r,a,l){const{matchedQueries:h,references:u,matchedQueryIds:c}=ms(n);l||(l=[]),a||(a=[]),o=St(o);const d=fs(r,bt(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:h,matchedQueryIds:c,references:u,ngContentIndex:-1,childCount:i,bindings:a,bindingFlags:ks(a),outputs:l,element:null,provider:{token:s,value:o,deps:d},text:null,query:null,ngContent:null}}function wo(t,e){return Lo(t,e)}function xo(t,e){let n=t;for(;n.parent&&!cs(n);)n=n.parent;return ko(n.parent,ls(n),!0,e.provider.value,e.provider.deps)}function Eo(t,e){const n=ko(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let i=0;i<e.outputs.length;i++){const s=e.outputs[i],o=n[s.propName].subscribe(Co(t,e.parent.nodeIndex,s.eventName));t.disposables[e.outputIndex+i]=o.unsubscribe.bind(o)}return n}function Co(t,e,n){return i=>rs(t,e,n,i)}function Lo(t,e){const n=(8192&e.flags)>0,i=e.provider;switch(201347067&e.flags){case 512:return ko(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,s){const o=s.length;switch(o){case 0:return i();case 1:return i(To(t,e,n,s[0]));case 2:return i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return i(...r)}}(t,e.parent,n,i.value,i.deps);case 2048:return To(t,e.parent,n,i.deps[0]);case 256:return i.value}}function ko(t,e,n,i,s){const o=s.length;switch(o){case 0:return new i;case 1:return new i(To(t,e,n,s[0]));case 2:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=new Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return new i(...r)}}const So={};function To(t,e,n,i,s=Nt.THROW_IF_NOT_FOUND){if(8&i.flags)return i.token;const o=t;2&i.flags&&(s=null);const r=i.tokenKey;r===mo&&(n=!(!e||!e.element.componentView)),e&&1&i.flags&&(n=!1,e=e.parent);let a=t;for(;a;){if(e)switch(r){case lo:return so(Io(a,e,n));case ho:return Io(a,e,n).renderer;case uo:return new Mn(Vi(a,e.nodeIndex).renderElement);case co:return Vi(a,e.nodeIndex).viewContainer;case po:if(e.element.template)return Vi(a,e.nodeIndex).template;break;case mo:return Qs(Io(a,e,n));case fo:case _o:return eo(a,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[r];if(t){let e=Bi(a,t.nodeIndex);return e||(e={instance:Lo(a,t)},a.nodes[t.nodeIndex]=e),e.instance}}n=cs(a),e=ls(a),a=a.parent,4&i.flags&&(a=null)}const l=o.root.injector.get(i.token,So);return l!==So||s===So?l:o.root.ngModule.injector.get(i.token,s)}function Io(t,e,n){let i;if(n)i=Vi(t,e.nodeIndex).componentView;else for(i=t;i.parent&&!cs(i);)i=i.parent;return i}function Po(t,e,n,i,s,o){if(32768&n.flags){const e=Vi(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[i].name]=s,524288&n.flags){o=o||{};const e=Zn.unwrap(t.oldValues[n.bindingIndex+i]);o[n.bindings[i].nonMinifiedName]=new Un(e,s,0!=(2&t.state))}return t.oldValues[n.bindingIndex+i]=s,o}function Mo(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let i=0;for(let s=0;s<n.length;s++){const o=n[s];let r=o.parent;for(!r&&o.flags&e&&Ao(t,s,o.flags&e,i++),0==(o.childFlags&e)&&(s+=o.childCount);r&&1&r.flags&&s===r.nodeIndex+r.childCount;)r.directChildFlags&e&&(i=Do(t,r,e,i)),r=r.parent}}function Do(t,e,n,i){for(let s=e.nodeIndex+1;s<=e.nodeIndex+e.childCount;s++){const e=t.def.nodes[s];e.flags&n&&Ao(t,s,e.flags&n,i++),s+=e.childCount}return i}function Ao(t,e,n,i){const s=Bi(t,e);if(!s)return;const o=s.instance;o&&(Zi.setCurrentNode(t,e),1048576&n&&Fi(t,512,i)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fi(t,768,i)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function Oo(t,e,n){let i=[];for(let s in n)i.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:ps(e),bindings:i},ngContent:null}}function Ro(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&ds(t);){let n=t.parentNodeDef;t=t.parent;const i=n.nodeIndex+n.childCount;for(let s=0;s<=i;s++){const i=t.def.nodes[s];67108864&i.flags&&536870912&i.flags&&(i.query.filterId&e)===i.query.filterId&&Hi(t,s).setDirty(),!(1&i.flags&&s+i.childCount<n.nodeIndex)&&67108864&i.childFlags&&536870912&i.childFlags||(s+=i.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Hi(t,n).setDirty(),n+=e.childCount}}function No(t,e){const n=Hi(t,e.nodeIndex);if(!n.dirty)return;let i,s=void 0;if(67108864&e.flags){const n=e.parent.parent;s=Fo(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),i=Bi(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(s=Fo(t,0,t.def.nodes.length-1,e.query,[]),i=t.component);n.reset(s);const o=e.query.bindings;let r=!1;for(let a=0;a<o.length;a++){const t=o[a];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,r=!0}i[t.propName]=e}r&&n.notifyOnChanges()}function Fo(t,e,n,i,s){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[i.id];if(null!=n&&s.push(zo(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&i.filterId)===i.filterId){const n=Vi(t,o);if((e.childMatchedQueries&i.filterId)===i.filterId&&(Fo(t,o+1,o+e.childCount,i,s),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],r=as(o);r&&r===n&&Fo(o,0,o.def.nodes.length-1,i,s)}}const r=n.template._projectedViews;if(r)for(let t=0;t<r.length;t++){const e=r[t];Fo(e,0,e.def.nodes.length-1,i,s)}}(e.childMatchedQueries&i.filterId)!==i.filterId&&(o+=e.childCount)}return s}function zo(t,e,n){if(null!=n)switch(n){case 1:return Vi(t,e.nodeIndex).renderElement;case 0:return new Mn(Vi(t,e.nodeIndex).renderElement);case 2:return Vi(t,e.nodeIndex).template;case 3:return Vi(t,e.nodeIndex).viewContainer;case 4:return Bi(t,e.nodeIndex).instance}}function Vo(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Bo(t,e,n){const i=_s(t,e,n);i&&ws(t,n.ngContent.index,1,i,null,void 0)}function jo(t,e){return function(t,e,n){const i=new Array(n.length);for(let s=0;s<n.length;s++){const t=n[s];i[s]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:128,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:i,bindingFlags:ks(i),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}(0,t,new Array(e+1))}function Ho(t,e,n){const i=new Array(n.length-1);for(let s=1;s<n.length;s++)i[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:i,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function Zo(t,e,n){let i;const s=t.renderer;i=s.createText(n.text.prefix);const o=_s(t,e,n);return o&&s.appendChild(o,i),{renderText:i}}function Uo(t,e){return(null!=t?t.toString():"")+e.suffix}function Go(t,e,n,i){let s=0,o=0,r=0,a=0,l=0,h=null,u=null,c=!1,d=!1,p=null;for(let m=0;m<e.length;m++){const t=e[m];if(t.nodeIndex=m,t.parent=h,t.bindingIndex=s,t.outputIndex=o,t.renderParent=u,r|=t.flags,l|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=h?h.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,c=!1,d=!1,t.element.template&&(l|=t.element.template.nodeMatchedQueries)}if(qo(h,t,e.length),s+=t.bindings.length,o+=t.outputs.length,!u&&3&t.flags&&(p=t),20224&t.flags){c||(c=!0,h.element.publicProviders=Object.create(h.element.publicProviders),h.element.allProviders=h.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?h.element.publicProviders[Ki(t.provider.token)]=t:(d||(d=!0,h.element.allProviders=Object.create(h.element.publicProviders)),h.element.allProviders[Ki(t.provider.token)]=t),e&&(h.element.componentProvider=t)}if(h?(h.childFlags|=t.flags,h.directChildFlags|=t.flags,h.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(h.childMatchedQueries|=t.element.template.nodeMatchedQueries)):a|=t.flags,t.childCount>0)h=t,$o(t)||(u=t);else for(;h&&m===h.nodeIndex+h.childCount;){const t=h.parent;t&&(t.childFlags|=h.childFlags,t.childMatchedQueries|=h.childMatchedQueries),u=(h=t)&&$o(h)?h.renderParent:h}}return{factory:null,nodeFlags:r,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||qi,updateRenderer:i||qi,handleEvent:(t,n,i,s)=>e[n].element.handleEvent(t,i,s),bindingCount:s,outputCount:o,lastRenderRootNode:p}}function $o(t){return 0!=(1&t.flags)&&null===t.element.name}function qo(t,e,n){const i=e.element&&e.element.template;if(i){if(!i.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(i.lastRenderRootNode&&16777216&i.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Wo(t,e,n,i){const s=Qo(t.root,t.renderer,t,e,n);return Xo(s,t.component,i),Jo(s),s}function Ko(t,e,n){const i=Qo(t,t.renderer,null,null,e);return Xo(i,n,n),Jo(i),i}function Yo(t,e,n,i){const s=e.element.componentRendererType;let o;return o=s?t.root.rendererFactory.createRenderer(i,s):t.root.renderer,Qo(t.root,o,t,e.element.componentProvider,n)}function Qo(t,e,n,i,s){const o=new Array(s.nodes.length),r=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:i,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(s.bindingCount),disposables:r,initIndex:-1}}function Xo(t,e,n){t.component=e,t.context=n}function Jo(t){let e;cs(t)&&(e=Vi(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,i=t.nodes;for(let s=0;s<n.nodes.length;s++){const o=n.nodes[s];let r;switch(Zi.setCurrentNode(t,s),201347067&o.flags){case 1:const n=Is(t,e,o);let a=void 0;if(33554432&o.flags){const e=ys(o.element.componentView);a=Zi.createComponentView(t,o,e,n)}Ps(t,a,o,n),r={renderElement:n,componentView:a,viewContainer:null,template:o.element.template?Js(t,o):void 0},16777216&o.flags&&(r.viewContainer=Ks(t,o,r));break;case 2:r=Zo(t,e,o);break;case 512:case 1024:case 2048:case 256:(r=i[s])||4096&o.flags||(r={instance:wo(t,o)});break;case 16:r={instance:xo(t,o)};break;case 16384:(r=i[s])||(r={instance:Eo(t,o)}),32768&o.flags&&Xo(Vi(t,o.parent.nodeIndex).componentView,r.instance,r.instance);break;case 32:case 64:case 128:r={value:void 0};break;case 67108864:case 134217728:r=new Dn;break;case 8:Bo(t,e,o),r=void 0}i[s]=r}lr(t,ar.CreateViewNodes),dr(t,201326592,268435456,0)}function tr(t){ir(t),Zi.updateDirectives(t,1),hr(t,ar.CheckNoChanges),Zi.updateRenderer(t,1),lr(t,ar.CheckNoChanges),t.state&=-97}function er(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ni(t,0,256),ir(t),Zi.updateDirectives(t,0),hr(t,ar.CheckAndUpdate),dr(t,67108864,536870912,0);let e=Ni(t,256,512);Mo(t,2097152|(e?1048576:0)),Zi.updateRenderer(t,0),lr(t,ar.CheckAndUpdate),dr(t,134217728,536870912,0),Mo(t,8388608|((e=Ni(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Ni(t,768,1024)}function nr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){switch(201347067&e.flags){case 1:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;let p=!1;return d>0&&Ds(t,e,0,n)&&(p=!0),d>1&&Ds(t,e,1,i)&&(p=!0),d>2&&Ds(t,e,2,s)&&(p=!0),d>3&&Ds(t,e,3,o)&&(p=!0),d>4&&Ds(t,e,4,r)&&(p=!0),d>5&&Ds(t,e,5,a)&&(p=!0),d>6&&Ds(t,e,6,l)&&(p=!0),d>7&&Ds(t,e,7,h)&&(p=!0),d>8&&Ds(t,e,8,u)&&(p=!0),d>9&&Ds(t,e,9,c)&&(p=!0),p}(t,e,n,i,s,o,r,a,l,h,u,c);case 2:return function(t,e,n,i,s,o,r,a,l,h,u,c){let d=!1;const p=e.bindings,m=p.length;if(m>0&&ns(t,e,0,n)&&(d=!0),m>1&&ns(t,e,1,i)&&(d=!0),m>2&&ns(t,e,2,s)&&(d=!0),m>3&&ns(t,e,3,o)&&(d=!0),m>4&&ns(t,e,4,r)&&(d=!0),m>5&&ns(t,e,5,a)&&(d=!0),m>6&&ns(t,e,6,l)&&(d=!0),m>7&&ns(t,e,7,h)&&(d=!0),m>8&&ns(t,e,8,u)&&(d=!0),m>9&&ns(t,e,9,c)&&(d=!0),d){let d=e.text.prefix;m>0&&(d+=Uo(n,p[0])),m>1&&(d+=Uo(i,p[1])),m>2&&(d+=Uo(s,p[2])),m>3&&(d+=Uo(o,p[3])),m>4&&(d+=Uo(r,p[4])),m>5&&(d+=Uo(a,p[5])),m>6&&(d+=Uo(l,p[6])),m>7&&(d+=Uo(h,p[7])),m>8&&(d+=Uo(u,p[8])),m>9&&(d+=Uo(c,p[9]));const f=zi(t,e.nodeIndex).renderText;t.renderer.setValue(f,d)}return d}(t,e,n,i,s,o,r,a,l,h,u,c);case 16384:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=Bi(t,e.nodeIndex),p=d.instance;let m=!1,f=void 0;const _=e.bindings.length;return _>0&&es(t,e,0,n)&&(m=!0,f=Po(t,d,e,0,n,f)),_>1&&es(t,e,1,i)&&(m=!0,f=Po(t,d,e,1,i,f)),_>2&&es(t,e,2,s)&&(m=!0,f=Po(t,d,e,2,s,f)),_>3&&es(t,e,3,o)&&(m=!0,f=Po(t,d,e,3,o,f)),_>4&&es(t,e,4,r)&&(m=!0,f=Po(t,d,e,4,r,f)),_>5&&es(t,e,5,a)&&(m=!0,f=Po(t,d,e,5,a,f)),_>6&&es(t,e,6,l)&&(m=!0,f=Po(t,d,e,6,l,f)),_>7&&es(t,e,7,h)&&(m=!0,f=Po(t,d,e,7,h,f)),_>8&&es(t,e,8,u)&&(m=!0,f=Po(t,d,e,8,u,f)),_>9&&es(t,e,9,c)&&(m=!0,f=Po(t,d,e,9,c,f)),f&&p.ngOnChanges(f),65536&e.flags&&Fi(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),m}(t,e,n,i,s,o,r,a,l,h,u,c);case 32:case 64:case 128:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings;let p=!1;const m=d.length;if(m>0&&ns(t,e,0,n)&&(p=!0),m>1&&ns(t,e,1,i)&&(p=!0),m>2&&ns(t,e,2,s)&&(p=!0),m>3&&ns(t,e,3,o)&&(p=!0),m>4&&ns(t,e,4,r)&&(p=!0),m>5&&ns(t,e,5,a)&&(p=!0),m>6&&ns(t,e,6,l)&&(p=!0),m>7&&ns(t,e,7,h)&&(p=!0),m>8&&ns(t,e,8,u)&&(p=!0),m>9&&ns(t,e,9,c)&&(p=!0),p){const p=ji(t,e.nodeIndex);let f;switch(201347067&e.flags){case 32:f=new Array(d.length),m>0&&(f[0]=n),m>1&&(f[1]=i),m>2&&(f[2]=s),m>3&&(f[3]=o),m>4&&(f[4]=r),m>5&&(f[5]=a),m>6&&(f[6]=l),m>7&&(f[7]=h),m>8&&(f[8]=u),m>9&&(f[9]=c);break;case 64:f={},m>0&&(f[d[0].name]=n),m>1&&(f[d[1].name]=i),m>2&&(f[d[2].name]=s),m>3&&(f[d[3].name]=o),m>4&&(f[d[4].name]=r),m>5&&(f[d[5].name]=a),m>6&&(f[d[6].name]=l),m>7&&(f[d[7].name]=h),m>8&&(f[d[8].name]=u),m>9&&(f[d[9].name]=c);break;case 128:const t=n;switch(m){case 1:f=t.transform(n);break;case 2:f=t.transform(i);break;case 3:f=t.transform(i,s);break;case 4:f=t.transform(i,s,o);break;case 5:f=t.transform(i,s,o,r);break;case 6:f=t.transform(i,s,o,r,a);break;case 7:f=t.transform(i,s,o,r,a,l);break;case 8:f=t.transform(i,s,o,r,a,l,h);break;case 9:f=t.transform(i,s,o,r,a,l,h,u);break;case 10:f=t.transform(i,s,o,r,a,l,h,u,c)}}p.value=f}return p}(t,e,n,i,s,o,r,a,l,h,u,c);default:throw"unreachable"}}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let i=!1;for(let s=0;s<n.length;s++)Ds(t,e,s,n[s])&&(i=!0);return i}(t,e,n);case 2:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){let s="";for(let t=0;t<n.length;t++)s+=Uo(n[t],i[t]);s=e.text.prefix+s;const o=zi(t,e.nodeIndex).renderText;t.renderer.setValue(o,s)}return s}(t,e,n);case 16384:return function(t,e,n){const i=Bi(t,e.nodeIndex),s=i.instance;let o=!1,r=void 0;for(let a=0;a<n.length;a++)es(t,e,a,n[a])&&(o=!0,r=Po(t,i,e,a,n[a],r));return r&&s.ngOnChanges(r),65536&e.flags&&Fi(t,256,e.nodeIndex)&&s.ngOnInit(),262144&e.flags&&s.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){const s=ji(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let e=0;e<n.length;e++)o[i[e].name]=n[e];break;case 128:const t=n[0],s=n.slice(1);o=t.transform(...s)}s.value=o}return s}(t,e,n);default:throw"unreachable"}}(t,e,i)}function ir(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const i=e.nodes[n];if(4&i.flags){const e=Vi(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const i=e[n];i.state|=32,os(i,t)}}else 0==(4&i.childFlags)&&(n+=i.childCount)}}function sr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;d>0&&is(t,e,0,n),d>1&&is(t,e,1,i),d>2&&is(t,e,2,s),d>3&&is(t,e,3,o),d>4&&is(t,e,4,r),d>5&&is(t,e,5,a),d>6&&is(t,e,6,l),d>7&&is(t,e,7,h),d>8&&is(t,e,8,u),d>9&&is(t,e,9,c)}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){for(let i=0;i<n.length;i++)is(t,e,i,n[i])}(t,e,i),!1}function or(t,e){if(Hi(t,e.nodeIndex).dirty)throw Ui(Zi.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function rr(t){if(!(128&t.state)){if(hr(t,ar.Destroy),lr(t,ar.Destroy),Mo(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=as(t);if(e){const n=e.template._projectedViews;n&&(Us(n,n.indexOf(t)),Zi.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Vi(t,n).renderElement):2&e.flags?t.renderer.destroyNode(zi(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Hi(t,n).destroy()}}(t),cs(t)&&t.renderer.destroy(),t.state|=128}}const ar=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function lr(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];33554432&s.flags?ur(Vi(t,i).componentView,e):0==(33554432&s.childFlags)&&(i+=s.childCount)}}function hr(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];if(16777216&s.flags){const n=Vi(t,i).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)ur(n[t],e)}else 0==(16777216&s.childFlags)&&(i+=s.childCount)}}function ur(t,e){const n=t.state;switch(e){case ar.CheckNoChanges:0==(128&n)&&(12==(12&n)?tr(t):64&n&&cr(t,ar.CheckNoChangesProjectedViews));break;case ar.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?tr(t):64&n&&cr(t,e));break;case ar.CheckAndUpdate:0==(128&n)&&(12==(12&n)?er(t):64&n&&cr(t,ar.CheckAndUpdateProjectedViews));break;case ar.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?er(t):64&n&&cr(t,e));break;case ar.Destroy:rr(t);break;case ar.CreateViewNodes:Jo(t)}}function cr(t,e){hr(t,e),lr(t,e)}function dr(t,e,n,i){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const s=t.def.nodes.length;for(let o=0;o<s;o++){const s=t.def.nodes[o];if(s.flags&e&&s.flags&n)switch(Zi.setCurrentNode(t,s.nodeIndex),i){case 0:No(t,s);break;case 1:or(t,s)}s.childFlags&e&&s.childFlags&n||(o+=s.childCount)}}let pr=!1;function mr(t,e,n,i,s,o){return Ko(_r(t,s,s.injector.get(Tn),e,n),i,o)}function fr(t,e,n,i,s,o){const r=s.injector.get(Tn),a=_r(t,s,new Qr(r),e,n),l=kr(i);return Kr(Dr.create,Ko,null,[a,l,o])}function _r(t,e,n,i,s){const o=e.injector.get(Ri),r=e.injector.get(he);return{ngModule:e,injector:t,projectableNodes:i,selectorOrNode:s,sanitizer:o,rendererFactory:n,renderer:n.createRenderer(null,null),errorHandler:r}}function gr(t,e,n,i){const s=kr(n);return Kr(Dr.create,Wo,null,[t,e,s,i])}function yr(t,e,n,i){return n=xr.get(e.element.componentProvider.provider.token)||kr(n),Kr(Dr.create,Yo,null,[t,e,n,i])}function vr(t,e,n,i){return ro(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===br.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const i=br.get(t.token);3840&t.flags&&i&&(e=!0,n=n||i.deprecatedBehavior)}),t.modules.forEach(t=>{wr.forEach((i,s)=>{s.ngInjectableDef.providedIn===t&&(e=!0,n=n||i.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const i=t.providers[e];n&&(i.flags|=4096);const s=br.get(i.token);s&&(i.flags=-3841&i.flags|s.flags,i.deps=fs(s.deps),i.value=s.value)}if(wr.size>0){let e=new Set(t.modules);wr.forEach((i,s)=>{if(e.has(s.ngInjectableDef.providedIn)){let e={token:s,flags:i.flags|(n?4096:0),deps:fs(i.deps),value:i.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Ki(s)]=e}})}}(t=t.factory(()=>qi)),t):t}(i))}const br=new Map,wr=new Map,xr=new Map;function Er(t){br.set(t.token,t),"function"==typeof t.token&&t.token.ngInjectableDef&&"function"==typeof t.token.ngInjectableDef.providedIn&&wr.set(t.token,t)}function Cr(t,e){const n=ys(ys(e.viewDefFactory).nodes[0].element.componentView);xr.set(t,n)}function Lr(){br.clear(),wr.clear(),xr.clear()}function kr(t){if(0===br.size)return t;const e=function(t){const e=[];let n=null;for(let i=0;i<t.nodes.length;i++){const s=t.nodes[i];1&s.flags&&(n=s),n&&3840&s.flags&&br.has(s.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>qi);for(let i=0;i<e.length;i++)n(t,e[i]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=br.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=fs(n.deps),t.value=n.value)}}}}function Sr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return nr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Tr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return sr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Ir(t){return Kr(Dr.detectChanges,er,null,[t])}function Pr(t){return Kr(Dr.checkNoChanges,tr,null,[t])}function Mr(t){return Kr(Dr.destroy,rr,null,[t])}const Dr=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let Ar,Or,Rr;function Nr(t,e){Or=t,Rr=e}function Fr(t,e,n,i){return Nr(t,e),Kr(Dr.handleEvent,t.def.handleEvent,null,[t,e,n,i])}function zr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,Gr(t,0)),t.def.updateDirectives(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),16384&o.flags&&Nr(t,Gr(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Vr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,$r(t,0)),t.def.updateRenderer(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),3&o.flags&&Nr(t,$r(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Br(t,e,n,i){if(nr(t,e,n,...i)){const s=1===n?i[0]:i;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const i=e.bindings[t],o=s[t];8&i.flags&&(n[Hr(i.nonMinifiedName)]=Ur(o))}const i=e.parent,o=Vi(t,i.nodeIndex).renderElement;if(i.element.name)for(let e in n){const i=n[e];null!=i?t.renderer.setAttribute(o,e,i):t.renderer.removeAttribute(o,e)}else t.renderer.setValue(o,`bindings=${JSON.stringify(n,null,2)}`)}}}function jr(t,e,n,i){sr(t,e,n,...i)}function Hr(t){return`ng-reflect-${t=t.replace(/[$@]/g,"_").replace(Zr,(...t)=>"-"+t[1].toLowerCase())}`}const Zr=/([A-Z])/g;function Ur(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){return"[ERROR] Exception while trying to serialize the value"}}function Gr(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function $r(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class qr{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,i=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&i;)n=ls(i),i=i.parent;this.elDef=n,this.elView=i}get elOrCompView(){return Vi(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return eo(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){Wr(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&Wr(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!cs(t);)t=t.parent;return t.parent?Vi(t.parent,ls(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?hs(this.view,this.nodeDef):hs(this.elView,this.elDef)}logError(t,...e){let n,i;2&this.nodeDef.flags?(n=this.view.def,i=this.nodeDef.nodeIndex):(n=this.elView.def,i=this.elDef.nodeIndex);const s=function(t,e){let n=-1;for(let i=0;i<=e;i++)3&t.nodes[i].flags&&n++;return n}(n,i);let o=-1;n.factory(()=>++o===s?t.error.bind(t,...e):qi),o<s&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function Wr(t,e,n){for(let i in e.references)n[i]=zo(t,e,e.references[i])}function Kr(t,e,n,i){const s=Ar,o=Or,r=Rr;try{Ar=t;const a=e.apply(n,i);return Or=o,Rr=r,Ar=s,a}catch(t){if(re(t)||!Or)throw t;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Gi(t,e),t}(t,Yr())}}function Yr(){return Or?new qr(Or,Rr):null}class Qr{constructor(t){this.delegate=t}createRenderer(t,e){return new Xr(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class Xr{constructor(t){this.delegate=t,this.data=this.delegate.data}destroyNode(t){!function(t){Vn.delete(t.nativeNode)}(Bn(t)),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),i=Yr();if(i){const e=new zn(n,null,i);e.name=t,jn(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}appendChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.addChild(i),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const i=Bn(t),s=Bn(e),o=Bn(n);i&&s&&i instanceof zn&&i.insertBefore(o,s),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.removeChild(i),this.delegate.removeChild(t,e)}selectRootElement(t){const e=this.delegate.selectRootElement(t),n=Yr();return n&&jn(new zn(e,null,n)),e}setAttribute(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.attributes[i?i+":"+e:e]=n),this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.styles[e]=n),this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const i=Bn(t);i&&i.listeners.push(new Nn(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}"undefined"==typeof ngDevMode&&("undefined"!=typeof window&&(window.ngDevMode=!0),"undefined"!=typeof self&&(self.ngDevMode=!0),"undefined"!=typeof global&&(global.ngDevMode=!0));const Jr=Element.prototype,ta=Jr.matches||Jr.matchesSelector||Jr.mozMatchesSelector||Jr.msMatchesSelector||Jr.oMatchesSelector||Jr.webkitMatchesSelector,ea={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return ea.schedule(t,0);if(void 0===window.requestAnimationFrame)return ea.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};function na(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(e,n){return ta.call(t,n)}(0,e)||(i=n,0))),i}const ia=10;class sa{constructor(t,e){this.component=t,this.injector=e,this.componentFactory=e.get(We).resolveComponentFactory(t)}create(t){return new oa(this.componentFactory,t)}}class oa{constructor(t,e){this.componentFactory=t,this.injector=e,this.inputChanges=null,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.uninitializedInputs=new Set}connect(t){if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);this.componentRef||this.initializeComponent(t)}disconnect(){this.componentRef&&null===this.scheduledDestroyFn&&(this.scheduledDestroyFn=ea.schedule(()=>{this.componentRef&&(this.componentRef.destroy(),this.componentRef=null)},ia))}getInputValue(t){return this.componentRef?this.componentRef.instance[t]:this.initialInputValues.get(t)}setInputValue(t,e){(function(t,e){return t===e||t!=t&&e!=e})(e,this.getInputValue(t))||(this.componentRef?(this.recordInputChange(t,e),this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e))}initializeComponent(t){const e=Nt.create({providers:[],parent:this.injector}),n=function(e,n){const i=t.childNodes,s=n.map(()=>[]);let o=-1;n.some((t,e)=>"*"===t&&(o=e,!0));for(let t=0,r=i.length;t<r;++t){const e=i[t],r=na(e,n,o);-1!==r&&s[r].push(e)}return s}(0,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,n,t),this.implementsOnChanges=function(t){return"function"==typeof t}(this.componentRef.instance.ngOnChanges),this.initializeInputs(),this.initializeOutputs(),this.detectChanges(),this.injector.get(kn).attachView(this.componentRef.hostView)}initializeInputs(){this.componentFactory.inputs.forEach(({propName:t})=>{const e=this.initialInputValues.get(t);e?this.setInputValue(t,e):this.uninitializedInputs.add(t)}),this.initialInputValues.clear()}initializeOutputs(){const t=this.componentFactory.outputs.map(({propName:t,templateName:e})=>this.componentRef.instance[t].pipe(j(t=>({name:e,value:t}))));this.events=Q(...t)}callNgOnChanges(){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,this.componentRef.instance.ngOnChanges(t)}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ea.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(this.componentRef&&!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.uninitializedInputs.has(t);this.uninitializedInputs.delete(t);const s=i?void 0:this.getInputValue(t);this.inputChanges[t]=new Un(s,e,i)}detectChanges(){this.componentRef&&(this.callNgOnChanges(),this.componentRef.changeDetectorRef.detectChanges())}}class ra extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class aa{constructor(){this.layers_to_add=["osm"],this.allow_edit_drawn_items=!0,this.zoom_init=4,this.lat_lng_init=[46.5,2.9],this.elevation_provider="openelevation",this.geolocation_provider="osm",this.location=new on,this._osm_class_filters=[]}set layer(t){this.layers_to_add=[t]}set osm_class_filter(t){this._osm_class_filters=[t]}set marker(t){"true"===t&&(this._marker=!0)}set polyline(t){"true"===t&&(this._polyline=!0)}set polygon(t){"true"===t&&(this._polygon=!0)}set lat_init(t){this.lat_lng_init[0]=t}set lng_init(t){this.lat_lng_init[1]=t}set get_osm_simple_line(t){"true"===t&&(this._get_osm_simple_line=!0)}set show_lat_lng_elevation_inputs(t){"true"===t&&(this._show_lat_lng_elevation_inputs=!0)}newLocation(t){this.location.emit(t)}}class la{constructor(t){this.injector=t;const e=function(t,e){const n=function(t,n){return e.injector.get(We).resolveComponentFactory(t).inputs}(t),i=e.strategyFactory||new sa(t,e.injector),s=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)]=t}),e}(n);class o extends ra{constructor(t){super(),this.ngElementStrategy=i.create(t||e.injector)}attributeChangedCallback(t,n,o,r){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.setInputValue(s[t],o)}connectedCallback(){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.connect(this),this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}disconnectedCallback(){this.ngElementStrategy&&this.ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}}return o.observedAttributes=Object.keys(s),n.map(({propName:t})=>t).forEach(t=>{Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(aa,{injector:this.injector});customElements.define("tb-geolocation-element",e)}ngDoBootstrap(){}}class ha{}class ua{}const ca="*";function da(t,e=null){return{type:2,steps:t,options:e}}function pa(t){return{type:6,styles:t,offset:null}}function ma(t){Promise.resolve(null).then(t)}class fa{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ma(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class _a{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const s=this.players.length;0==s?ma(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==s&&this._onFinish()}),t.onDestroy(()=>{++n==s&&this._onDestroy()}),t.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const ga="!";function ya(t){return null!=t&&"false"!==`${t}`}function va(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function ba(t){return Array.isArray(t)?t:[t]}function wa(t){return null==t?"":"string"==typeof t?t:`${t}px`}const xa=9,Ea=13,Ca=27,La=32,ka=37,Sa=38,Ta=39,Ia=40,Pa=48,Ma=57,Da=65,Aa=90;class Oa{}const Ra=void 0;var Na=["en",[["a","p"],["AM","PM"],Ra],[["AM","PM"],Ra,Ra],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ra,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ra,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ra,"{1} 'at' {0}",Ra],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];const Fa={},za=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),Va=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),Ba=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function ja(t,e){const n=Ha(t),i=n[13][e];if(void 0===i){if(e===Ba.CurrencyDecimal)return n[13][Ba.Decimal];if(e===Ba.CurrencyGroup)return n[13][Ba.Group]}return i}function Ha(t){const e=t.toLowerCase().replace(/_/g,"-");let n=Fa[e];if(n)return n;const i=e.split("-")[0];if(n=Fa[i])return n;if("en"===i)return Na;throw new Error(`Missing locale data for the locale "${t}".`)}const Za=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ua=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ga=22,$a=".",qa="0",Wa=";",Ka=",",Ya="#";function Qa(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const Xa=new rt("UseV4Plurals");class Ja{}class tl extends Ja{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Ha(t)[18]}(e||this.locale)(t)){case Va.Zero:return"zero";case Va.One:return"one";case Va.Two:return"two";case Va.Few:return"few";case Va.Many:return"many";default:return"other"}}}function el(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class nl{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._initialClasses=[]}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Gn(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${bt(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class il{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class sl{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._differ=null}set ngForTrackBy(t){bn()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngOnChanges(t){if("ngForOf"in t){const e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}}ngDoCheck(){if(this._differ){const t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new il(null,this.ngForOf,-1,-1),i),s=new ol(t,n);e.push(s)}else if(null==i)this._viewContainer.remove(n);else{const s=this._viewContainer.get(n);this._viewContainer.move(s,i);const o=new ol(t,s);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,i=this._viewContainer.length;n<i;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=i}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}}class ol{constructor(t,e){this.record=t,this.view=e}}class rl{constructor(t,e){this._viewContainer=t,this._context=new al,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class al{constructor(){this.$implicit=null,this.ngIf=null}}function ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${bt(e)}'.`)}class hl{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class ul{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class cl{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new hl(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}function dl(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${bt(t)}'`)}const pl=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ml={yMMMdjms:Cl(El([wl("year",1),xl("month",3),wl("day",1),wl("hour",1),wl("minute",1),wl("second",1)])),yMdjm:Cl(El([wl("year",1),wl("month",1),wl("day",1),wl("hour",1),wl("minute",1)])),yMMMMEEEEd:Cl(El([wl("year",1),xl("month",4),xl("weekday",4),wl("day",1)])),yMMMMd:Cl(El([wl("year",1),xl("month",4),wl("day",1)])),yMMMd:Cl(El([wl("year",1),xl("month",3),wl("day",1)])),yMd:Cl(El([wl("year",1),wl("month",1),wl("day",1)])),jms:Cl(El([wl("hour",1),wl("second",1),wl("minute",1)])),jm:Cl(El([wl("hour",1),wl("minute",1)]))},fl={yyyy:Cl(wl("year",4)),yy:Cl(wl("year",2)),y:Cl(wl("year",1)),MMMM:Cl(xl("month",4)),MMM:Cl(xl("month",3)),MM:Cl(wl("month",2)),M:Cl(wl("month",1)),LLLL:Cl(xl("month",4)),L:Cl(xl("month",1)),dd:Cl(wl("day",2)),d:Cl(wl("day",1)),HH:_l(gl(Cl(bl(wl("hour",2),!1)))),H:gl(Cl(bl(wl("hour",1),!1))),hh:_l(gl(Cl(bl(wl("hour",2),!0)))),h:gl(Cl(bl(wl("hour",1),!0))),jj:Cl(wl("hour",2)),j:Cl(wl("hour",1)),mm:_l(Cl(wl("minute",2))),m:Cl(wl("minute",1)),ss:_l(Cl(wl("second",2))),s:Cl(wl("second",1)),sss:Cl(wl("second",3)),EEEE:Cl(xl("weekday",4)),EEE:Cl(xl("weekday",3)),EE:Cl(xl("weekday",2)),E:Cl(xl("weekday",1)),a:function(t){return function(e,n){return t(e,n).split(" ")[1]}}(Cl(bl(wl("hour",1),!0))),Z:vl("short"),z:vl("long"),ww:Cl({}),w:Cl({}),G:Cl(xl("era",1)),GG:Cl(xl("era",2)),GGG:Cl(xl("era",3)),GGGG:Cl(xl("era",4))};function _l(t){return function(e,n){const i=t(e,n);return 1==i.length?"0"+i:i}}function gl(t){return function(e,n){return t(e,n).split(" ")[0]}}function yl(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function vl(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const i=yl(t,n,e);return i?i.substring(3):""}}function bl(t,e){return t.hour12=e,t}function wl(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function xl(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function El(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function Cl(t){return(e,n)=>yl(e,n,t)}const Ll=new Map;class kl{static format(t,e,n){return function(t,e,n){const i=ml[t];if(i)return i(e,n);const s=t;let o=Ll.get(s);if(!o){let e;o=[],pl.exec(t);let n=t;for(;n;)(e=pl.exec(n))?n=(o=o.concat(e.slice(1))).pop():(o.push(n),n=null);Ll.set(s,o)}return o.reduce((t,i)=>{const s=fl[i];return t+(s?s(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(i))},"")}(n,t,e)}}class Sl{constructor(t){this._locale=t}transform(t,e="mediumDate"){if(null==t||""===t||t!=t)return null;let n;if("string"==typeof t&&(t=t.trim()),Tl(t))n=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,i,s]=t.split("-").map(t=>parseInt(t,10));n=new Date(e,i-1,s)}else n=new Date(t);else n=new Date(parseFloat(t));if(!Tl(n)){let e;if("string"!=typeof t||!(e=t.match(Za)))throw dl(Sl,t);n=function(t){const e=new Date(0);let n=0,i=0;const s=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),i=Number(t[9]+t[11])),s.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const r=Number(t[4]||0)-n,a=Number(t[5]||0)-i,l=Number(t[6]||0),h=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,r,a,l,h),e}(e)}return kl.format(n,this._locale,Sl._ALIASES[e]||e)}}function Tl(t){return t instanceof Date&&!isNaN(t.valueOf())}Sl._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"};const Il=new class{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}},Pl=new class{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}};class Ml{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,Zn.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Pe(t))return Il;if(Me(t))return Pl;throw dl(Ml,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Dl{constructor(t){this._locale=t}transform(t,e,n){if(function(t){return null==t||""===t||t!=t}(t))return null;n=n||this._locale;try{return function(t,e,n){return function(t,e,n,i,s,o,r=!1){let a="",l=!1;if(isFinite(t)){let h=function(e){let n,i,s,o,r,a=Math.abs(t)+"",l=0;for((i=a.indexOf($a))>-1&&(a=a.replace($a,"")),(s=a.search(/e/i))>0?(i<0&&(i=s),i+=+a.slice(s+1),a=a.substring(0,s)):i<0&&(i=a.length),s=0;a.charAt(s)===qa;s++);if(s===(r=a.length))n=[0],i=1;else{for(r--;a.charAt(r)===qa;)r--;for(i-=s,n=[],o=0;s<=r;s++,o++)n[o]=Number(a.charAt(s))}return i>Ga&&(n=n.splice(0,Ga-1),l=i-1,i=1),{digits:n,exponent:l,integerLen:i}}();r&&(h=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(h));let u=e.minInt,c=e.minFrac,d=e.maxFrac;if(o){const t=o.match(Ua);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=Qa(e)),null!=n&&(c=Qa(n)),null!=i?d=Qa(i):null!=n&&c>d&&(d=c)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,s=i.length-t.integerLen;const o=Math.min(Math.max(e,s),n);let r=o+t.integerLen,a=i[r];if(r>0){i.splice(Math.max(t.integerLen,r));for(let t=r;t<i.length;t++)i[t]=0}else{s=Math.max(0,s),t.integerLen=1,i.length=Math.max(1,r=o+1),i[0]=0;for(let t=1;t<r;t++)i[t]=0}if(a>=5)if(r-1<0){for(let e=0;e>r;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[r-1]++;for(;s<Math.max(0,o);s++)i.push(0);let l=0!==o;const h=e+t.integerLen,u=i.reduceRight(function(t,e,n,i){return i[n]=(e+=t)<10?e:e-10,l&&(0===i[n]&&n>=h?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(h,c,d);let p=h.digits,m=h.integerLen;const f=h.exponent;let _=[];for(l=p.every(t=>!t);m<u;m++)p.unshift(0);for(;m<0;m++)p.unshift(0);m>0?_=p.splice(m,p.length):(_=p,p=[0]);const g=[];for(p.length>=e.lgSize&&g.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)g.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&g.unshift(p.join("")),a=g.join(ja(n,i)),_.length&&(a+=ja(n,s)+_.join("")),f&&(a+=ja(n,Ba.Exponential)+"+"+f)}else a=ja(n,Ba.Infinity);return t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(Wa),s=i[0],o=i[1],r=-1!==s.indexOf($a)?s.split($a):[s.substring(0,s.lastIndexOf(qa)+1),s.substring(s.lastIndexOf(qa)+1)],a=r[0],l=r[1]||"";n.posPre=a.substr(0,a.indexOf(Ya));for(let u=0;u<l.length;u++){const t=l.charAt(u);t===qa?n.minFrac=n.maxFrac=u+1:t===Ya?n.maxFrac=u+1:n.posSuf+=t}const h=a.split(Ka);if(n.gSize=h[1]?h[1].length:0,n.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,o){const t=s.length-n.posPre.length-n.posSuf.length,e=o.indexOf(Ya);n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}(function(t,e){return Ha(t)[14][e]}(e,za.Decimal),ja(e,Ba.MinusSign)),e,Ba.Group,Ba.Decimal,n)}(function(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}(t),n,e)}catch(t){throw dl(Dl,t.message)}}}class Al{}const Ol=new rt("DocumentToken"),Rl="browser",Nl="undefined"!=typeof Intl&&Intl.v8BreakIterator;class Fl{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function(t){return t===Rl}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Nl)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}let zl,Vl;function Bl(){if(null==zl&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>zl=!0}))}finally{zl=zl||!1}return zl}Fl.ngInjectableDef=ot({factory:function(){return new Fl(te(ze,8))},token:Fl,providedIn:"root"});const jl=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Hl(){if(Vl)return Vl;if("object"!=typeof document||!document)return Vl=new Set(jl);let t=document.createElement("input");return Vl=new Set(jl.filter(e=>(t.setAttribute("type",e),t.type===e)))}class Zl{}const Ul={};class Gl{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $l(t,this.resultSelector))}}class $l extends B{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(Ul),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(V(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,i,s){const o=this.values,r=this.toRespond?o[n]===Ul?--this.toRespond:this.toRespond:0;o[n]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function ql(t){return e=>e.lift(new Wl(t))}class Wl{constructor(t){this.notifier=t}call(t,e){const n=new Kl(t),i=V(n,this.notifier);return i&&!i.closed?(n.add(i),e.subscribe(n)):n}}class Kl extends B{constructor(t){super(t)}notifyNext(t,e,n,i,s){this.complete()}notifyComplete(){}}function Yl(t){const e=new x(e=>{e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}const Ql=new x(t=>t.complete());function Xl(t){return t?function(t){return new x(e=>t.schedule(()=>e.complete()))}(t):Ql}function Jl(...t){let e=t[t.length-1];switch(I(e)?t.pop():e=void 0,t.length){case 0:return Xl(e);case 1:return e?U(t,e):Yl(t[0]);default:return U(t,e)}}function th(...t){return e=>{let n=t[t.length-1];I(n)?t.pop():n=null;const i=t.length;return function(...t){return 1===t.length||2===t.length&&I(t[1])?G(t[0]):Y(1)(Jl(...t))}(1!==i||n?i>0?U(t,n):Xl(n):Yl(t[0]),e)}}const eh=new Set;let nh;class ih{constructor(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):sh}matchMedia(t){return this.platform.WEBKIT&&function(t){if(!eh.has(t))try{nh||((nh=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(nh)),nh.sheet&&(nh.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),eh.add(t))}catch(t){console.error(t)}}(t),this._matchMedia(t)}}function sh(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}ih.ngInjectableDef=ot({factory:function(){return new ih(te(Fl))},token:ih,providedIn:"root"});class oh{constructor(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new S}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return rh(ba(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){return function(...t){let e=null,n=null;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),U(t,n).lift(new Gl(e))}(rh(ba(t)).map(t=>this._registerQuery(t).observable)).pipe(j(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(t=>{e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this.mediaMatcher.matchMedia(t),n={observable:function t(e,n,s){return s?t(e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(t=>{const s=(...e)=>t.next(1===e.length?e[0]:e);let o;try{o=e(s)}catch(e){return void t.error(e)}if(i(n))return()=>n(s,o)})}(t=>{e.addListener(e=>this.zone.run(()=>t(e)))},t=>{e.removeListener(e=>this.zone.run(()=>t(e)))}).pipe(ql(this._destroySubject),th(e),j(e=>({query:t,matches:e.matches}))),mql:e};return this._queries.set(t,n),n}}function rh(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}oh.ngInjectableDef=ot({factory:function(){return new oh(te(ih),te(rn))},token:oh,providedIn:"root"});const ah={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 1919px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function lh(t,e,n,s){return i(n)&&(s=n,n=void 0),s?lh(t,e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(i=>{!function t(e,n,i,s,o){let r;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,i,o),r=(()=>t.removeEventListener(n,i,o))}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,i),r=(()=>t.off(n,i))}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,i),r=(()=>t.removeListener(n,i))}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let r=0,a=e.length;r<a;r++)t(e[r],n,i,s,o)}s.add(r)}(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}Object;class hh extends f{constructor(t,e){super()}schedule(t,e=0){return this}}class uh extends hh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,i=void 0;try{this.work(t)}catch(t){n=!0,i=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}class ch{constructor(t,e=ch.now){this.SchedulerAction=t,this.now=e}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}ch.now=Date.now?Date.now:()=>+new Date;class dh extends ch{constructor(t,e=ch.now){super(t,()=>dh.delegate&&dh.delegate!==this?dh.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return dh.delegate&&dh.delegate!==this?dh.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}const ph=new dh(uh);class mh{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new fh(t,this.durationSelector))}}class fh extends B{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){const e=p(this.durationSelector)(t);if(e===u)this.destination.error(u.e);else{const t=V(this,e);t.closed?this.clearThrottle():this.add(this.throttled=t)}}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,i){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function _h(t){return!l(t)&&t-parseFloat(t)+1>=0}function gh(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function yh(t,e=ph){return function(t){return function(e){return e.lift(new mh(t))}}(()=>(function(t=0,e,n){let i=-1;return _h(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=ph),new x(e=>{const s=_h(t)?t:+t-n.now();return n.schedule(gh,s,{index:0,period:i,subscriber:e})})})(t,e))}function vh(t,e){return function(n){return n.lift(new bh(t,e))}}class bh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new wh(t,this.predicate,this.thisArg))}}class wh extends y{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)}}const xh=20;class Eh{constructor(t,e){this._ngZone=t,this._platform=e,this._scrolled=new S,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}register(t){const e=t.elementScrolled().subscribe(()=>this._scrolled.next(t));this.scrollContainers.set(t,e)}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=xh){return this._platform.isBrowser?x.create(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(yh(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Jl()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(vh(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_scrollableContainsElement(t,e){let n=e.nativeElement,i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>lh(window.document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}Eh.ngInjectableDef=ot({factory:function(){return new Eh(te(rn),te(Fl))},token:Eh,providedIn:"root"});const Ch=20;class Lh{constructor(t,e){this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(()=>Q(lh(window,"resize"),lh(window,"orientationchange"))):Jl(),this._invalidateCache=this.change().subscribe(()=>this._updateViewportSize())}ngOnDestroy(){this._invalidateCache.unsubscribe()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}}change(t=Ch){return t>0?this._change.pipe(yh(t)):this._change}_updateViewportSize(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}}}Lh.ngInjectableDef=ot({factory:function(){return new Lh(te(Fl),te(rn))},token:Lh,providedIn:"root"});class kh{}class Sh extends Error{constructor(){super("argument out of range"),this.name="ArgumentOutOfRangeError",Object.setPrototypeOf(this,Sh.prototype)}}function Th(t){return e=>0===t?Xl():e.lift(new Ih(t))}class Ih{constructor(t){if(this.total=t,this.total<0)throw new Sh}call(t,e){return e.subscribe(new Ph(t,this.total))}}class Ph extends y{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Mh(){throw Error("Host already has a portal attached")}class Dh{attach(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&Mh(),this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Ah extends Dh{constructor(t,e,n){super(),this.component=t,this.viewContainerRef=e,this.injector=n}}class Oh extends Dh{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Rh{constructor(){this._isDisposed=!1}hasAttached(){return!!this._attachedPortal}attach(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&Mh(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof Ah?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Oh?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Nh extends Rh{constructor(t,e,n,i){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i}attachComponentPortal(t){let e,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(()=>e.destroy())):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(()=>{this._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class Fh{}class zh{enable(){}disable(){}attach(){}}class Vh{constructor(t){this.scrollStrategy=new zh,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",t&&Object.keys(t).filter(e=>void 0!==t[e]).forEach(e=>this[e]=t[e])}}class Bh{constructor(t,e,n,i){this.offsetX=n,this.offsetY=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class jh{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}function Hh(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "top", "bottom" or "center".')}function Zh(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "start", "end" or "center".')}class Uh{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=wa(-this._previousScrollPosition.left),t.style.top=wa(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",i=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=i}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}function Gh(){return Error("Scroll strategy has already been attached.")}class $h{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=(()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())})}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}function qh(t,e){return e.some(e=>t.bottom<e.top||t.top>e.bottom||t.right<e.left||t.left>e.right)}function Wh(t,e){return e.some(e=>t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)}class Kh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();qh(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}class Yh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=(()=>new zh),this.close=(t=>new $h(this._scrollDispatcher,this._ngZone,this._viewportRuler,t)),this.block=(()=>new Uh(this._viewportRuler,this._document)),this.reposition=(t=>new Kh(this._scrollDispatcher,this._viewportRuler,this._ngZone,t)),this._document=i}}Yh.ngInjectableDef=ot({factory:function(){return new Yh(te(Eh),te(Lh),te(rn),te(Ol))},token:Yh,providedIn:"root"});class Qh{constructor(t){this._attachedOverlays=[],this._keydownListener=(t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEventSubscriptions>0){e[n]._keydownEvents.next(t);break}}),this._document=t}ngOnDestroy(){this._detach()}add(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()}_detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)}}Qh.ngInjectableDef=ot({factory:function(){return new Qh(te(Ol))},token:Qh,providedIn:"root"});class Xh{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t}}Xh.ngInjectableDef=ot({factory:function(){return new Xh(te(Ol))},token:Xh,providedIn:"root"});class Jh{constructor(t,e,n,i,s,o,r){this._portalOutlet=t,this._host=e,this._pane=n,this._config=i,this._ngZone=s,this._keyboardDispatcher=o,this._document=r,this._backdropElement=null,this._backdropClick=new S,this._attachments=new S,this._detachments=new S,this._keydownEventsObservable=x.create(t=>{const e=this._keydownEvents.subscribe(t);return this._keydownEventSubscriptions++,()=>{e.unsubscribe(),this._keydownEventSubscriptions--}}),this._keydownEvents=new S,this._keydownEventSubscriptions=0,i.scrollStrategy&&i.scrollStrategy.attach(this)}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1);const t=this._portalOutlet.detach();this._detachments.next(),this._keyboardDispatcher.remove(this);const e=this._ngZone.onStable.asObservable().pipe(ql(Q(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())});return t}dispose(){const t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick.asObservable()}attachments(){return this._attachments.asObservable()}detachments(){return this._detachments.asObservable()}keydownEvents(){return this._keydownEventsObservable}getConfig(){return this._config}updatePosition(){this._config.positionStrategy&&this._config.positionStrategy.apply()}updateSize(t){this._config=Object.assign({},this._config,t),this._updateElementSize()}setDirection(t){this._config=Object.assign({},this._config,{direction:t}),this._updateElementDirection()}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){const t=this._pane.style;t.width=wa(this._config.width),t.height=wa(this._config.height),t.minWidth=wa(this._config.minWidth),t.minHeight=wa(this._config.minHeight),t.maxWidth=wa(this._config.maxWidth),t.maxHeight=wa(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"auto":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",t=>this._backdropClick.next(t)),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(t){let e,n=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),this._backdropElement==t&&(this._backdropElement=null),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}}_toggleClasses(t,e,n){const i=t.classList;ba(e).forEach(t=>{n?i.add(t):i.remove(t)})}}class tu{constructor(t,e,n,i,s){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=s,this._isInitialRender=!0,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new S,this._resizeSubscription=f.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this.positionChanges=x.create(t=>{const e=this._positionChanges.subscribe(t);return this._positionChangeSubscriptions++,()=>{e.unsubscribe(),this._positionChangeSubscriptions--}}),this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>this.apply())}apply(){if(this._isDisposed||this._platform&&!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let s;for(let o of this._preferredPositions){let r=this._getOriginPoint(t,o),a=this._getOverlayPoint(r,e,o),l=this._getOverlayFit(a,e,n,o);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,r);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:o,origin:r,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(r,o)}):(!s||s.overlayFit.visibleArea<l.visibleArea)&&(s={overlayFit:l,overlayPoint:a,originPoint:r,position:o,overlayRect:e})}if(i.length){let t=null,e=-1;for(const n of i){const i=n.boundingBoxRect.width*n.boundingBoxRect.height*(n.position.weight||1);i>e&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this.detach(),this._boundingBox=null,this._positionChanges.complete(),this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){this.scrollables=t}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t instanceof Mn?t.nativeElement:t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,s=this._isRtl()?t.left:t.right;n="start"==e.originX?i:s}return{x:n,y:i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}}_getOverlayPoint(t,e,n){let i,s;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+i,y:t.y+(s="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}}_getOverlayFit(t,e,n,i){let{x:s,y:o}=t,r=this._getOffset(i,"x"),a=this._getOffset(i,"y");r&&(s+=r),a&&(o+=a);let l=0-o,h=o+e.height-n.height,u=this._subtractOverflows(e.width,0-s,s+e.width-n.width),c=this._subtractOverflows(e.height,l,h),d=u*c;return{visibleArea:d,isCompletelyWithinViewport:e.width*e.height===d,fitsInViewportVertically:c===e.height,fitsInViewportHorizontally:u==e.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,s=n.right-e.x,o=this._overlayRef.getConfig().minHeight,r=this._overlayRef.getConfig().minWidth;return(t.fitsInViewportVertically||null!=o&&o<=i)&&(t.fitsInViewportHorizontally||null!=r&&r<=s)}}_pushOverlayOnScreen(t,e){const n=this._viewportRect,i=Math.max(t.x+e.width-n.right,0),s=Math.max(t.y+e.height-n.bottom,0),o=Math.max(n.top-t.y,0),r=Math.max(n.left-t.x,0);let a,l=0;return{x:t.x+(a=e.width<=n.width?r||-i:n.left-t.x),y:t.y+(l=e.height<=n.height?o||-s:n.top-t.y)}}_applyPosition(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),this._lastPosition=t,this._positionChangeSubscriptions>0){const e=this._getScrollVisibility(),n=new jh(t,e);this._positionChanges.next(n)}this._isInitialRender=!1}_setTransformOrigin(t){if(!this._transformOriginSelector)return;const e=this._boundingBox.querySelectorAll(this._transformOriginSelector);let n,i=t.overlayY;n="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${n} ${i}`}_calculateBoundingBoxRect(t,e){const n=this._viewportRect,i=this._isRtl();let s,o,r,a,l,h;if("top"===e.overlayY)o=t.y,s=n.bottom-t.y;else if("bottom"===e.overlayY)s=n.height-(r=n.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{const e=Math.min(n.bottom-t.y,t.y-n.left),i=this._lastBoundingBoxSize.height;o=t.y-e,(s=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)h=n.right-t.x+this._viewportMargin,a=t.x-n.left;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x,t.x-n.top),i=this._lastBoundingBoxSize.width;l=t.x-e,(a=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:o,left:l,bottom:r,right:h,width:a,height:s}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;i.height=wa(n.height),i.top=wa(n.top),i.bottom=wa(n.bottom),i.width=wa(n.width),i.left=wa(n.left),i.right=wa(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=wa(t)),s&&(i.maxWidth=wa(s))}this._lastBoundingBoxSize=n,eu(this._boundingBox.style,i)}_resetBoundingBoxStyles(){eu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){eu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:""})}_setOverlayElementStyles(t,e){const n={};this._hasExactPosition()?(eu(n,this._getExactOverlayY(e,t)),eu(n,this._getExactOverlayX(e,t))):n.position="static";let i="",s=this._getOffset(e,"x"),o=this._getOffset(e,"y");s&&(i+=`translateX(${s}px) `),o&&(i+=`translateY(${o}px)`),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),eu(this._pane.style,n)}_getExactOverlayY(t,e){let n={top:null,bottom:null},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect));let s=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;return i.y-=s,"bottom"===t.overlayY?n.bottom=`${this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)}px`:n.top=wa(i.y),n}_getExactOverlayX(t,e){let n,i={left:null,right:null},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect)),"right"==(n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?i.right=`${this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)}px`:i.left=wa(s.x),i}_getScrollVisibility(){const t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Wh(t,n),isOriginOutsideView:qh(t,n),isOverlayClipped:Wh(e,n),isOverlayOutsideView:qh(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){if(!this._preferredPositions.length)throw Error("FlexibleConnectedPositionStrategy: At least one position is required.");this._preferredPositions.forEach(t=>{Zh("originX",t.originX),Hh("originY",t.originY),Zh("overlayX",t.overlayX),Hh("overlayY",t.overlayY)})}}function eu(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}class nu{constructor(t,e,n,i,s,o){this._preferredPositions=[],this._positionStrategy=new tu(n,i,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e)}get _isRtl(){return"rtl"===this._overlayRef.getDirection()}get onPositionChange(){return this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const s=new Bh(t,e,n,i);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}class iu{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add("cdk-global-overlay-wrapper")}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig();t.position=this._cssPosition,t.marginLeft="100%"===n.width?"0":this._leftOffset,t.marginTop="100%"===n.height?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,"100%"===n.width?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems="100%"===n.height?"flex-start":this._alignItems}dispose(){}}class su{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new iu}connectedTo(t,e,n){return new nu(e,n,t,this._viewportRuler,this._document)}flexibleConnectedTo(t){return new tu(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}su.ngInjectableDef=ot({factory:function(){return new su(te(Lh),te(Ol),te(Fl,8),te(Xh,8))},token:su,providedIn:"root"});let ou=0;class ru{constructor(t,e,n,i,s,o,r,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=s,this._injector=o,this._ngZone=r,this._document=a,this._directionality=l}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),s=new Vh(t);return s.direction=s.direction||this._directionality.value,new Jh(i,e,n,s,this._ngZone,this._keyboardDispatcher,this._document)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id=`cdk-overlay-${ou++}`,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(kn)),new Nh(t,this._componentFactoryResolver,this._appRef,this._injector)}}const au=new rt("cdk-connected-overlay-scroll-strategy");function lu(t){return()=>t.scrollStrategies.reposition()}class hu{}const uu=20,cu="mat-tooltip-panel";function du(t){return Error(`Tooltip position "${t}" is invalid.`)}const pu=new rt("mat-tooltip-scroll-strategy");function mu(t){return()=>t.scrollStrategies.reposition({scrollThrottle:uu})}const fu=new rt("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class _u{constructor(t,e,n,i,s,o,r,a,l,h,u){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=s,this._platform=o,this._ariaDescriber=r,this._focusMonitor=a,this._scrollStrategy=l,this._dir=h,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new S;const c=e.nativeElement;o.IOS?"INPUT"!==c.nodeName&&"TEXTAREA"!==c.nodeName||(c.style.webkitUserSelect=c.style.userSelect=""):(this._manualListeners.set("mouseenter",()=>this.show()),this._manualListeners.set("mouseleave",()=>this.hide()),this._manualListeners.forEach((t,n)=>e.nativeElement.addEventListener(n,t))),c.draggable&&"none"===c.style.webkitUserDrag&&(c.style.webkitUserDrag=""),a.monitor(c).pipe(ql(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&s.run(()=>this.show()):s.run(()=>this.hide(0))})}get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t),this._disabled&&this.hide(0)}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?`${t}`.trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._platform.IOS||(this._manualListeners.forEach((t,e)=>this._elementRef.nativeElement.removeEventListener(e,t)),this._manualListeners.clear()),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}show(t=this.showDelay){if(this.disabled||!this.message)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new Ah(gu,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_handleKeydown(t){this._isTooltipVisible()&&t.keyCode===Ca&&(t.stopPropagation(),this.hide(0))}_handleTouchend(){this.hide(this._defaultOptions.touchendHideDelay)}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8),e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);return t.withScrollableContainers(e),t.positionChanges.pipe(ql(this._destroyed)).subscribe(t=>{this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:t,panelClass:cu,scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(){const t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object.assign({},e.main,n.main),Object.assign({},e.fallback,n.fallback)])}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e||"below"==e)n={originX:"center",originY:"above"==e?"top":"bottom"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={originX:"start",originY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={originX:"end",originY:"center"}}const{x:i,y:s}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:s}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e)n={overlayX:"center",overlayY:"bottom"};else if("below"==e)n={overlayX:"center",overlayY:"top"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={overlayX:"end",overlayY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={overlayX:"start",overlayY:"center"}}const{x:i,y:s}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Th(1),ql(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}}class gu{constructor(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new S,this._isHandset=this._breakpointObserver.observe(ah.Handset)}show(t){this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._markForCheck()},t)}hide(t){this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._markForCheck()},t)}afterHidden(){return this._onHide.asObservable()}isVisible(){return"visible"===this._visibility}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}class yu{}function vu(t,e=ph){return n=>n.lift(new bu(t,e))}class bu{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wu(t,this.dueTime,this.scheduler))}}class wu extends y{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function xu(t){t.debouncedNext()}class Eu{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}Eu.ngInjectableDef=ot({factory:function(){return new Eu},token:Eu,providedIn:"root"});class Cu{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){return x.create(e=>{const n=this._observeElement(t).subscribe(e);return()=>{n.unsubscribe(),this._unobserveElement(t)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new S,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}Cu.ngInjectableDef=ot({factory:function(){return new Cu(te(Eu))},token:Cu,providedIn:"root"});class Lu{}const ku=new rt("cdk-dir-doc",{providedIn:"root",factory:function(){return te(Ol)}});class Su{constructor(t){if(this.value="ltr",this.change=new on,t){const e=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===e||"rtl"===e?e:"ltr"}}ngOnDestroy(){this.change.complete()}}Su.ngInjectableDef=ot({factory:function(){return new Su(te(ku,8))},token:Su,providedIn:"root"});class Tu{}function Iu(t,e,n){return function(i){return i.lift(new Pu(t,e,n))}}class Pu{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new Mu(t,this.nextOrObserver,this.error,this.complete))}}class Mu extends y{constructor(t,e,n,s){super(t),this._tapNext=w,this._tapError=w,this._tapComplete=w,this._tapError=n||w,this._tapComplete=s||w,i(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||w,this._tapError=e.error||w,this._tapComplete=e.complete||w)}_next(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const Du=" ";function Au(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const Ou="cdk-describedby-message-container",Ru="cdk-describedby-message",Nu="cdk-describedby-host";let Fu=0;const zu=new Map;let Vu=null;class Bu{constructor(t){this._document=t}describe(t,e){this._canBeDescribed(t,e)&&(zu.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))}removeDescription(t,e){if(!this._canBeDescribed(t,e))return;this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);const n=zu.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),Vu&&0===Vu.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${Nu}]`);for(let e=0;e<t.length;e++)this._removeCdkDescribedByReferenceIds(t[e]),t[e].removeAttribute(Nu);Vu&&this._deleteMessagesContainer(),zu.clear()}_createMessageElement(t){const e=this._document.createElement("div");e.setAttribute("id",`${Ru}-${Fu++}`),e.appendChild(this._document.createTextNode(t)),this._createMessagesContainer(),Vu.appendChild(e),zu.set(t,{messageElement:e,referenceCount:0})}_deleteMessageElement(t){const e=zu.get(t),n=e&&e.messageElement;Vu&&n&&Vu.removeChild(n),zu.delete(t)}_createMessagesContainer(){if(!Vu){const t=this._document.getElementById(Ou);t&&t.parentNode.removeChild(t),(Vu=this._document.createElement("div")).id=Ou,Vu.setAttribute("aria-hidden","true"),Vu.style.display="none",this._document.body.appendChild(Vu)}}_deleteMessagesContainer(){Vu&&Vu.parentNode&&(Vu.parentNode.removeChild(Vu),Vu=null)}_removeCdkDescribedByReferenceIds(t){const e=Au(t,"aria-describedby").filter(t=>0!=t.indexOf(Ru));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=zu.get(e);!function(t,e,n){const i=Au(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(Du)))}(t,"aria-describedby",n.messageElement.id),t.setAttribute(Nu,""),n.referenceCount++}_removeMessageReference(t,e){const n=zu.get(e);n.referenceCount--,function(t,e,n){const i=Au(t,e).filter(t=>t!=n.trim());t.setAttribute(e,i.join(Du))}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(Nu)}_isElementDescribedByMessage(t,e){const n=Au(t,"aria-describedby"),i=zu.get(e),s=i&&i.messageElement.id;return!!s&&-1!=n.indexOf(s)}_canBeDescribed(t,e){return t.nodeType===this._document.ELEMENT_NODE&&null!=e&&!!`${e}`.trim()}}Bu.ngInjectableDef=ot({factory:function(){return new Bu(te(Ol))},token:Bu,providedIn:"root"});class ju{constructor(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new S,this._typeaheadSubscription=f.EMPTY,this._vertical=!0,this._skipPredicateFn=(t=>t.disabled),this._pressedLetters=[],this.tabOut=new S,this.change=new S,t instanceof Dn&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withTypeAhead(t=200){if(this._items.length&&this._items.some(t=>"function"!=typeof t.getLabel))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Iu(t=>this._pressedLetters.push(t)),vu(t),vh(()=>this._pressedLetters.length>0),j(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n<e.length+1;n++){const i=(this._activeItemIndex+n)%e.length,s=e[i];if(!this._skipPredicateFn(s)&&0===s.getLabel().toUpperCase().trim().indexOf(t)){this.setActiveItem(i);break}}this._pressedLetters=[]}),this}setActiveItem(t){const e=this._activeItemIndex;this.updateActiveItem(t),this._activeItemIndex!==e&&this.change.next(this._activeItemIndex)}onKeydown(t){const e=t.keyCode;switch(e){case xa:return void this.tabOut.next();case Ia:if(this._vertical){this.setNextItemActive();break}return;case Sa:if(this._vertical){this.setPreviousItemActive();break}return;case Ta:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}return;case ka:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}return;default:return void(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=Da&&e<=Aa||e>=Pa&&e<=Ma)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t);this._activeItemIndex=n,this._activeItem=e[n]}updateActiveItemIndex(t){this.updateActiveItem(t)}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof Dn?this._items.toArray():this._items}}class Hu extends ju{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class Zu extends ju{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}class Uu{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(t){return null}}(t.ownerDocument.defaultView||window);if(e){const t=e&&e.nodeName.toLowerCase();if(-1===$u(e))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===t)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),i=$u(t);if(t.hasAttribute("contenteditable"))return-1!==i;if("iframe"===n)return!1;if("audio"===n){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===n){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==n||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0}isFocusable(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Gu(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)}}function Gu(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function $u(t){if(!Gu(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}Uu.ngInjectableDef=ot({factory:function(){return new Uu(te(Fl))},token:Uu,providedIn:"root"});class qu{constructor(t,e,n,i,s=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)}destroy(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",()=>this.focusLastTabbableElement())),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",()=>this.focusFirstTabbableElement()))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement()))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], `+`[cdkFocusRegion${t}], `+`[cdk-focus-${t}]`);for(let n=0;n<e.length;n++)e[n].hasAttribute(`cdk-focus-${t}`)?console.warn(`Found use of deprecated attribute 'cdk-focus-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated `+"attribute will be removed in 7.0.0.",e[n]):e[n].hasAttribute(`cdk-focus-region-${t}`)&&console.warn(`Found use of deprecated attribute 'cdk-focus-region-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated attribute `+"will be removed in 7.0.0.",e[n]);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return t?(t.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 7.0.0",t),t.focus(),!0):this.focusFirstTabbableElement()}focusFirstTabbableElement(){const t=this._getRegionBoundary("start");return t&&t.focus(),!!t}focusLastTabbableElement(){const t=this._getRegionBoundary("end");return t&&t.focus(),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=0;n<e.length;n++){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(t)return t}return null}_getLastTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=e.length-1;n>=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(t)}}class Wu{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new qu(t,this._checker,this._ngZone,this._document,e)}}Wu.ngInjectableDef=ot({factory:function(){return new Wu(te(Uu),te(rn),te(Ol))},token:Wu,providedIn:"root"});const Ku=new rt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});class Yu{constructor(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}announce(t,e="polite"){return this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(e=>{setTimeout(()=>{this._liveElement.textContent=t,e()},100)})}ngOnDestroy(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)}_createLiveElement(){const t=this._document.getElementsByClassName("cdk-live-announcer-element");for(let n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);const e=this._document.createElement("div");return e.classList.add("cdk-live-announcer-element"),e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e}}Yu.ngInjectableDef=ot({factory:function(){return new Yu(te(Ku,8),te(Ol))},token:Yu,providedIn:"root"});const Qu=650;class Xu{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=(()=>{}),this._monitoredElementCount=0}monitor(t,e=!1){if(!this._platform.isBrowser)return Jl(null);if(this._elementInfo.has(t)){let n=this._elementInfo.get(t);return n.checkChildren=e,n.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new S};this._elementInfo.set(t,n),this._incrementMonitoredElementCount();let i=e=>this._onFocus(e,t),s=e=>this._onBlur(e,t);return this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",i,!0),t.addEventListener("blur",s,!0)}),n.unlisten=(()=>{t.removeEventListener("focus",i,!0),t.removeEventListener("blur",s,!0)}),n.subject.asObservable()}stopMonitoring(t){const e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())}focusVia(t,e,n){this._setOriginForCurrentEventQueue(e),"function"==typeof t.focus&&t.focus(n)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_registerGlobalListeners(){if(!this._platform.isBrowser)return;let t=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},e=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},n=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,Qu)},i=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=(()=>{document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)})}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const n=this._elementInfo.get(e);if(!n||!n.checkChildren&&e!==t.target)return;let i=this._origin;i||(i=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,i),this._emitOrigin(n.subject,i),this._lastFocusOrigin=i}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._registerGlobalListeners()}_decrementMonitoredElementCount(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=(()=>{}))}}Xu.ngInjectableDef=ot({factory:function(){return new Xu(te(rn),te(Fl))},token:Xu,providedIn:"root"});class Ju{}let tc=null;function ec(){return tc}class nc{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}class ic extends nc{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const sc={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},oc=3,rc={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ac={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};let lc;mt.Node&&(lc=mt.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});class hc extends ic{parse(t){throw new Error("parse not implemented")}static makeCurrent(){!function(t){tc||(tc=t)}(new hc)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return sc}contains(t,e){return lc.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=e[i];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const i=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(t,e),i}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const i=this.getStyle(t,e)||"";return n?i==n:i.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,i){t.setAttributeNS(e,n,i)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===oc&&ac.hasOwnProperty(e)&&(e=ac[e]))}return rc[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=cc||(cc=document.querySelector("base"))?cc.getAttribute("href"):null;return null==e?null:function(t){return uc||(uc=document.createElement("a")),uc.setAttribute("href",t),"/"===uc.pathname.charAt(0)?uc.pathname:"/"+uc.pathname}(e)}resetBaseElement(){cc=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return el(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let uc,cc=null;const dc=Ol;function pc(){return!!window.history.pushState}class mc extends Oa{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=ec().getLocation(),this._history=ec().getHistory()}getBaseHrefFromDOM(){return ec().getBaseHref(this._doc)}onPopState(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){pc()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){pc()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}}mc.ctorParameters=(()=>[{type:void 0,decorators:[{type:Tt,args:[dc]}]}]);class fc{constructor(t){this._doc=t,this._dom=ec()}addTag(t,e=!1){return t?this._getOrCreateElement(t,e):null}addTags(t,e=!1){return t?t.reduce((t,n)=>(n&&t.push(this._getOrCreateElement(n,e)),t),[]):[]}getTag(t){return t&&this._dom.querySelector(this._doc,`meta[${t}]`)||null}getTags(t){if(!t)return[];const e=this._dom.querySelectorAll(this._doc,`meta[${t}]`);return e?[].slice.call(e):[]}updateTag(t,e){if(!t)return null;e=e||this._parseSelector(t);const n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,e=!1){if(!e){const e=this._parseSelector(t),n=this.getTag(e);if(n&&this._containsAttributes(t,n))return n}const n=this._dom.createElement("meta");this._setMetaElementAttributes(t,n);const i=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(i,n),n}_setMetaElementAttributes(t,e){return Object.keys(t).forEach(n=>this._dom.setAttribute(e,n,t[n])),e}_parseSelector(t){const e=t.name?"name":"property";return`${e}="${t[e]}"`}_containsAttributes(t,e){return Object.keys(t).every(n=>this._dom.getAttribute(e,n)===t[n])}}const _c=new rt("TRANSITION_ID"),gc=[{provide:De,useFactory:function(t,e,n){return()=>{n.get(Ae).donePromise.then(()=>{const n=ec();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[_c,dc,Nt],multi:!0}];class yc{static init(){!function(t){_n=t}(new yc)}addToWindow(t){mt.getAngularTestability=((e,n=!0)=>{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i}),mt.getAllAngularTestabilities=(()=>t.getAllTestabilities()),mt.getAllAngularRootElements=(()=>t.getAllRootElements()),mt.frameworkStabilizers||(mt.frameworkStabilizers=[]),mt.frameworkStabilizers.push(t=>{const e=mt.getAllAngularTestabilities();let n=e.length,i=!1;const s=function(e){i=i||e,0==--n&&t(i)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?ec().isShadowRoot(e)?this.findTestabilityInTree(t,ec().getHost(e),!0):this.findTestabilityInTree(t,ec().parentElement(e),!0):null}}class vc{constructor(t){this._doc=t}getTitle(){return ec().getTitle(this._doc)}setTitle(t){ec().setTitle(this._doc,t)}}function bc(t,e){"undefined"!=typeof COMPILED&&COMPILED||((mt.ng=mt.ng||{})[t]=e)}const wc={ApplicationRef:kn,NgZone:rn};function xc(t){return Bn(t)}const Ec=new rt("EventManagerPlugins");class Cc{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i<n.length;i++){const e=n[i];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class Lc{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const i=ec().getGlobalEventTarget(this._doc,t);if(!i)throw new Error(`Unsupported event target ${i} for event ${e}`);return this.addEventListener(i,e,n)}}class kc{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class Sc extends kc{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>ec().remove(t))}}const Tc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Ic=/%COMP%/g,Pc="_nghost-%COMP%",Mc="_ngcontent-%COMP%";function Dc(t,e,n){for(let i=0;i<e.length;i++){let s=e[i];Array.isArray(s)?Dc(t,s,n):(s=s.replace(Ic,t),n.push(s))}return n}function Ac(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class Oc{constructor(t,e){this.eventManager=t,this.sharedStylesHost=e,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case ee.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new zc(this.eventManager,this.sharedStylesHost,e),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case ee.Native:return new Vc(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Dc(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class Rc{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Tc[e],t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t){let e="string"==typeof t?document.querySelector(t):t;if(!e)throw new Error(`The selector "${t}" did not match any elements`);return e.textContent="",e}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=`${i}:${e}`;const s=Tc[i];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=Tc[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&In.DashCase?t.style.setProperty(e,n,i&In.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&In.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){Fc(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return Fc(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Ac(n)):this.eventManager.addEventListener(t,e,Ac(n))}}const Nc="@".charCodeAt(0);function Fc(t,e){if(t.charCodeAt(0)===Nc)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class zc extends Rc{constructor(t,e,n){super(t),this.component=n;const i=Dc(n.id,n.styles,[]);e.addStyles(i),this.contentAttr=Mc.replace(Ic,n.id),this.hostAttr=Pc.replace(Ic,n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class Vc extends Rc{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=i,this.shadowRoot=n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const s=Dc(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const t=document.createElement("style");t.textContent=s[o],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const Bc="undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t},jc=Bc("addEventListener"),Hc=Bc("removeEventListener"),Zc={},Uc="__zone_symbol__propagationStopped";let Gc;"undefined"!=typeof Zone&&Zone[Bc("BLACK_LISTED_EVENTS")]&&(Gc={});const $c=function(t){return!!Gc&&Gc.hasOwnProperty(t)},qc=function(t){const e=Zc[t.type];if(!e)return;const n=this[e];if(!n)return;const i=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[Uc];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}}},Wc={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Kc=new rt("HammerGestureConfig");class Yc{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}const Qc=["alt","control","meta","shift"],Xc={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Jc extends Lc{constructor(t){super(t)}supports(t){return null!=Jc.parseEventName(t)}addEventListener(t,e,n){const i=Jc.parseEventName(e),s=Jc.eventCallback(i.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ec().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const i=Jc._normalizeKey(e.pop());let s="";if(Qc.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s+=t+".")}),s+=i,0!=e.length||0===i.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",n=ec().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Qc.forEach(i=>{i!=n&&(0,Xc[i])(t)&&(e+=i+".")}),e+=n}static eventCallback(t,e,n){return i=>{Jc.getEventFullKey(i)===t&&n.runGuarded(()=>e(i))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class td{}class ed extends td{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case Oi.NONE:return e;case Oi.HTML:return e instanceof id?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){let n=null;try{Pi=Pi||new ci(t);let i=e?String(e):"";n=Pi.getInertBodyElement(i);let s=5,o=i;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,i=o,o=n.innerHTML,n=Pi.getInertBodyElement(i)}while(i!==o);const r=new ki,a=r.sanitizeChildren(Mi(n)||n);return bn()&&r.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}finally{if(n){const t=Mi(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}(this._doc,String(e)));case Oi.STYLE:return e instanceof sd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),function(t){if(!(t=String(t).trim()))return"";const e=t.match(Ai);return e&&mi(e[1])===e[1]||t.match(Di)&&function(t){let e=!0,n=!0;for(let i=0;i<t.length;i++){const s=t.charAt(i);"'"===s&&n?e=!e:'"'===s&&e&&(n=!n)}return e&&n}(t)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}(e));case Oi.SCRIPT:if(e instanceof od)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case Oi.URL:return e instanceof ad||e instanceof rd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),mi(String(e)));case Oi.RESOURCE_URL:if(e instanceof ad)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nd)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new id(t)}bypassSecurityTrustStyle(t){return new sd(t)}bypassSecurityTrustScript(t){return new od(t)}bypassSecurityTrustUrl(t){return new rd(t)}bypassSecurityTrustResourceUrl(t){return new ad(t)}}class nd{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class id extends nd{getTypeName(){return"HTML"}}class sd extends nd{getTypeName(){return"Style"}}class od extends nd{getTypeName(){return"Script"}}class rd extends nd{getTypeName(){return"URL"}}class ad extends nd{getTypeName(){return"ResourceURL"}}const ld=xn(oi,"browser",[{provide:ze,useValue:Rl},{provide:Fe,useValue:function(){hc.makeCurrent(),yc.init()},multi:!0},{provide:Oa,useClass:mc,deps:[dc]},{provide:dc,useFactory:function(){return document},deps:[]}]);function hd(){return new he}class ud{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:ud,providers:[{provide:Oe,useValue:t.appId},{provide:_c,useExisting:Oe},gc]}}}"undefined"!=typeof window&&window;class cd{}cd.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",cd.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",cd.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",cd.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class dd{}dd.COMPLEX="375ms",dd.ENTERING="225ms",dd.EXITING="195ms";const pd=new rt("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class md{constructor(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&bn()&&!this._isTestEnv()}_isTestEnv(){return this._window&&(this._window.__karma__||this._window.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function fd(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t)}}}function _d(t,e){return class extends t{get color(){return this._color}set color(t){const n=t||e;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),n&&this._elementRef.nativeElement.classList.add(`mat-${n}`),this._color=n)}constructor(...t){super(...t),this.color=e}}}function gd(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=ya(t)}}}class yd{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}yd.ngInjectableDef=ot({factory:function(){return new yd},token:yd,providedIn:"root"});const vd=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class bd{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=vd.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const wd={enterDuration:450,exitDuration:400},xd=800;class Ed{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._eventOptions=!!Bl()&&{passive:!0},this.onMousedown=(t=>{const e=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+xd;this._target.rippleDisabled||e||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}),this.onTouchStart=(t=>{this._target.rippleDisabled||(this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0,this.fadeInRipple(t.touches[0].clientX,t.touches[0].clientY,this._target.rippleConfig))}),this.onPointerUp=(()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===vd.VISIBLE||t.config.terminateOnPointerUp&&t.state===vd.FADING_IN)&&t.fadeOut()}))}),i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this.onMousedown),this._triggerEvents.set("mouseup",this.onPointerUp),this._triggerEvents.set("mouseleave",this.onPointerUp),this._triggerEvents.set("touchstart",this.onTouchStart),this._triggerEvents.set("touchend",this.onPointerUp))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},wd,n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const o=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),s=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+s*s)}(t,e,i),r=t-i.left,a=e-i.top,l=s.enterDuration/(n.speedFactor||1),h=document.createElement("div");h.classList.add("mat-ripple-element"),h.style.left=`${r-o}px`,h.style.top=`${a-o}px`,h.style.height=`${2*o}px`,h.style.width=`${2*o}px`,h.style.backgroundColor=n.color||null,h.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(h),window.getComputedStyle(h).getPropertyValue("opacity"),h.style.transform="scale(1)";const u=new bd(this,h,n);return u.state=vd.FADING_IN,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this.runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=vd.VISIBLE,n.persistent||t&&this._isPointerDown||u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign({},wd,t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=vd.FADING_OUT,this.runTimeoutOutsideZone(()=>{t.state=vd.HIDDEN,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,n)=>t.addEventListener(n,e,this._eventOptions))}),this._triggerElement=t)}runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,this._eventOptions)})}}const Cd=new rt("mat-ripple-global-options");class Ld{constructor(t,e,n,i,s){this._elementRef=t,this.radius=0,this.speedFactor=1,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new Ed(this,e,t,n),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp,speedFactor:this.speedFactor*(this._globalOptions.baseSpeedFactor||1)}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class kd{}class Sd{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}class Td{}const Id=fd(class{});let Pd=0;class Md extends Id{constructor(){super(...arguments),this._labelId=`mat-optgroup-label-${Pd++}`}}let Dd=0;class Ad{constructor(t,e=!1){this.source=t,this.isUserInput=e}}const Od=new rt("MAT_OPTION_PARENT_COMPONENT");class Rd{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._id=`mat-option-${Dd++}`,this._mostRecentViewValue="",this.onSelectionChange=new on,this._stateChanges=new S}get multiple(){return this._parent&&this._parent.multiple}get id(){return this._id}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=ya(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(){const t=this._getHostElement();"function"==typeof t.focus&&t.focus()}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==Ea&&t.keyCode!==La||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Ad(this,t))}}class Nd{}const Fd=new rt("mat-label-global-options");var zd=Ji({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Vd(t){return Go(2,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var i=!0,s=t.component;return"@state.start"===e&&(i=!1!==s._animationStart()&&i),"@state.done"===e&&(i=!1!==s._animationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),yo(131072,Ml,[Rn]),(t()(),Ho(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,Yi(e,0,0,io(e,2).transform(n._isHandset)).matches,n._visibility),t(e,3,0,n.message)})}var Bd=$s("mat-tooltip-component",gu,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==io(t,1)._handleBodyInteraction()&&i),i},Vd,zd)),go(1,49152,null,0,gu,[Rn,oh],null,null)],null,function(t,e){t(e,0,0,"visible"===io(e,1)._visibility?1:null)})},{},{},[]),jd=n("4R65");class Hd{}class Zd{}class Ud{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Ud?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Ud;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Ud?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;0===(t=t.filter(t=>-1===s.indexOf(t))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Gd{encodeKey(t){return $d(t)}encodeValue(t){return $d(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function $d(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class qd{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Gd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const i=t.indexOf("="),[s,o]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],r=n.get(s)||[];r.push(o),n.set(s,r)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new qd({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=null)}}function Wd(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Kd(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yd(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Qd{constructor(t,e,n,i){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,s=i):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.params&&(this.params=s.params)),this.headers||(this.headers=new Ud),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new qd,this.urlWithParams=e}serializeBody(){return null===this.body?null:Wd(this.body)||Kd(this.body)||Yd(this.body)||"string"==typeof this.body?this.body:this.body instanceof qd?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:Yd(this.body)?null:Kd(this.body)?this.body.type||null:Wd(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof qd?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,i=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,r=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let a=t.headers||this.headers,l=t.params||this.params;return void 0!==t.setHeaders&&(a=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),a)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),l)),new Qd(e,n,s,{params:l,headers:a,reportProgress:r,responseType:i,withCredentials:o})}}const Xd=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class Jd{constructor(t,e=200,n="OK"){this.headers=t.headers||new Ud,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class tp extends Jd{constructor(t={}){super(t),this.type=Xd.ResponseHeader}clone(t={}){return new tp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ep extends Jd{constructor(t={}){super(t),this.type=Xd.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ep({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class np extends Jd{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ip(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class sp{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Qd)i=t;else{let s=void 0;s=n.headers instanceof Ud?n.headers:new Ud(n.headers);let o=void 0;n.params&&(o=n.params instanceof qd?n.params:new qd({fromObject:n.params})),i=new Qd(t,e,void 0!==n.body?n.body:null,{headers:s,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=Jl(i).pipe(function(t,e){return $(t,void 0,1)}(t=>this.handler.handle(t)));if(t instanceof Qd||"events"===n.observe)return s;const o=s.pipe(vh(t=>t instanceof ep));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe(j(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe(j(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new qd).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,ip(n,e))}post(t,e,n={}){return this.request("POST",t,ip(n,e))}put(t,e,n={}){return this.request("PUT",t,ip(n,e))}}class op{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const rp=new rt("HTTP_INTERCEPTORS");class ap{intercept(t,e){return e.handle(t)}}const lp=/^\)\]\}',?\n/;class hp{}class up{constructor(){}build(){return new XMLHttpRequest}}class cp{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new x(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let s=null;const o=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,i=n.statusText||"OK",o=new Ud(n.getAllResponseHeaders()),r=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new tp({headers:o,status:e,statusText:i,url:r})},r=()=>{let{headers:i,status:s,statusText:r,url:a}=o(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let h=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(lp,"");try{l=""!==l?JSON.parse(l):null}catch(e){l=t,h&&(h=!1,l={error:e,text:l})}}h?(e.next(new ep({body:l,headers:i,status:s,statusText:r,url:a||void 0})),e.complete()):e.error(new np({error:l,headers:i,status:s,statusText:r,url:a||void 0}))},a=t=>{const i=new np({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error"});e.error(i)};let l=!1;const h=i=>{l||(e.next(o()),l=!0);let s={type:Xd.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(s.total=i.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},u=t=>{let n={type:Xd.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",r),n.addEventListener("error",a),t.reportProgress&&(n.addEventListener("progress",h),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:Xd.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("load",r),t.reportProgress&&(n.removeEventListener("progress",h),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.abort()}})}}const dp=new rt("XSRF_COOKIE_NAME"),pp=new rt("XSRF_HEADER_NAME");class mp{}class fp{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=el(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class _p{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null===i||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}class gp{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(rp,[]);this.chain=t.reduceRight((t,e)=>new op(t,e),this.backend)}return this.chain.handle(t)}}class yp{static disable(){return{ngModule:yp,providers:[{provide:_p,useClass:ap}]}}static withOptions(t={}){return{ngModule:yp,providers:[t.cookieName?{provide:dp,useValue:t.cookieName}:[],t.headerName?{provide:pp,useValue:t.headerName}:[]]}}}class vp{}function bp(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),U(t,void 0).lift(new wp(e))}class wp{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new xp(t,this.resultSelector))}}class xp extends y{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;l(t)?e.push(new Cp(t)):e.push("function"==typeof t[A]?new Ep(t[A]()):new Lp(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let i=!1;const s=[];for(let o=0;o<e;o++){let e=t[o],r=e.next();if(e.hasCompleted()&&(i=!0),r.done)return void n.complete();s.push(r.value)}this.resultSelector?this._tryresultSelector(s):n.next(s),i&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}class Ep{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class Cp{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[A](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class Lp extends B{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[A](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,i,s){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return V(this,this.observable,this,e)}}class kp{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Sp(t,this.compare,this.keySelector))}}class Sp extends y{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e=t;if(this.keySelector&&(e=p(this.keySelector)(t))===u)return this.destination.error(u.e);let n=!1;if(this.hasKey){if((n=p(this.compare)(this.key,e))===u)return this.destination.error(u.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))}}function Tp(t,e){return"function"==typeof e?n=>n.pipe(Tp((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))))):e=>e.lift(new Ip(t))}class Ip{constructor(t){this.project=t}call(t,e){return e.subscribe(new Pp(t,this.project))}}class Pp extends B{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)}_innerSub(t,e,n){const i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=V(this,t,e,n))}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}}var Mp=n("Yoyx");function Dp(...t){let e;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),0===t.length?Ql:e?Dp(t).pipe(j(t=>e(...t))):new x(e=>new Ap(e,t))}class Ap extends B{constructor(t,e){super(t),this.sources=e,this.completed=0,this.haveValues=0;const n=e.length;this.values=new Array(n);for(let i=0;i<n;i++){const t=V(this,e[i],null,i);t&&this.add(t)}}notifyNext(t,e,n,i,s){this.values[n]=e,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(t){const{destination:e,haveValues:n,values:i}=this,s=i.length;t._hasValue?(this.completed++,this.completed===s&&(n===s&&e.next(i),e.complete())):e.complete()}}class Op{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Rp extends Op{get formDirective(){return null}get path(){return null}}function Np(t){return null==t||0===t.length}const Fp=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class zp{static min(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return Np(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return Np(t.value)?null:Fp.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(Np(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return zp.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(Np(t.value))return null;const i=t.value;return e.test(i)?null:{pattern:{requiredPattern:n,actualValue:i}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return jp(function(t,n){return e.map(e=>e(t))}(t))}}static composeAsync(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return Dp(function(t,n){return e.map(e=>e(t))}(t).map(Bp)).pipe(j(jp))}}}function Vp(t){return null!=t}function Bp(t){const e=Pe(t)?G(t):t;if(!Me(e))throw new Error("Expected validator to return Promise or Observable.");return e}function jp(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}const Hp=new rt("NgValueAccessor"),Zp=new rt("CompositionEventMode");class Up{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=ec()?ec().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}function Gp(t){return t.validate?e=>t.validate(e):t}function $p(t){return t.validate?e=>t.validate(e):t}function qp(){throw new Error("unimplemented")}class Wp extends Op{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return qp()}get asyncValidator(){return qp()}}class Kp{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}const Yp={formControlName:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupName:'\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',formArrayName:'\n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',ngModelGroup:'\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',ngModelWithFormGroup:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n '};class Qp{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formControlName}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${Yp.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${Yp.ngModelGroup}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${Yp.formControlName}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formGroupName}`)}static arrayParentException(){throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formArrayName}`)}static disabledAttrWarning(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")}static ngModelWarning(t){console.warn(`\n It looks like you're using ngModel on the same form field as ${t}. \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `)}}function Xp(t,e){return[...e.path,t]}function Jp(t,e){t||im(e,"Cannot find control with"),e.valueAccessor||im(e,"No value accessor for form control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&tm(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&tm(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function tm(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function em(t,e){null==t&&im(e,"Cannot find control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator])}function nm(t){return im(t,"There is no FormControl instance attached to form control element with")}function im(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function sm(t){return null!=t?zp.compose(t.map(Gp)):null}function om(t){return null!=t?zp.composeAsync(t.map($p)):null}function rm(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!vt(e,n.currentValue)}const am=[class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=function(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=(e=>{this.value=this._getOptionValue(e),t(this.value)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=((t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)})}else e=((t,e)=>{t._setSelected(!1)});this._optionMap.forEach(e)}registerOnChange(t){this.onChange=(e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const i=t.item(e),s=this._getOptionValue(i.value);n.push(s)}}else{const t=e.options;for(let e=0;e<t.length;e++){const i=t.item(e);if(i.selected){const t=this._getOptionValue(i.value);n.push(t)}}}this.value=n,t(n)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},class{constructor(t,e,n,i){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=i,this.onChange=(()=>{}),this.onTouched=(()=>{})}ngOnInit(){this._control=this._injector.get(Wp),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=(()=>{t(this.value),this._registry.select(this)})}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')}}];function lm(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function hm(t,e){if(!e)return null;Array.isArray(e)||im(t,"Value accessor was not provided as an array for form control with");let n=void 0,i=void 0,s=void 0;return e.forEach(e=>{e.constructor===Up?n=e:function(t){return am.some(e=>t.constructor===e)}(e)?(i&&im(t,"More than one built-in value accessor matches form control with"),i=e):(s&&im(t,"More than one custom value accessor matches form control with"),s=e)}),s||i||n||(im(t,"No valid value accessor for form control with"),null)}function um(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function cm(t,e,n,i){bn()&&"never"!==i&&((null!==i&&"once"!==i||e._ngModelWarningSentOnce)&&("always"!==i||n._ngModelWarningSent)||(Qp.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}class dm extends Rp{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){}}class pm{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class mm extends pm{constructor(t){super(t)}}class fm extends pm{constructor(t){super(t)}}const _m="VALID",gm="INVALID",ym="PENDING",vm="DISABLED";function bm(t){const e=xm(t)?t.validators:t;return Array.isArray(e)?sm(e):e||null}function wm(t,e){const n=xm(e)?e.asyncValidators:t;return Array.isArray(n)?om(n):n||null}function xm(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class Em{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=(()=>{}),this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===_m}get invalid(){return this.status===gm}get pending(){return this.status==ym}get disabled(){return this.status===vm}get enabled(){return this.status!==vm}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=bm(t)}setAsyncValidators(t){this.asyncValidator=wm(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ym,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){this.status=vm,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){this.status=_m,this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==_m&&this.status!==ym||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vm:_m}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ym;const e=Bp(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof Lm?t.controls[e]||null:t instanceof km&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new on,this.statusChanges=new on}_calculateStatus(){return this._allControlsDisabled()?vm:this.errors?gm:this._anyControlsHaveStatus(ym)?ym:this._anyControlsHaveStatus(gm)?gm:_m}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){xm(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}}class Cm extends Em{constructor(t=null,e,n){super(bm(e),wm(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=(()=>{})}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class Lm extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof Cm?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,i)=>{e=e||this.contains(i)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class km extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this.controls.map(t=>t instanceof Cm?t.value:t.getRawValue())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const Sm=Promise.resolve(null);class Tm extends Rp{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new on,this.form=new Lm({},sm(t),om(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Sm.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Jp(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),um(this._directives,t)})}addFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path),n=new Lm({});em(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){Sm.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,lm(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}const Im=new rt("NgModelWithFormControlWarning");class Pm extends Wp{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new on,this._ngModelWarningSent=!1,this._rawValidators=t||[],this._rawAsyncValidators=e||[],this.valueAccessor=hm(this,n)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._isControlChanged(t)&&(Jp(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),rm(t,this.viewModel)&&(cm("formControl",Pm,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}get path(){return[]}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}Pm._ngModelWarningSentOnce=!1;class Mm extends Rp{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new on}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Jp(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){um(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,lm(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>nm(e)),e.valueAccessor.registerOnTouched(()=>nm(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&Jp(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=sm(this._validators);this.form.validator=zp.compose([this.form.validator,t]);const e=om(this._asyncValidators);this.form.asyncValidator=zp.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||Qp.missingFormException()}}class Dm extends dm{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){Om(this._parent)&&Qp.groupParentException()}}class Am extends Rp{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Xp(this.name,this._parent)}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){Om(this._parent)&&Qp.arrayParentException()}}function Om(t){return!(t instanceof Dm||t instanceof Mm||t instanceof Am)}class Rm extends Wp{constructor(t,e,n,i,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new on,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=hm(this,i)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._added||this._setUpControl(),rm(t,this.viewModel)&&(cm("formControlName",Rm,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof Dm)&&this._parent instanceof dm?Qp.ngModelGroupException():this._parent instanceof Dm||this._parent instanceof Mm||this._parent instanceof Am||Qp.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}Rm._ngModelWarningSentOnce=!1;class Nm{group(t,e=null){const n=this._reduceControls(t);return new Lm(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)}control(t,e,n){return new Cm(t,e,n)}array(t,e,n){const i=t.map(t=>this._createControl(t));return new km(i,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof Cm||t instanceof Lm||t instanceof km?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Fm{}class zm{}class Vm{static withConfig(t){return{ngModule:Vm,providers:[{provide:Im,useValue:t.warnOnNgModelWithFormControl}]}}}n("INa4");var Bm=function(){function t(){}return t.mapToArray=function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},t.handleEvent=function(t,e,n){0<e.observers.length&&t.run(function(){e.emit(n)})},t}(),jm=function(){function t(t,e){this.element=t,this.zone=e,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=Object(jd.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new on,this.zoomChange=new on,this.centerChange=new on,this.onClick=new on,this.onDoubleClick=new on,this.onMouseDown=new on,this.onMouseUp=new on,this.onMouseMove=new on,this.onMouseOver=new on,this.onMapMove=new on,this.onMapMoveStart=new on,this.onMapMoveEnd=new on,this.onMapZoom=new on,this.onMapZoomStart=new on,this.onMapZoomEnd=new on}return t.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){t.map=Object(jd.map)(t.element.nativeElement,t.options),t.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)},t.prototype.ngOnChanges=function(t){t.zoom&&t.center&&null!=this.zoom&&null!=this.center?this.setView(t.center.currentValue,t.zoom.currentValue):t.zoom?this.setZoom(t.zoom.currentValue):t.center&&this.setCenter(t.center.currentValue),t.fitBounds&&this.setFitBounds(t.fitBounds.currentValue),t.maxBounds&&this.setMaxBounds(t.maxBounds.currentValue),t.minZoom&&this.setMinZoom(t.minZoom.currentValue),t.maxZoom&&this.setMaxZoom(t.maxZoom.currentValue)},t.prototype.getMap=function(){return this.map},t.prototype.onResize=function(){this.delayResize()},t.prototype.addMapEventListeners=function(){var t=this;this.map.on("click",function(e){return Bm.handleEvent(t.zone,t.onClick,e)}),this.map.on("dblclick",function(e){return Bm.handleEvent(t.zone,t.onDoubleClick,e)}),this.map.on("mousedown",function(e){return Bm.handleEvent(t.zone,t.onMouseDown,e)}),this.map.on("mouseup",function(e){return Bm.handleEvent(t.zone,t.onMouseUp,e)}),this.map.on("mouseover",function(e){return Bm.handleEvent(t.zone,t.onMouseOver,e)}),this.map.on("mousemove",function(e){return Bm.handleEvent(t.zone,t.onMouseMove,e)}),this.map.on("zoomstart",function(e){return Bm.handleEvent(t.zone,t.onMapZoomStart,e)}),this.map.on("zoom",function(e){return Bm.handleEvent(t.zone,t.onMapZoom,e)}),this.map.on("zoomend",function(e){return Bm.handleEvent(t.zone,t.onMapZoomEnd,e)}),this.map.on("movestart",function(e){return Bm.handleEvent(t.zone,t.onMapMoveStart,e)}),this.map.on("move",function(e){return Bm.handleEvent(t.zone,t.onMapMove,e)}),this.map.on("moveend",function(e){return Bm.handleEvent(t.zone,t.onMapMoveEnd,e)}),this.map.on("zoomend moveend",function(){var e=t.map.getZoom();e!==t.zoom&&(t.zoom=e,Bm.handleEvent(t.zone,t.zoomChange,e));var n=t.map.getCenter();null==n&&null==t.center||(null!=n&&null!=t.center||n===t.center)&&n.lat===t.center.lat&&n.lng===t.center.lng||(t.center=n,Bm.handleEvent(t.zone,t.centerChange,n))})},t.prototype.doResize=function(){var t=this;this.zone.runOutsideAngular(function(){t.map.invalidateSize({})})},t.prototype.delayResize=function(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)},t.prototype.setView=function(t,e){this.map&&null!=t&&null!=e&&this.map.setView(t,e,this.zoomPanOptions)},t.prototype.setZoom=function(t){this.map&&null!=t&&this.map.setZoom(t,this.zoomOptions)},t.prototype.setCenter=function(t){this.map&&null!=t&&this.map.panTo(t,this.panOptions)},t.prototype.setFitBounds=function(t){this.map&&null!=t&&this.map.fitBounds(t,this.fitBoundsOptions)},t.prototype.setMaxBounds=function(t){this.map&&null!=t&&this.map.setMaxBounds(t)},t.prototype.setMinZoom=function(t){this.map&&null!=t&&this.map.setMinZoom(t)},t.prototype.setMaxZoom=function(t){this.map&&null!=t&&this.map.setMaxZoom(t)},t}(),Hm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}(),Zm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();const Um=function(t,e){switch(typeof t){case"number":this.lonDeg=this.dec2deg(t,this.MAX_LON),this.lonDec=t;break;case"string":this.decode(t)&&(this.lonDeg=t),this.lonDec=this.deg2dec(t,this.MAX_LON)}switch(typeof e){case"number":this.latDeg=this.dec2deg(e,this.MAX_LAT),this.latDec=e;break;case"string":this.decode(e)&&(this.latDeg=e),this.latDec=this.deg2dec(e,this.MAX_LAT)}};Um.prototype={CHAR_DEG:"\xb0",CHAR_MIN:"'",CHAR_SEC:'"',CHAR_SEP:" ",MAX_LON:180,MAX_LAT:90,lonDec:NaN,latDec:NaN,lonDeg:NaN,latDeg:NaN,dec2deg:function(t,e){const n=t<0?-1:1,i=Math.abs(Math.round(1e6*t));if(i>1e6*e)return NaN;const s=i%1e6/1e6,o=Math.floor(i/1e6)*n,r=Math.floor(60*s);let a="";return a+=o,a+=this.CHAR_DEG,a+=this.CHAR_SEP,a+=r,a+=this.CHAR_MIN,a+=this.CHAR_SEP,(a+=(3600*(s-r/60)).toFixed(2))+this.CHAR_SEC},deg2dec:function(t){const e=this.decode(t);if(!e)return NaN;const n=parseFloat(e[1]),i=parseFloat(e[2]),s=parseFloat(e[3]);return isNaN(n)||isNaN(i)||isNaN(s)?NaN:n+i/60+s/3600},decode:function(t){let e="";return e+="(-?\\d+)",e+=this.CHAR_DEG,e+="\\s*",e+="(\\d+)",e+=this.CHAR_MIN,e+="\\s*",e+="(\\d+(?:\\.\\d+)?)",e+=this.CHAR_SEC,t.match(new RegExp(e))},getLonDec:function(){return this.lonDec},getLatDec:function(){return this.latDec},getLonDeg:function(){return this.lonDeg},getLatDeg:function(){return this.latDeg}};const Gm=function(t,e,n){const i=$m(),s=Object(jd.marker)([t,e],{icon:i,draggable:!0});return s.on("dragend",function(t){return n(t)}),s},$m=function(){return Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconAnchor:[13,40]})},qm={radius:6,fillColor:"#ff7800",color:"#000",weight:1,opacity:1,fillOpacity:.8},Wm={color:"#ff7800",weight:5,opacity:.65},Km=()=>Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconSize:[33,41],iconAnchor:[13,40],popupAnchor:[5,-41]});function Ym(t){try{let e;" "===(t=t.replace(/\s\s+/g," ")).charAt(0)&&(t=t.slice(1,t.length-1)),t=(t=t.replace(",",".")).replace(/[^0-9\-.,\xb0\'"\s]/g,"");let n="",i="",s="",o=t.split(" ");" "===t.charAt(t.length-1)&&(o=o.slice(0,o.length-1)),""===o[o.length-1]&&(o=o.slice(0,o.length-1)),1===o.length&&(-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90")),2===o.length&&(i=o[1],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),3===o.length&&(i=o[1],s=o[2],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),o.length>=4&&(o=o.slice(0,2),-1!==n.indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90"));try{e=t.match(/\s/g).length}catch(t){e=0}if(0===e&&1===o.length);else if(1===e&&o.length>=1)"\xb0"!==(n=n.replace(" ","")).slice(n.length-1,n.length)?n+="\xb0 ":n+=" ";else if(2===e&&o.length>=2)n=n.replace(" ",""),i=i.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ";else{if(!(3===e&&o.length>=3))throw{error:"Can't manage input string."};n=n.replace(" ",""),i=i.replace(" ",""),s=s.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ",'"'!==s.slice(s.length-1,s.length)&&(s+='"')}return n+i+s}catch(e){return t}}class Qm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}geocode(t,e){return null===t?Xl():"osm"===e.toLowerCase()?this.geocodeUsingOSM(t):"mapquest"===e.toLowerCase()?this.geocodeUsingMapQuest(t):void 0}reverse(t,e,n){return"osm"===n.toLowerCase()?this.reverseUsingOSM(t,e):"mapquest"===n.toLowerCase()?this.reverseUsingMapQuest(t,e):void 0}getReadbleAddress(t,e){if("osm"===e.toLowerCase())return this.getNominatimReadbleAddress(t);if("mapquest"===e.toLowerCase()){if(Object(Mp.isDefined)(t.results))return this.getMapQuestReadableAddress(t);if(Object(Mp.isDefined)(t.address))return this.getNominatimReadbleAddress(t)}}geocodeUsingOSM(t){return this.http.get(`https://nominatim.openstreetmap.org/?format=json&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}geocodeUsingMapQuest(t){return this.http.get(`https://open.mapquestapi.com/nominatim/v1/search.php?key=${this.mapQuestApiKey}&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingOSM(t,e){return this.http.get(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingMapQuest(t,e){return this.http.get(`https://open.mapquestapi.com/geocoding/v1/reverse?key=${this.mapQuestApiKey}&location=${t},${e}`).pipe(j(t=>t))}getNominatimReadbleAddress(t){let e=null,n=null,i=null,s=null;return Object(Mp.isDefined)(t.address.city)?e=t.address.city:Object(Mp.isDefined)(t.address.town)?e=t.address.town:Object(Mp.isDefined)(t.address.village)?e=t.address.village:Object(Mp.isDefined)(t.address.hamlet)&&(e=t.address.hamlet),Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e?n=t.address.suburb+", "+t.address.postcode:!Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e&&(n=t.address.postcode),Object(Mp.isDefined)(t.address.road)?i=t.address.road:Object(Mp.isDefined)(t.address.pedestrian)&&(i=t.address.pedestrian),Object(Mp.isDefined)(t.address.neighbourhood)&&(s=t.address.neighbourhood),i&&s&&n&&e?i+" ("+s+") "+n+" "+e:i&&!s&&n&&e?i+" "+n+" "+e:i&&!s&&!n&&e?i+", "+e:!i&&s&&n&&e?s+" "+n+" "+e:!i&&!s&&n&&e?n+" "+e:i||s||n||!e?t.display_name:e}getMapQuestReadableAddress(t){const e=t.results[0].locations[0];let n=null,i=null,s=null,o=null;return n=e.adminArea5,i=e.adminArea4,o=e.adminArea6,(s=e.street)&&o&&i&&n?s+" ("+o+") "+i+" "+n:s&&!o&&i&&n?s+" "+i+" "+n:s&&!o&&!i&&n?s+", "+n:!s&&o&&i&&n?o+" "+i+" "+n:!s&&!o&&i&&n?i+" "+n:s||o||i||!n?void 0:n}osmClassFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{let i=0,s=!1;t.forEach(t=>{const n=t.split(":")[0],o=t.split(":")[1];"*"===o?e.class===n&&i++:"!"===o.substr(0,1)?e.class===n&&"!"+e.type===o&&(s=!0):e.class===n&&e.type===o&&i++}),i>0&&!s&&n.push(e)}),Jl(n)):Jl(e)}reverseCorrdinatesArray(t){if(t.length>0)return t.forEach(t=>{t.reverse()}),t}simplifyPolyline(t){return t.length>1?[t[0],t[t.length-1]]:t}getInseeData(t,e){return this.http.get(`https://geo.api.gouv.fr/communes?lat=${t}&lon=${e}`).pipe(j(t=>t[0]))}}Qm.ngInjectableDef=ot({factory:function(){return new Qm(te(sp))},token:Qm,providedIn:"root"});class Xm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}getElevation(t,e,n){return"openelevation"===n.toLowerCase()?this.getOpenElevation(t,e):"mapquest"===n.toLowerCase()&&null!==this.mapQuestApiKey?this.getMapQuestElevation(t,e):Jl(-1)}getOpenElevation(t,e){return this.http.get(`https://api.open-elevation.com/api/v1/lookup?locations=${t},${e}`).pipe(j(t=>t.results[0].elevation))}getMapQuestElevation(t,e){return this.http.get(`https://open.mapquestapi.com/elevation/v1/profile?key=${this.mapQuestApiKey}&shapeFormat=raw&latLngCollection=${t},${e}`).pipe(j(t=>t.elevationProfile[0].height))}}Xm.ngInjectableDef=ot({factory:function(){return new Xm(te(sp))},token:Xm,providedIn:"root"});class Jm{constructor(t,e,n,i){this.fb=t,this.geocodeService=e,this.elevationService=n,this.zone=i,this.layersToAdd=["osm"],this.osmClassFilter=[],this.allowEditDrawnItems=!1,this.marker=!0,this.polyline=!1,this.polygon=!1,this.latLngInit=[46.5588603,2.98828125],this.zoomInit=4,this.getOsmSimpleLine=!1,this.showLatLngElevationInputs=!0,this.elevationProvider="mapQuest",this.geolocationProvider="osm",this.mapQuestApiKey="KpzlEtCq6BmVVf37R1EXV3jWoh20ynCc",this.location=new on,this.coordFormat="dms",this._location={},this.osmPlace=null,this.inseeData=null,this._geolocatedPhotoLatLng=new on,this.geolocatedPhotoLatLngData=[],this.geolocatedPhotoLatLngDisplayedColumnsTable=["select","fileName","lat","lng","altitude"],this.isLoadingAddress=!1,this.isLoadingLatitude=!1,this.isLoadingLongitude=!1,this.isLoadingElevation=!1,this.geoSearchSubscription=new f,this.latDmsInputSubscription=new f,this.lngDmsInputSubscription=new f,this.elevationInputSubscription=new f,this.mapLat=0,this.mapLng=0,this.osmLayer=Object(jd.tileLayer)("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:18,attribution:"Open Street map"}),this.openTopoMapLayer=Object(jd.tileLayer)("https://a.tile.opentopomap.org/{z}/{x}/{y}.png",{maxZoom:17,attribution:"OpenTopoMap"}),this.googleHybridLayer=Object(jd.tileLayer)("https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"],attribution:"Google maps"}),this.brgmLayer=jd.tileLayer.wms("http://geoservices.brgm.fr/geologie",{version:"1.3.0",layers:"Geologie"}),this.mapLayers={},this.geoResultsLayer=Object(jd.geoJSON)(null,{style:function(){return{color:"#ff7800",weight:5,opacity:.65}}}),this.geolocatedPhotoLatLngLayer=Object(jd.geoJSON)(),this.drawnItems=new jd.FeatureGroup,this.circleMarkerOpt=qm,this.geoResultsOpt=Wm}set geolocatedPhotoLatLng(t){this._geolocatedPhotoLatLng.emit(t)}set reset(t){!0===t&&this.resetComponent()}set patchAddress(t){t&&null!==t&&this._patchAddress(t)}set patchElevation(t){t&&null!==t&&this._patchElevation(t)}set patchLatLngDec(t){t&&null!==t&&this._patchLatLngDec(t[0],t[1])}set patchGeometry(t){t&&null!==t&&this._patchGeometry(t)}set drawMarker(t){t&&null!==t&&this._drawMarker(t[0],t[1])}ngOnInit(){switch(this.initApi(),this.latlngFormGroup=this.fb.group({latInput:this.fb.control("",[zp.required,this.latLngDecValidator]),lngInput:this.fb.control("",[zp.required,this.latLngDecValidator]),dmsLatInput:this.fb.control("",[zp.required,this.latLngDmsValidator]),dmsLngInput:this.fb.control("",[zp.required,this.latLngDmsValidator])}),this.elevationFormGroup=this.fb.group({elevationInput:this.fb.control("",null)}),this.geoSearchFormGroup=this.fb.group({placeInput:this.fb.control("",null)}),this.geoSearchSubscription=this.geoSearchFormGroup.controls.placeInput.valueChanges.pipe(vu(400),t=>t.lift(new kp(void 0,void 0)),Tp(t=>(this.isLoadingAddress=!0,this.geocodeService.geocode(t,this.geolocationProvider)))).subscribe(t=>{this.isLoadingAddress=!1,this.osmClassFilter.length>0?this.geocodeService.osmClassFilter(this.osmClassFilter,t).subscribe(t=>{this.geoSearchResults=t}):this.geoSearchResults=t},t=>{this.isLoadingAddress=!1}),this._geolocatedPhotoLatLng.subscribe(t=>{this.geolocatedPhotoLatLngLayer.clearLayers(),this.geolocatedPhotoLatLngData=t,this.geolocatedPhotoLatLngData.forEach(t=>{const e=new Um(t.lng.deg+"\xb0 "+t.lng.min+"'"+t.lng.sec+'"',t.lat.deg+"\xb0 "+t.lat.min+"'"+t.lat.sec+'"');t.latDec=e.latDec,t.lngDec=e.lonDec;const n=Object(jd.latLng)(t.latDec,t.lngDec),i=new jd.Marker(n,{icon:Km()});i.bindPopup(`\n <b>Fichier "${t.fileName}"</b><br>\n Lat. : ${e.latDeg}<br />\n Lng. : ${e.lonDeg}<br />\n Alt. : ${t.altitude} m<br /><br />\n <b>Cliquez sur le point pour utiliser ces coordonn\xe9es</b>`).openPopup(),i.on("click",e=>{this.gpsMarkerSetValues(t.latDec,t.lngDec,t.altitude)}),i.on("mouseover",t=>{i.openPopup()}),i.on("mouseout",t=>{i.closePopup()}),i.addTo(this.geolocatedPhotoLatLngLayer)}),this.flyToGeolocatedPhotoItems()}),this.elevationInputSubscription=this.elevationFormGroup.controls.elevationInput.valueChanges.pipe(vu(500)).subscribe(t=>{null!==this.osmPlace&&this.bindLocationOutput([t,this.osmPlace,this.inseeData])}),this.mapOptions={layers:[],zoom:this.zoomInit,center:Object(jd.latLng)({lat:this.latLngInit[0],lng:this.latLngInit[1]})},this.drawControlEdit=function(t,e){return new jd.Control.Draw({position:"topleft",draw:{marker:!1,polyline:!1,polygon:!1,rectangle:!1,circle:!1,circlemarker:!1},edit:{featureGroup:t,edit:!0===e&&{},remove:{}}})}(this.drawnItems,this.allowEditDrawnItems),this.drawControlFull=function(t,e,n){return new jd.Control.Draw({position:"topleft",draw:{marker:!!t&&{icon:$m()},polyline:!!e&&{},polygon:!!n&&{showArea:!0,metric:!1},rectangle:!1,circle:!1,circlemarker:!1}})}(this.marker,this.polyline,this.polygon),-1!==this.layersToAdd.indexOf("osm")&&(this.mapLayers.OSM=this.osmLayer),-1!==this.layersToAdd.indexOf("opentopomap")&&(this.mapLayers.OpenTopoMap=this.openTopoMapLayer),-1!==this.layersToAdd.indexOf("google hybrid")&&(this.mapLayers["Google hybride"]=this.googleHybridLayer),-1!==this.layersToAdd.indexOf("brgm")&&(this.mapLayers.BRGM=this.brgmLayer),this.layersToAdd[0]){case"osm":this.mapOptions.layers.push(this.osmLayer);break;case"opentopomap":this.mapOptions.layers.push(this.openTopoMapLayer);break;case"google hybrid":this.mapOptions.layers.push(this.googleHybridLayer);break;case"brgm":this.mapOptions.layers.push(this.brgmLayer)}this.latDmsInputSubscription=this.latlngFormGroup.controls.dmsLatInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLatInput.setValue(Ym(t),{emitEvent:!1})}),this.lngDmsInputSubscription=this.latlngFormGroup.controls.dmsLngInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLngInput.setValue(Ym(t),{emitEvent:!1})})}initApi(){this.elevationService.setMapQuestApiKey(this.mapQuestApiKey),this.geocodeService.setMapQuestApiKey(this.mapQuestApiKey)}ngOnDestroy(){this.geoSearchSubscription.unsubscribe(),this.latDmsInputSubscription.unsubscribe(),this.lngDmsInputSubscription.unsubscribe(),this.elevationInputSubscription.unsubscribe(),this._geolocatedPhotoLatLng.unsubscribe()}onMapReady(t){this.map=t,this.map.addControl(jd.control.layers(null,this.mapLayers,{position:"topright"})),this.map.addLayer(this.drawnItems),this.map.addLayer(this.geoResultsLayer),this.map.addLayer(this.geolocatedPhotoLatLngLayer),this.map.addControl(this.drawControlFull),this.map.on("draw:created",t=>{if(this.drawnItem=t.layer,this.drawType=t.layerType,"marker"===this.drawType){const t=this.drawnItem._latlng;Gm(t.lat,t.lng,t=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}).addTo(this.drawnItems)}else this.drawnItems.addLayer(this.drawnItem);this.drawnItems.getLayers().length>0&&this.setMapEditMode(),1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:edited",t=>{this.drawnItem=t.layer,this.drawType=t.layerType,1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:deleted",t=>{this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.zone.run(()=>{this.clearForm()})}),this.redrawMap(100)}redrawMap(t){t?window.setTimeout(()=>this.map.invalidateSize(),t):this.map.invalidateSize()}setMapEditMode(){this.map.removeControl(this.drawControlFull),this.map.addControl(this.drawControlEdit)}setMapDrawMode(){this.map.removeControl(this.drawControlEdit),this.map.addControl(this.drawControlFull)}flyToDrawnItems(t=14){const e=this.drawnItems.getBounds();this.map.flyToBounds(e,{maxZoom:t,animate:!1})}flyToGeoResultsItems(){const t=this.geoResultsLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}flyToGeolocatedPhotoItems(){const t=this.geolocatedPhotoLatLngLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}addMarkerFromDmsCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(this.latlngFormGroup.controls.dmsLngInput.value,this.latlngFormGroup.controls.dmsLatInput.value);Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.latInput.setValue(t.getLatDec(),{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(t.getLatDec(),{emitEvent:!1}),this.flyToDrawnItems()}addMarkerFromLatLngCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(Number(this.latlngFormGroup.controls.lngInput.value),Number(this.latlngFormGroup.controls.latInput.value));Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.dmsLatInput.setValue(t.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(t.getLonDeg(),{emitEvent:!1}),this.flyToDrawnItems()}addPolyline(t){this.clearDrawnItemsLayer(),this.setMapEditMode(),Object(jd.polyline)(t).addTo(this.drawnItems),this.flyToDrawnItems(18)}callGeolocElevationApisUsingLatLngInputsValues(t=!1,e=!1,n){let i,s,o,r;if(this.osmPlace=null,this.inseeData=null,this.setLatLngInputFromDrawnItems(),this.setLatLngDmsInputFromDrawnItems(),t&&!e)i=bp(this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(e&&!t)i=bp(this.getElevationFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(t||e){if(t&&e)return}else i=bp(this.getElevationFromInputValue(),this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));this.isLoadingAddress=!e,this.isLoadingElevation=!t,i.subscribe(i=>{this.isLoadingElevation=!1,this.isLoadingAddress=!1,t&&!e?(s=null,o=i[0],r=i[1]):e&&!t?(s=i,o=null,s=i[0],r=i[1]):e||e||(s=i[0],o=i[1],r=i[2]),this.osmPlace=o,this.inseeData=r,t||this.elevationFormGroup.controls.elevationInput.setValue(s,{emitEvent:!1}),e||this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(o,this.geolocationProvider),{emitEvent:!1}),Object(Mp.isDefined)(n)?n(s,o):this.bindLocationOutput([s,o,r])},t=>{this.isLoadingAddress=!1,this.isLoadingElevation=!1})}setLatLngInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter();this.latlngFormGroup.controls.latInput.setValue(t.lat),this.latlngFormGroup.controls.lngInput.setValue(t.lng)}setLatLngDmsInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter(),e=new Um(t.lng,t.lat);this.latlngFormGroup.controls.dmsLatInput.patchValue(e.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(e.getLonDeg())}getElevationFromInputValue(){return this.elevationService.getElevation(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.elevationProvider)}reverseGeocodingFromInputValue(){return this.geocodeService.reverse(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.geolocationProvider)}latLngDmsValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\\xb0 [0-9]{1,2}\\' [0-9]{1,2}\\.[0-9]{1,12}\\\"").test(t.value)?null:{malformedLatLngDmsFormat:!0}}latLngDecValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\.[0-9]{1,20}").test(t.value)?null:{malformedLatLngDecFormat:!0}}addressSelectedChanged(t){const e=t.option.value,n=new jd.LatLng(e.boundingbox[0],e.boundingbox[2]),i=new jd.LatLng(e.boundingbox[1],e.boundingbox[3]);this.map.fitBounds(Object(jd.latLngBounds)(n,i)),this.clearGeoResultsLayer(),this.geoResultsLayer.addData(e.geojson),this.flyToGeoResultsItems(),this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(e,this.geolocationProvider),{emitEvent:!1});const s=new Um(Number(e.lon),Number(e.lat));this.latlngFormGroup.controls.latInput.setValue(e.lat,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e.lon,{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue(s.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(s.getLonDeg(),{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue(e.elevation,{emitEvent:!1}),"LineString"===e.geojson.type?(this.addPolyline(this.geocodeService.reverseCorrdinatesArray(this.getOsmSimpleLine?this.geocodeService.simplifyPolyline(e.geojson.coordinates):e.geojson.coordinates)),this.clearGeoResultsLayer()):this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!1,!0,t=>{let n;n=Array.isArray(t)?t[0]:t,this.osmPlace=e,this.bindLocationOutput([n,e])})}clearForm(){this.latlngFormGroup.controls.latInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.reset("",{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue("",{emitEvent:!1}),this.elevationFormGroup.reset("",{emitEvent:!1}),this.geoSearchFormGroup.controls.placeInput.setValue("",{emitEvent:!1})}clearGeoResultsLayer(){this.geoResultsLayer.clearLayers()}clearDrawnItemsLayer(){this.drawnItems.clearLayers()}resetLocation(){this._location={}}bindLocationOutput(t){let e,n,i;e=t[0],n=t[1],i=t[2];const s=this.drawnItems.toGeoJSON();if(this._location.geometry=s.features[0].geometry,this._location.elevation=e,this._location.localityConsistency=!!this._location.localityConsistency||null,this._location.locationAccuracy=this._location.locationAccuracy?0:null,this._location.inseeData=i,Object(Mp.isDefined)(n.address)&&(this._location.osmCountry=n.address.country,this._location.osmCountryCode=n.address.country_code,this._location.osmCounty=n.address.county,this._location.osmPostcode=n.address.postcode,n.address.city&&(this._location.locality=n.address.city),n.address.town&&(this._location.locality=n.address.town),n.address.village&&(this._location.locality=n.address.village),this._location.sublocality=n.hamlet,this._location.osmRoad=n.address.road,this._location.osmState=n.address.state,this._location.osmSuburb=n.address.suburb,this._location.osmId=n.osm_id,this._location.osmNeighbourhood=null,this._location.osmPlaceId=n.place_id,this._location.publishedLocation=null,this._location.station=null),Object(Mp.isDefined)(n.results)){const t=n.results[0].locations[0];this._location.osmCountry=t.adminArea1,this._location.osmCountryCode=t.adminArea1,this._location.osmCounty=t.adminArea4,this._location.osmPostcode=t.postalCode,this._location.locality=t.adminArea5,this._location.sublocality=null,this._location.osmRoad=t.street,this._location.osmState=t.adminArea3,this._location.osmSuburb=null,this._location.osmId=null,this._location.osmNeighbourhood=t.adminArea6,this._location.osmPlaceId=null,this._location.publishedLocation=null,this._location.station=null}this.location.next(this._location)}setLatLngInputFormat(t){"decimal"!==t&&"dms"!==t||(this.coordFormat=t)}gpsMarkerSetValues(t,e,n){this.latlngFormGroup.controls.latInput.setValue(t),this.latlngFormGroup.controls.lngInput.setValue(e),this.elevationFormGroup.controls.elevationInput.setValue(n,{emitEvent:!1}),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!0,!1),this.geolocatedPhotoLatLngLayer.clearLayers()}resetComponent(){this.clearForm(),this.resetLocation(),this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.map.flyTo({lat:this.latLngInit[0],lng:this.latLngInit[1]},this.zoomInit,{animate:!1})}_patchAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!1})}_patchElevation(t){this.elevationFormGroup.controls.elevationInput.setValue(t,{emitEvent:!1})}_patchLatLngDec(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg())}_drawMarker(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg()),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues()}_patchGeometry(t){this.clearDrawnItemsLayer();for(const e of t){if("point"===e.type.toLowerCase()){const n=Object(jd.latLng)(e.coordinates[0],e.coordinates[1]);let i;1===t.length?i=Gm(e.coordinates[0],e.coordinates[1],()=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}):t.length>1&&(i=new jd.Marker(n,{icon:$m()})),i.addTo(this.drawnItems)}if("linestring"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polyline(t).addTo(this.drawnItems)}if("polygon"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polygon(t).addTo(this.drawnItems)}}this.setMapEditMode(),this.flyToDrawnItems()}}class tf{constructor(t){this.geocodeService=t}transform(t,e){return this.geocodeService.getReadbleAddress(t,e)}}class ef{}function nf(t){switch(t.length){case 0:return new fa;case 1:return t[0];default:return new _a(t)}}function sf(t,e,n,i,s={},o={}){const r=[],a=[];let l=-1,h=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&h||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,r),a){case ga:a=s[n];break;case ca:a=o[n];break;default:a=e.normalizeStyleValue(n,i,a,r)}u[i]=a}),i||a.push(u),h=u,l=n}),r.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${r.join(t)}`)}return a}function of(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&rf(n,"start",t)));break;case"done":t.onDone(()=>i(n&&rf(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&rf(n,"destroy",t)))}}function rf(t,e,n){const i=n.totalTime,s=af(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==i?t.totalTime:i,!!n.disabled),o=t._data;return null!=o&&(s._data=o),s}function af(t,e,n,i,s="",o=0,r){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:s,totalTime:o,disabled:!!r}}function lf(t,e,n){let i;return t instanceof Map?(i=t.get(e))||t.set(e,i=n):(i=t[e])||(i=t[e]=n),i}function hf(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let uf=(t,e)=>!1,cf=(t,e)=>!1,df=(t,e,n)=>[];if("undefined"!=typeof Element){if(uf=((t,e)=>t.contains(e)),Element.prototype.matches)cf=((t,e)=>t.matches(e));else{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;e&&(cf=((t,n)=>e.apply(t,[n])))}df=((t,e,n)=>{let i=[];if(n)i.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&i.push(n)}return i})}let pf=null,mf=!1;function ff(t){pf||(pf=_f()||{},mf=!!pf.style&&"WebkitAppearance"in pf.style);let e=!0;return pf.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in pf.style)&&mf&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in pf.style),e}function _f(){return"undefined"!=typeof document?document.body:null}const gf=cf,yf=uf,vf=df;function bf(t){const e={};return Object.keys(t).forEach(n=>{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}class wf{}wf.NOOP=new class{validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,s,o=[],r){return new fa(n,i)}};const xf=1e3,Ef="{{",Cf="ng-enter",Lf="ng-leave",kf="ng-trigger",Sf=".ng-trigger",Tf="ng-animating",If=".ng-animating";function Pf(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Mf(parseFloat(e[1]),e[2])}function Mf(t,e){switch(e){case"s":return t*xf;default:return t}}function Df(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,s=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Mf(parseFloat(n[1]),n[2]);const r=n[3];null!=r&&(s=Mf(Math.floor(parseFloat(r)),n[4]));const a=n[5];a&&(o=a)}else i=t;if(!n){let n=!1,o=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:s,easing:o}}(t,e,n)}function Af(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function Of(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Af(t,n);return n}function Rf(t,e){t.style&&Object.keys(e).forEach(n=>{const i=Zf(n);t.style[i]=e[n]})}function Nf(t,e){t.style&&Object.keys(e).forEach(e=>{const n=Zf(e);t.style[n]=""})}function Ff(t){return Array.isArray(t)?1==t.length?t[0]:da(t):t}const zf=new RegExp(`${Ef}\\s*(.+?)\\s*}}`,"g");function Vf(t){let e=[];if("string"==typeof t){const n=t.toString();let i;for(;i=zf.exec(n);)e.push(i[1]);zf.lastIndex=0}return e}function Bf(t,e,n){const i=t.toString(),s=i.replace(zf,(t,i)=>{let s=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),s=""),s.toString()});return s==i?t:s}function jf(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Hf=/-+([a-z0-9])/g;function Zf(t){return t.replace(Hf,(...t)=>t[1].toUpperCase())}function Uf(t,e){return 0===t||0===e}function Gf(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let o=e[0],r=[];if(i.forEach(t=>{o.hasOwnProperty(t)||r.push(t),o[t]=n[t]}),r.length)for(var s=1;s<e.length;s++){let n=e[s];r.forEach(function(e){n[e]=qf(t,e)})}}return e}function $f(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function qf(t,e){return window.getComputedStyle(t)[e]}const Wf="*",Kf=new Set(["true","1"]),Yf=new Set(["false","0"]);function Qf(t,e){const n=Kf.has(t)||Yf.has(t),i=Kf.has(e)||Yf.has(e);return(s,o)=>{let r=t==Wf||t==s,a=e==Wf||e==o;return!r&&n&&"boolean"==typeof s&&(r=s?Kf.has(t):Yf.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Kf.has(e):Yf.has(e)),r&&a}}const Xf=":self",Jf=new RegExp(`s*${Xf}s*,?`,"g");function t_(t,e,n){return new n_(t).build(e,n)}const e_="";class n_{constructor(t){this._driver=t}build(t,e){const n=new i_(e);return this._resetContextStyleTimingState(n),$f(this,Ff(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector=e_,t.collectedStyles={},t.collectedStyles[e_]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const s=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,s.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const s=this.visitTransition(t,e);n+=s.queryCount,i+=s.depCount,o.push(s)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:o,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const s=new Set,o=i||{};if(n.styles.forEach(t=>{if(s_(t)){const e=t;Object.keys(e).forEach(t=>{Vf(e[t]).forEach(t=>{o.hasOwnProperty(t)||s.add(t)})})}}),s.size){const n=jf(s.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=$f(this,Ff(t.animation),e);return{type:1,matchers:function(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>(function(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const s=i[1],o=i[2],r=i[3];e.push(Qf(s,r)),"<"!=o[0]||s==Wf&&r==Wf||e.push(Qf(r,s))})(t,n,e)):n.push(t),n}(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:o_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>$f(this,t,e)),options:o_(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const s=t.steps.map(t=>{e.currentTime=n;const s=$f(this,t,e);return i=Math.max(i,e.currentTime),s});return e.currentTime=i,{type:3,steps:s,options:o_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return r_(Df(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=r_(0,0,"");return t.dynamic=!0,t.strValue=i,t}return r_((n=n||Df(i,e)).duration,n.delay,n.easing)}(t.timings,e.errors);let i;e.currentAnimateTimings=n;let s=t.styles?t.styles:pa({});if(5==s.type)i=this.visitKeyframes(s,e);else{let s=t.styles,o=!1;if(!s){o=!0;const t={};n.easing&&(t.easing=n.easing),s=pa(t)}e.currentTime+=n.duration+n.delay;const r=this.visitStyle(s,e);r.isEmptyStep=o,i=r}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==ca?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,s=null;return n.forEach(t=>{if(s_(t)){const e=t,n=e.easing;if(n&&(s=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf(Ef)>=0){i=!0;break}}}),{type:6,styles:n,easing:s,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,s=e.currentTime;n&&s>0&&(s-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],r=o[n];let a=!0;r&&(s!=i&&s>=r.startTime&&i<=r.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${r.startTime}ms" and "${r.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${i}ms"`),a=!1),s=r.startTime),a&&(o[n]={startTime:s,endTime:i}),e.options&&function(i,s,o){const r=e.options.params||{},a=Vf(t[n]);a.length&&a.forEach(t=>{r.hasOwnProperty(t)||o.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(0,0,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const s=[];let o=!1,r=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),h=0;return null!=l&&(i++,h=n.offset=l),r=r||h<0||h>1,o=o||h<a,a=h,s.push(h),n});r&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const h=t.steps.length;let u=0;i>0&&i<h?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==i&&(u=1/(h-1));const c=h-1,d=e.currentTime,p=e.currentAnimateTimings,m=p.duration;return l.forEach((t,i)=>{const o=u>0?i==c?1:u*i:s[i],r=o*m;e.currentTime=d+p.delay+r,p.duration=r,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:$f(this,Ff(t.animation),e),options:o_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:o_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:o_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[s,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>t==Xf);return e&&(t=t.replace(Jf,"")),[t=t.replace(/@\*/g,Sf).replace(/@\w+/g,t=>Sf+"-"+t.substr(1)).replace(/:animating/g,If),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+s:s,lf(e.collectedStyles,e.currentQuerySelector,{});const r=$f(this,Ff(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:r,originalSelector:t.selector,options:o_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Df(t.timings,e.errors,!0);return{type:12,animation:$f(this,Ff(t.animation),e),timings:n,options:null}}}class i_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function s_(t){return!Array.isArray(t)&&"object"==typeof t}function o_(t){return t?(t=Af(t)).params&&(t.params=function(t){return t?Af(t):null}(t.params)):t={},t}function r_(t,e,n){return{duration:t,delay:e,easing:n}}function a_(t,e,n,i,s,o,r=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:s,delay:o,totalTime:s+o,easing:r,subTimeline:a}}class l_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const h_=1,u_=new RegExp(":enter","g"),c_=new RegExp(":leave","g");function d_(t,e,n,i,s,o={},r={},a,l,h=[]){return(new p_).buildKeyframes(t,e,n,i,s,o,r,a,l,h)}class p_{buildKeyframes(t,e,n,i,s,o,r,a,l,h=[]){l=l||new l_;const u=new f_(t,e,l,i,s,h,[]);u.options=a,u.currentTimeline.setStyles([o],null,u.errors,a),$f(this,n,u);const c=u.timelines.filter(t=>t.containsAnimation());if(c.length&&Object.keys(r).length){const t=c[c.length-1];t.allowOnlyTimelineStyles()||t.setStyles([r],null,u.errors,a)}return c.length?c.map(t=>t.buildKeyframes()):[a_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),s=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);s!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const s=null!=n.duration?Pf(n.duration):null,o=null!=n.delay?Pf(n.delay):null;return 0!==s&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,s,o);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),$f(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const s=t.options;if(s&&(s.params||s.delay)&&((i=e.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=m_);const t=Pf(s.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>$f(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?Pf(t.options.delay):0;t.steps.forEach(o=>{const r=e.createSubContext(t.options);s&&r.delayNextStep(s),$f(this,o,r),i=Math.max(i,r.currentTimeline.currentTime),n.push(r.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Df(e.params?Bf(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(n.duration),this.visitStyle(s,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(s):n.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,s=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*s),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(i+s),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},s=i.delay?Pf(i.delay):0;s&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=m_);let o=n;const r=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=r.length;let a=null;r.forEach((n,i)=>{e.currentQueryIndex=i;const r=e.createSubContext(t.options,n);s&&r.delayNextStep(s),n===e.element&&(a=r.currentTimeline),$f(this,t.animation,r),r.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,r.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,s=t.timings,o=Math.abs(s.duration),r=o*(e.currentQueryTotal-1);let a=o*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=r-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const h=l.currentTime;$f(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-h+(i.startTime-n.currentTimeline.startTime)}}const m_={};class f_{constructor(t,e,n,i,s,o,r,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=r,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=m_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new __(this._driver,e,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=Pf(n.duration)),null!=n.delay&&(i.delay=Pf(n.delay));const s=n.params;if(s){let t=i.params;t||(t=this.options.params={}),Object.keys(s).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Bf(s[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,s=new f_(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=m_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},s=new g_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,s,o){let r=[];if(i&&r.push(this.element),t.length>0){t=(t=t.replace(u_,"."+this._enterClassName)).replace(c_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),r.push(...e)}return s||0!=r.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),r}}class __{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new __(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=h_,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||ca,this._currentKeyframe[t]=ca}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const s=i&&i.params||{},o=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e)).forEach(t=>{n[t]=ca}):Of(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Bf(o[t],s,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:ca),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((s,o)=>{const r=Of(s,!0);Object.keys(r).forEach(n=>{const i=r[n];i==ga?t.add(n):i==ca&&e.add(n)}),n||(r.offset=o/this.duration),i.push(r)});const s=t.size?jf(t.values()):[],o=e.size?jf(e.values()):[];if(n){const t=i[0],e=Af(t);t.offset=0,e.offset=1,i=[t,e]}return a_(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class g_ extends __{constructor(t,e,n,i,s,o,r=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=r,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],o=n+e,r=e/o,a=Of(t[0],!1);a.offset=0,s.push(a);const l=Of(t[0],!1);l.offset=y_(r),s.push(l);const h=t.length-1;for(let i=1;i<=h;i++){let r=Of(t[i],!1);r.offset=y_((e+r.offset*n)/o),s.push(r)}n=o,e=0,i="",t=s}return a_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function y_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class v_{}class b_ extends v_{normalizePropertyName(t,e){return Zf(t)}normalizeStyleValue(t,e,n,i){let s="";const o=n.toString().trim();if(w_[e]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+s}}const w_=function(t){const e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(t=>e[t]=!0),e}();function x_(t,e,n,i,s,o,r,a,l,h,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:s,fromState:n,fromStyles:o,toState:i,toStyles:r,timelines:a,queriedElements:l,preStyleProps:h,postStyleProps:u,totalTime:c,errors:d}}const E_={};class C_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,s){return t.some(t=>t(e,n,i,s))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],s=this._stateStyles[t],o=i?i.buildStyles(e,n):{};return s?s.buildStyles(e,n):o}build(t,e,n,i,s,o,r,a,l){const h=[],u=this.ast.options&&this.ast.options.params||E_,c=this.buildStyles(n,r&&r.params||E_,h),d=a&&a.params||E_,p=this.buildStyles(i,d,h),m=new Set,f=new Map,_=new Map,g="void"===i,y={params:Object.assign({},u,d)},v=d_(t,e,this.ast.animation,s,o,c,p,y,l,h);let b=0;if(v.forEach(t=>{b=Math.max(t.duration+t.delay,b)}),h.length)return x_(e,this._triggerName,n,i,g,c,p,[],[],f,_,b,h);v.forEach(t=>{const n=t.element,i=lf(f,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const s=lf(_,n,{});t.postStyleProps.forEach(t=>s[t]=!0),n!==e&&m.add(n)});const w=jf(m.values());return x_(e,this._triggerName,n,i,g,c,p,v,w,f,_,b)}}class L_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},i=Af(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const s=t;Object.keys(s).forEach(t=>{let o=s[t];o.length>1&&(o=Bf(o,i,e)),n[t]=o})}}),n}}class k_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new L_(t.style,t.options&&t.options.params||{})}),S_(this.states,"true","1"),S_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new C_(t,e,this.states))}),this.fallbackTransition=function(e,n){return new C_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},n)}(0,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(s=>s.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function S_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const T_=new l_;class I_{constructor(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=t_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,s=sf(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],s=this._animations[t];let o;const r=new Map;if(s?(o=d_(this._driver,e,s,Cf,Lf,{},{},n,T_,i)).forEach(t=>{const e=lf(r,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)}):(i.push("The requested animation doesn't exist or has already been destroyed"),o=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);r.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,ca)})});const a=nf(o.map(t=>{const e=r.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const s=af(e,"","","");return of(this._getPlayer(t),n,s,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const s=this._getPlayer(t);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const P_="ng-animate-queued",M_=".ng-animate-queued",D_="ng-animate-disabled",A_=".ng-animate-disabled",O_="ng-star-inserted",R_=".ng-star-inserted",N_=[],F_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},z_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},V_="__ng_removed";class B_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Af(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const j_="void",H_=new B_(j_),Z_=new B_("DELETED");class U_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,X_(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=n&&"done"!=n)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const s=lf(this._elementListeners,t,[]),o={name:e,phase:n,callback:i};s.push(o);const r=lf(this._engine.statesByElement,t,{});return r.hasOwnProperty(e)||(X_(t,kf),X_(t,kf+"-"+e),r[e]=H_),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete r[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const s=this._getTrigger(e),o=new $_(this.id,e,t);let r=this._engine.statesByElement.get(t);r||(X_(t,kf),X_(t,kf+"-"+e),this._engine.statesByElement.set(t,r={}));let a=r[e];const l=new B_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),r[e]=l,a){if(a===Z_)return o}else a=H_;if(l.value!==j_&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let s=0;s<n.length;s++){const i=n[s];if(!e.hasOwnProperty(i)||t[i]!==e[i])return!1}return!0}(a.params,l.params)){const e=[],n=s.matchStyles(a.value,a.params,e),i=s.matchStyles(l.value,l.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{Nf(t,n),Rf(t,i)})}return}const h=lf(this._engine.playersByElement,t,[]);h.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=s.matchTransition(a.value,l.value,t,l.params),c=!1;if(!u){if(!i)return;u=s.fallbackTransition,c=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:o,isFallbackTransition:c}),c||(X_(t,P_),o.onStart(()=>{J_(t,P_)})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),h.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,Sf,!0).forEach(t=>{if(t[V_])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,i){const s=this._engine.statesByElement.get(t);if(s){const o=[];if(Object.keys(s).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,j_,i);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&nf(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const i=e.name;if(n.has(i))return;n.add(i);const s=this._triggers[i].fallbackTransition,o=this._engine.statesByElement.get(t)[i]||H_,r=new B_(j_),a=new $_(this.id,i,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:i,transition:s,fromState:o,toState:r,player:a,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}this.prepareLeaveAnimationListeners(t),i?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){X_(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const s=n.element,o=this._elementListeners.get(s);o&&o.forEach(e=>{if(e.name==n.triggerName){const i=af(s,n.triggerName,n.fromState.value,n.toState.value);i._data=t,of(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),!!this._queue.find(e=>e.element===t)||e}}class G_{constructor(t,e){this.driver=t,this._normalizer=e,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=((t,e)=>{})}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new U_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,e)){this._namespaceList.splice(s+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i<t.length;i++){const s=n[t[i]].namespaceId;if(s){const t=this._fetchNamespace(s);t&&e.add(t)}}}return e}trigger(t,e,n,i){if(q_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,n,i),!0}return!1}insertNode(t,e,n,i){if(!q_(e))return;const s=e[V_];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),X_(t,D_)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),J_(t,D_))}removeNode(t,e,n){if(!q_(e))return void this._onRemovalComplete(e,n);const i=t?this._fetchNamespace(t):null;i?i.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[V_]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,s){return q_(e)?this._fetchNamespace(t).listen(e,n,i,s):()=>{}}_buildInstruction(t,e,n,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e)}destroyInnerAnimations(t){let e=this.driver.query(t,Sf,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,If,!0)).forEach(t=>this.finishActiveQueriedAnimationOnElement(t))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()});const n=this.statesByElement.get(t);n&&Object.keys(n).forEach(t=>n[t]=Z_)}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return nf(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[V_];if(e&&e.setForRemoval){if(t[V_]=F_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,A_)&&this.markElementAsDisabled(t,!1),this.driver.query(t,A_,!0).forEach(e=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)X_(this.collectedEnterElements[n],O_);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?nf(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new l_,i=[],s=new Map,o=[],r=new Map,a=new Map,l=new Map,h=new Set;this.disabledNodes.forEach(t=>{h.add(t);const e=this.driver.query(t,M_,!0);for(let n=0;n<e.length;n++)h.add(e[n])});const u=_f(),c=Array.from(this.statesByElement.keys()),d=Y_(c,this.collectedEnterElements),p=new Map;let m=0;d.forEach((t,e)=>{const n=Cf+m++;p.set(e,n),t.forEach(t=>X_(t,n))});const f=[],_=new Set,g=new Set;for(let P=0;P<this.collectedLeaveElements.length;P++){const t=this.collectedLeaveElements[P],e=t[V_];e&&e.setForRemoval&&(f.push(t),_.add(t),e.hasAnimation?this.driver.query(t,R_,!0).forEach(t=>_.add(t)):g.add(t))}const y=new Map,v=Y_(c,Array.from(_));v.forEach((t,e)=>{const n=Lf+m++;y.set(e,n),t.forEach(t=>X_(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>J_(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>J_(t,n))}),f.forEach(t=>{this.processLeaveNode(t)})});const b=[],w=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(t=>{const e=t.player,s=t.element;if(b.push(e),this.collectedEnterElements.length){const t=s[V_];if(t&&t.setForMove)return void e.destroy()}if(!u||!this.driver.containsElement(u,s))return void e.destroy();const h=y.get(s),c=p.get(s),d=this._buildInstruction(t,n,c,h);if(!d.errors||!d.errors.length)return t.isFallbackTransition?(e.onStart(()=>Nf(s,d.fromStyles)),e.onDestroy(()=>Rf(s,d.toStyles)),void i.push(e)):(d.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(s,d.timelines),o.push({instruction:d,player:e,element:s}),d.queriedElements.forEach(t=>lf(r,t,[]).push(e)),d.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void d.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))}));w.push(d)});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),b.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,E=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(E.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{lf(x,e,[]).push(t),t.destroy()})});const C=f.filter(t=>eg(t,a,l)),L=new Map;K_(L,this.driver,g,l,ca).forEach(t=>{eg(t,a,l)&&C.push(t)});const k=new Map;d.forEach((t,e)=>{K_(k,this.driver,new Set(t),a,ga)}),C.forEach(t=>{const e=L.get(t),n=k.get(t);L.set(t,Object.assign({},e,n))});const S=[],T=[],I={};o.forEach(t=>{const{element:e,player:o,instruction:r}=t;if(n.has(e)){if(h.has(e))return o.onDestroy(()=>Rf(e,r.toStyles)),o.disabled=!0,o.overrideTotalTime(r.totalTime),void i.push(o);let t=I;if(E.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=E.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>E.set(e,t))}const n=this._buildAnimation(o.namespaceId,r,x,s,k,L);if(o.setRealPlayer(n),t===I)S.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=nf(e)),i.push(o)}}else Nf(e,r.fromStyles),o.onDestroy(()=>Rf(e,r.toStyles)),T.push(o),h.has(e)&&i.push(o)}),T.forEach(t=>{const e=s.get(t.element);if(e&&e.length){const n=nf(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let P=0;P<f.length;P++){const t=f[P],e=t[V_];if(J_(t,Lf),e&&e.hasAnimation)continue;let n=[];if(r.size){let e=r.get(t);e&&e.length&&n.push(...e);let i=this.driver.query(t,If,!0);for(let t=0;t<i.length;t++){let e=r.get(i[t]);e&&e.length&&n.push(...e)}}const i=n.filter(t=>!t.destroyed);i.length?tg(this,t,i):this.processLeaveNode(t)}return f.length=0,S.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),S}elementContainsData(t,e){let n=!1;const i=e[V_];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,s){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!s||s==j_;e.forEach(e=>{e.queued||(t||e.triggerName==i)&&o.push(e)})}}return(n||i)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const i=e.element,s=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const r of e.timelines){const t=r.element,a=t!==i,l=lf(n,t,[]);this._getPreviousPlayers(t,a,s,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Nf(i,e.fromStyles)}_buildAnimation(t,e,n,i,s,o){const r=e.triggerName,a=e.element,l=[],h=new Set,u=new Set,c=e.timelines.map(e=>{const c=e.element;h.add(c);const d=c[V_];if(d&&d.removedBeforeQueried)return new fa(e.duration,e.delay);const p=c!==a,m=function(t){const e=[];return function t(e,n){for(let i=0;i<e.length;i++){const s=e[i];s instanceof _a?t(s.players,n):n.push(s)}}((n.get(c)||N_).map(t=>t.getRealPlayer()),e),e}().filter(t=>!!t.element&&t.element===c),f=s.get(c),_=o.get(c),g=sf(0,this._normalizer,0,e.keyframes,f,_),y=this._buildPlayer(e,g,m);if(e.subTimeline&&i&&u.add(c),p){const e=new $_(t,r,c);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{lf(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>(function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e)){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e]){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i})(this.playersByQueriedElement,t.element,t))}),h.forEach(t=>X_(t,Tf));const d=nf(c);return d.onDestroy(()=>{h.forEach(t=>J_(t,Tf)),Rf(a,e.toStyles)}),u.forEach(t=>{lf(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new fa(t.duration,t.delay)}}class $_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new fa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>of(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){lf(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function q_(t){return t&&1===t.nodeType}function W_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function K_(t,e,n,i,s){const o=[];n.forEach(t=>o.push(W_(t)));const r=[];i.forEach((n,i)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(i,t,s);n&&0!=n.length||(i[V_]=z_,r.push(i))}),t.set(i,o)});let a=0;return n.forEach(t=>W_(t,o[a++])),r}function Y_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),s=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=s.get(e);if(o)return o;const r=e.parentNode;return o=n.has(r)?r:i.has(r)?1:t(r),s.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}const Q_="$$classes";function X_(t,e){if(t.classList)t.classList.add(e);else{let n=t[Q_];n||(n=t[Q_]={}),n[e]=!0}}function J_(t,e){if(t.classList)t.classList.remove(e);else{let n=t[Q_];n&&delete n[e]}}function tg(t,e,n){nf(n).onDone(()=>t.processLeaveNode(e))}function eg(t,e,n){const i=n.get(t);if(!i)return!1;let s=e.get(t);return s?i.forEach(t=>s.add(t)):e.set(t,i),n.delete(t),!0}class ng{constructor(t,e){this._driver=t,this._triggerCache={},this.onRemovalComplete=((t,e)=>{}),this._transitionEngine=new G_(t,e),this._timelineEngine=new I_(t,e),this._transitionEngine.onRemovalComplete=((t,e)=>this.onRemovalComplete(t,e))}registerTrigger(t,e,n,i,s){const o=t+"-"+i;let r=this._triggerCache[o];if(!r){const t=[],e=t_(this._driver,s,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);r=function(t,e){return new k_(t,e)}(i,e),this._triggerCache[o]=r}this._transitionEngine.registerTrigger(e,i,r)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,s]=hf(n);this._timelineEngine.command(t,e,s,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,s){if("@"==n.charAt(0)){const[t,i]=hf(n);return this._timelineEngine.listen(t,e,i,s)}return this._transitionEngine.listen(t,e,n,i,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}const ig=3,sg="animation",og="animationend",rg=1e3;class ag{constructor(t,e,n,i,s,o,r){this._element=t,this._name=e,this._duration=n,this._delay=i,this._easing=s,this._fillMode=o,this._onDoneFn=r,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=(t=>this._handleCallback(t))}apply(){!function(t,e){const n=pg(t,"").trim();n.length&&(function(t,e){let n=0;for(let i=0;i<t.length;i++)","===t.charAt(i)&&n++}(n),e=`${n}, ${e}`),dg(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),cg(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){lg(this._element,this._name,"paused")}resume(){lg(this._element,this._name,"running")}setPosition(t){const e=hg(this._element,this._name);this._position=t*this._duration,dg(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=parseFloat(t.elapsedTime.toFixed(ig))*rg;t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),cg(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=pg(t,"").split(","),i=ug(n,e);i>=0&&(n.splice(i,1),dg(t,"",n.join(",")))}(this._element,this._name))}}function lg(t,e,n){dg(t,"PlayState",n,hg(t,e))}function hg(t,e){const n=pg(t,"");return n.indexOf(",")>0?ug(n.split(","),e):ug([n],e)}function ug(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function cg(t,e,n){n?t.removeEventListener(og,e):t.addEventListener(og,e)}function dg(t,e,n,i){const s=sg+e;if(null!=i){const e=t.style[s];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[s]=n}function pg(t,e){return t.style[sg+e]}const mg="forwards",fg="linear",_g=function(){var t={INITIALIZED:1,STARTED:2,FINISHED:3,DESTROYED:4};return t[t.INITIALIZED]="INITIALIZED",t[t.STARTED]="STARTED",t[t.FINISHED]="FINISHED",t[t.DESTROYED]="DESTROYED",t}();class gg{constructor(t,e,n,i,s,o,r){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=s,this._finalStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this.state=0,this.easing=o||fg,this.totalTime=i+s,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this.state>=_g.DESTROYED||(this.state=_g.DESTROYED,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this.state>=_g.FINISHED||(this.state=_g.FINISHED,this._styler.finish(),this._flushStartFns(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this.state>=_g.STARTED}init(){this.state>=_g.INITIALIZED||(this.state=_g.INITIALIZED,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this.state=_g.STARTED),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new ag(this.element,this.animationName,this._duration,this._delay,this.easing,mg,()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this.state>=_g.FINISHED;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:qf(this.element,n))})}this.currentSnapshot=t}}class yg extends fa{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=bf(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}const vg="gen_css_kf_",bg=" ";class wg{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){let i=`@keyframes ${e} {\n`,s="";(n=n.map(t=>bf(t))).forEach(t=>{s=bg;const e=parseFloat(t.offset);i+=`${s}${100*e}% {\n`,s+=bg,Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${s}animation-timing-function: ${n};\n`));default:return void(i+=`${s}${e}: ${n};\n`)}}),i+=`${s}}\n`}),i+="}\n";const o=document.createElement("style");return o.innerHTML=i,o}animate(t,e,n,i,s,o=[],r){r&&this._notifyFaultyScrubber();const a=o.filter(t=>t instanceof gg),l={};Uf(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=Gf(t,e,l));if(0==n)return new yg(t,h);const u=`${vg}${this._count++}`,c=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(c);const d=new gg(t,e,u,n,i,s,h);return d.onDestroy(()=>void c.parentNode.removeChild(c)),d}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class xg{constructor(t,e,n){this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:qf(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Eg{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Cg().toString()),this._cssKeyframesDriver=new wg}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,s,o=[],r){if(!r&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,s,o);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};s&&(a.easing=s);const l={},h=o.filter(t=>t instanceof xg);return Uf(n,i)&&h.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])}),e=Gf(t,e=e.map(t=>Of(t,!1)),l),new xg(t,e,a)}}function Cg(){return"undefined"!=typeof Element&&Element.prototype.animate||{}}class Lg extends ha{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:ee.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?da(t):t;return Tg(this._renderer,null,e,"register",[n]),new kg(e,this._renderer)}}class kg extends ua{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Sg(this._id,t,e||{},this._renderer)}}class Sg{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Tg(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function Tg(t,e,n,i,s){return t.setProperty(e,`@@${n}:${i}`,s)}const Ig="@",Pg="@.disabled";class Mg{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=((t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)})}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Dg("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,s=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,t),e.data.animation.forEach(e=>this.engine.registerTrigger(i,s,t,e.name,e)),new Ag(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class Dg{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t){return this.delegate.selectRootElement(t)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==Ig&&e==Pg?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Ag extends Dg{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==Ig?"."==e.charAt(1)&&e==Pg?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==Ig){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let s=e.substr(1),o="";return s.charAt(0)!=Ig&&([s,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class Og extends ng{constructor(t,e){super(t,e)}}function Rg(){return"function"==typeof Cg()?new Eg:new wg}function Ng(){return new b_}function Fg(t,e,n){return new Mg(t,e,n)}const zg=new rt("AnimationModuleType");class Vg{}class Bg{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}Bg.ngInjectableDef=ot({factory:function(){return new Bg},token:Bg,providedIn:"root"});const jg=new rt("mat-select-scroll-strategy");function Hg(t){return()=>t.scrollStrategies.reposition()}class Zg{}function Ug(t,e){return new x(e?n=>e.schedule(Gg,0,{error:t,subscriber:n}):e=>e.error(t))}function Gg({error:t,subscriber:e}){e.error(t)}class $g{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Jl(this.value);case"E":return Ug(this.error);case"C":return Xl()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new $g("N",t):$g.undefinedValueNotification}static createError(t){return new $g("E",void 0,t)}static createComplete(){return $g.completeNotification}}function qg(t,e=ph){const n=t instanceof Date&&!isNaN(+t)?+t-e.now():Math.abs(t);return t=>t.lift(new Wg(n,e))}$g.completeNotification=new $g("C"),$g.undefinedValueNotification=new $g("N",void 0);class Wg{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new Kg(t,this.delay,this.scheduler))}}class Kg extends y{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,s=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(s);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else e.active=!1}_schedule(t){this.active=!0,this.add(t.schedule(Kg.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new Yg(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification($g.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t)}_complete(){this.scheduleNotification($g.createComplete())}}class Yg{constructor(t,e){this.time=t,this.notification=e}}let Qg=0;class Xg{constructor(t,e){this.source=t,this.option=e}}const Jg=gd(class{}),ty=new rt("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});class ey extends Jg{constructor(t,e,n){super(),this._changeDetectorRef=t,this._elementRef=e,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new on,this.opened=new on,this.closed=new on,this._classList={},this.id=`mat-autocomplete-${Qg++}`,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=ya(t)}set classList(t){t&&t.length&&(t.split(" ").forEach(t=>this._classList[t.trim()]=!0),this._elementRef.nativeElement.className="")}ngAfterContentInit(){this._keyManager=new Hu(this.options).withWrap(),this._setVisibility()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._classList["mat-autocomplete-visible"]=this.showPanel,this._classList["mat-autocomplete-hidden"]=!this.showPanel,this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new Xg(this,t);this.optionSelected.emit(e)}}const ny=48,iy=256,sy=new rt("mat-autocomplete-scroll-strategy");function oy(t){return()=>t.scrollStrategies.reposition()}class ry{constructor(t,e,n,i,s,o,r,a,l,h){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=s,this._scrollStrategy=o,this._dir=r,this._formField=a,this._document=l,this._viewportRuler=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=f.EMPTY,this._closeKeyEventStream=new S,this._onChange=(()=>{}),this._onTouched=(()=>{}),this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=function(t){return new x(e=>{let n;try{n=t()}catch(t){return void e.error(t)}return(n?G(n):Xl()).subscribe(e)})}(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.asObservable().pipe(Th(1),Tp(()=>this.optionSelections)))}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=ya(t)}ngOnDestroy(){this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(vh(()=>this._overlayAttached)),this._closeKeyEventStream,this._outsideClickStream,this._overlayRef?this._overlayRef.detachments().pipe(vh(()=>this._overlayAttached)):Jl()).pipe(j(t=>t instanceof Ad?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}get _outsideClickStream(){return this._document?Q(lh(this._document,"click"),lh(this._document,"touchend")).pipe(vh(t=>{const e=t.target,n=this._formField?this._formField._elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)})):Jl(null)}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e===Ca&&t.preventDefault(),this.panelOpen&&(e===Ca||e===Sa&&t.altKey))this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation();else if(this.activeOption&&e===Ea&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=e===Sa||e===Ia;this.panelOpen||e===xa?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption()}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&document.activeElement===t.target&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this.openPanel())}_handleFocus(){this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0))}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_scrollToOption(){const t=this.autocomplete._keyManager.activeItemIndex||0,e=function(t,e,n,i){const s=t*e;return s<n?s:s+e>n+iy?Math.max(0,s-iy+e):n}(t+function(t,e,n){if(n.length){let i=e.toArray(),s=n.toArray(),o=0;for(let e=0;e<t+1;e++)i[e].group&&i[e].group===s[o]&&o++;return o}return 0}(t,this.autocomplete.options,this.autocomplete.optionGroups),ny,this.autocomplete._getScrollTop());this.autocomplete._setScrollTop(e)}_subscribeToClosingActions(){return Q(this._zone.onStable.asObservable().pipe(Th(1)),this.autocomplete.options.changes.pipe(Iu(()=>this._positionStrategy.reapplyLastPosition()),qg(0))).pipe(Tp(()=>(this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&this._overlayRef.updatePosition(),this.panelClosingActions)),Th(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!=t&&e.selected&&e.deselect()})}_attachOverlay(){if(!this.autocomplete)throw Error("Attempting to open an undefined instance of `mat-autocomplete`. Make sure that the id passed to the `matAutocomplete` is correct and that you're attempting to open it after the ngAfterContentInit hook.");this._overlayRef?this._overlayRef.updateSize({width:this._getPanelWidth()}):(this._portal=new Oh(this.autocomplete.template,this._viewContainerRef),this._overlayRef=this._overlay.create(this._getOverlayConfig()),this._viewportRuler&&(this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&this._overlayRef&&this._overlayRef.updateSize({width:this._getPanelWidth()})}))),this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const t=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&t!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new Vh({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir})}_getOverlayPosition(){return this._positionStrategy=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]),this._positionStrategy}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption?0:-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}}class ay{}let ly=0;const hy={},uy={setImmediate(t){const e=ly++;return hy[e]=t,e},clearImmediate(t){delete hy[t]}},cy=new class extends dh{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,s=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i<s&&(t=e.shift()));if(this.active=!1,n){for(;++i<s&&(t=e.shift());)t.unsubscribe();throw n}}}(class extends uh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=uy.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(uy.clearImmediate(e),t.scheduled=void 0)}}),dy=new rt("MAT_MENU_PANEL"),py=gd(fd(class{}));class my extends py{constructor(t,e,n,i){super(),this._elementRef=t,this._focusMonitor=n,this._parentMenu=i,this._hovered=new S,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.monitor(this._getHostElement(),!1),i&&i.addItem&&i.addItem(this),this._document=e}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._getHostElement()),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3;let n="";if(t.childNodes){const i=t.childNodes.length;for(let s=0;s<i;s++)t.childNodes[s].nodeType===e&&(n+=t.childNodes[s].textContent)}return n.trim()}}const fy=new rt("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!0,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}}),_y=2;class gy{constructor(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new S,this._tabSubscription=f.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new S,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new on,this.close=this.closed}get xPosition(){return this._xPosition}set xPosition(t){"before"!==t&&"after"!==t&&function(){throw Error('x-position value must be either \'before\' or after\'.\n Example: <mat-menu x-position="before" #menu="matMenu"></mat-menu>')}(),this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: <mat-menu y-position="above" #menu="matMenu"></mat-menu>')}(),this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=ya(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=ya(t)}set panelClass(t){t&&t.length&&(this._classList=t.split(" ").reduce((t,e)=>(t[e]=!0,t),{}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._keyManager=new Zu(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab"))}ngOnDestroy(){this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._itemChanges.pipe(th(this._items),Tp(t=>Q(...t.map(t=>t._hovered))))}_handleKeydown(t){const e=t.keyCode;switch(e){case Ca:this.closed.emit("keydown"),t.stopPropagation();break;case ka:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ta:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Sa&&e!==Ia||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>this._keyManager.setFocusOrigin(t).setFirstItemActive()):this._keyManager.setFocusOrigin(t).setFirstItemActive()}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${_y+t}`,n=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}addItem(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))}removeItem(t){const e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))}setPositionClasses(t=this.xPosition,e=this.yPosition){const n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}}const yy=new rt("mat-menu-scroll-strategy");function vy(t){return()=>t.scrollStrategies.reposition()}const by=8;class wy{constructor(t,e,n,i,s,o,r,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=s,this._menuItemInstance=o,this._dir=r,this._focusMonitor=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=f.EMPTY,this._hoverSubscription=f.EMPTY,this._openedByMouse=!1,this.menuOpened=new on,this.onMenuOpen=this.menuOpened,this.menuClosed=new on,this.onMenuClose=this.menuClosed,o&&(o._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}ngAfterContentInit(){this._checkMenu(),this.menu.close.subscribe(t=>{this._destroyMenu(),"click"!==t&&"tab"!==t||!this._parentMenu||this._parentMenu.closed.emit(t)}),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;const t=this._createOverlay();this._setPosition(t.getConfig().positionStrategy),t.attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof gy&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()}_destroyMenu(){if(!this._overlayRef||!this.menuOpen)return;const t=this.menu;this._closeSubscription.unsubscribe(),this._overlayRef.detach(),t instanceof gy?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(vh(t=>"void"===t.toState),Th(1),ql(t.lazyContent._attached)).subscribe(()=>t.lazyContent.detach(),void 0,()=>{this._resetMenu()}):this._resetMenu()):(this._resetMenu(),t.lazyContent&&t.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_resetMenu(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n <mat-menu #menu="matMenu"></mat-menu>\n <button [matMenuTriggerFor]="menu"></button>')}()}_createOverlay(){if(!this._overlayRef){this._portal=new Oh(this.menu.templateRef,this._viewContainerRef);const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef}_getOverlayConfig(){return new Vh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withTransformOriginOn(".mat-menu-panel"),hasBackdrop:null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,n]="before"===this.menu.xPosition?["end","start"]:["start","end"],[i,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[o,r]=[i,s],[a,l]=[e,n],h=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",n=a="end"===e?"start":"end",h="bottom"===i?by:-by):this.menu.overlapTrigger||(o="top"===i?"bottom":"top",r="top"===s?"bottom":"top"),t.withPositions([{originX:e,originY:o,overlayX:a,overlayY:i,offsetY:h},{originX:n,originY:o,overlayX:l,overlayY:i,offsetY:h},{originX:e,originY:r,overlayX:a,overlayY:s,offsetY:-h},{originX:n,originY:r,overlayX:l,overlayY:s,offsetY:-h}])}_cleanUpSubscriptions(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments();return Q(t,this._parentMenu?this._parentMenu.closed:Jl(),this._parentMenu?this._parentMenu._hovered().pipe(vh(t=>t!==this._menuItemInstance),vh(()=>this._menuOpen)):Jl(),e)}_handleMousedown(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;this.triggersSubmenu()&&(e===Ta&&"ltr"===this.dir||e===ka&&"rtl"===this.dir)&&this.openMenu()}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(vh(t=>t===this._menuItemInstance&&!t.disabled),qg(0,cy)).subscribe(()=>{this._openedByMouse=!0,this.menu instanceof gy&&this.menu._isAnimating?this.menu._animationDone.pipe(Th(1),ql(this._parentMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}}class xy{}let Ey=0;class Cy{constructor(){this.id=`mat-error-${Ey++}`}}class Ly{}function ky(t){return Error(`A hint was already declared for 'align="${t}"'.`)}class Sy{}class Ty{}let Iy=0;const Py=.75,My=5,Dy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ay=new rt("MAT_FORM_FIELD_DEFAULT_OPTIONS");class Oy extends Dy{constructor(t,e,n,i,s,o,r,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=i,this._defaultOptions=s,this._platform=o,this._ngZone=r,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId=`mat-hint-${Iy++}`,this._labelId=`mat-form-field-label-${Iy++}`,this._outlineGapWidth=0,this._outlineGapStart=0,this._initialGapCalculated=!1,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto",this._animationsEnabled="NoopAnimations"!==a}get appearance(){return this._appearance||this._defaultOptions&&this._defaultOptions.appearance||"legacy"}set appearance(t){t!==this._appearance&&"outline"===t&&(this._initialGapCalculated=!1),this._appearance=t}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=ya(t)}get _shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}get _canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${this._control.controlType}`),this._control.stateChanges.pipe(th(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),Q(this._control.ngControl&&this._control.ngControl.valueChanges||Ql,this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>this._changeDetectorRef.markForCheck()),this._hintChildren.changes.pipe(th(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(th(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()})}ngAfterContentChecked(){this._validateControlChild(),this._initialGapCalculated||(this._ngZone?this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.updateOutlineGap())}):Promise.resolve().then(()=>this.updateOutlineGap()))}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!!this._labelChild}_shouldLabelFloat(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,lh(this._label.nativeElement,"transitionend").pipe(Th(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){if(this._hintChildren){let t,e;this._hintChildren.forEach(n=>{if("start"===n.align){if(t||this.hintLabel)throw ky("start");t=n}else if("end"===n.align){if(e)throw ky("end");e=n}})}}_syncDescribedByIds(){if(this._control){let t=[];if("hint"===this._getDisplayedMessages()){let e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")}updateOutlineGap(){if("outline"===this.appearance&&this._label&&this._label.nativeElement.children.length){if(this._platform&&!this._platform.isBrowser)return void(this._initialGapCalculated=!0);if(!document.documentElement.contains(this._elementRef.nativeElement))return;const t=this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect()),e=this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());let n=0;for(const i of this._label.nativeElement.children)n+=i.offsetWidth;this._outlineGapStart=e-t-My,this._outlineGapWidth=n*Py+2*My}else this._outlineGapStart=0,this._outlineGapWidth=0;this._initialGapCalculated=!0,this._changeDetectorRef.markForCheck()}_getStartEnd(t){return this._dir&&"rtl"===this._dir.value?t.right:t.left}}class Ry{}const Ny=!!Bl()&&{passive:!0};class Fy{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Ql;const e=this._monitoredElements.get(t);if(e)return e.subject.asObservable();const n=new S,i="cdk-text-field-autofilled",s=e=>{"cdk-text-field-autofill-start"!==e.animationName||t.classList.contains(i)?"cdk-text-field-autofill-end"===e.animationName&&t.classList.contains(i)&&(t.classList.remove(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!1}))):(t.classList.add(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,Ny),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:n,unlisten:()=>{t.removeEventListener("animationstart",s,Ny)}}),n.asObservable()}stopMonitoring(t){const e=this._monitoredElements.get(t);e&&(e.unlisten(),e.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}Fy.ngInjectableDef=ot({factory:function(){return new Fy(te(Fl),te(rn))},token:Fy,providedIn:"root"});class zy{}const Vy=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let By=0;const jy=function(t){return class extends class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}}{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new S}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}();class Hy extends jy{constructor(t,e,n,i,s,o,r,a,l){super(o,i,s,n),this._elementRef=t,this._platform=e,this.ngControl=n,this._autofillMonitor=a,this._uid=`mat-input-${By++}`,this._isServer=!1,this.focused=!1,this.stateChanges=new S,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>Hl().has(t)),this._inputValueAccessor=r||this._elementRef.nativeElement,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{let e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=ya(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=ya(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Hl().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=ya(t)}ngOnInit(){this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()}focus(){this._elementRef.nativeElement.focus()}_focusChanged(t){t===this.focused||this.readonly||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){if(Vy.indexOf(this._type)>-1)throw function(t){return Error(`Input type "${t}" isn't supported by matInput.`)}(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}_isTextarea(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){return this.focused||!this.empty}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus()}}class Zy{}const Uy=100,Gy=10,$y=_d(class{constructor(t){this._elementRef=t}},"primary"),qy=new rt("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:Uy}}}),Wy="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class Ky extends $y{constructor(t,e,n,i,s){super(t),this._elementRef=t,this._document=n,this.animationMode=i,this.defaults=s,this._value=0,this._fallbackAnimation=!1,this._noopAnimations="NoopAnimations"===this.animationMode&&!!this.defaults&&!this.defaults._forceAnimations,this._diameter=Uy,this.mode="determinate",this._fallbackAnimation=e.EDGE||e.TRIDENT,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth)),t.nativeElement.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}get diameter(){return this._diameter}set diameter(t){this._diameter=va(t),this._fallbackAnimation||Ky.diameters.has(this._diameter)||this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=va(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,va(t)))}get _circleRadius(){return(this.diameter-Gy)/2}get _viewBox(){const t=2*this._circleRadius+this.strokeWidth;return`0 0 ${t} ${t}`}get _strokeCircumference(){return 2*Math.PI*this._circleRadius}get _strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null}get _circleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){let t=Ky.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),Ky.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),Ky.diameters.add(this.diameter)}_getAnimationText(){return Wy.replace(/START_VALUE/g,`${.95*this._strokeCircumference}`).replace(/END_VALUE/g,`${.2*this._strokeCircumference}`).replace(/DIAMETER/g,`${this.diameter}`)}}Ky.diameters=new Set([Uy]),Ky.styleTag=null;class Yy extends Ky{constructor(t,e,n,i,s){super(t,e,n,i,s),this.mode="indeterminate"}}class Qy{}const Xy=new rt("mat-chips-default-options");class Jy{}class tv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new ev(t,this.selector,this.caught))}}class ev extends B{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle(),this.add(V(this,e))}}}class nv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new iv(t,this.callback))}}class iv extends y{constructor(t,e){super(t),this.add(new f(e))}}function sv(t){return Error(`Unable to find icon with the name "${t}"`)}function ov(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL "+`via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rv(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by "+`Angular's DomSanitizer. Attempted literal was "${t}".`)}class av{constructor(t){t.nodeName?this.svgElement=t:this.url=t}}class lv{constructor(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e){return this.addSvgIconInNamespace("",t,e)}addSvgIconLiteral(t,e){return this.addSvgIconLiteralInNamespace("",t,e)}addSvgIconInNamespace(t,e,n){return this._addSvgIconConfig(t,e,new av(n))}addSvgIconLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(Oi.HTML,n);if(!i)throw rv(n);const s=this._createSvgElementForSingleIcon(i);return this._addSvgIconConfig(t,e,new av(s))}addSvgIconSet(t){return this.addSvgIconSetInNamespace("",t)}addSvgIconSetLiteral(t){return this.addSvgIconSetLiteralInNamespace("",t)}addSvgIconSetInNamespace(t,e){return this._addSvgIconSetConfig(t,new av(e))}addSvgIconSetLiteralInNamespace(t,e){const n=this._sanitizer.sanitize(Oi.HTML,e);if(!n)throw rv(e);const i=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new av(i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._cachedIconsByUrl.get(e);return n?Jl(hv(n)):this._loadSvgIconFromConfig(new av(t)).pipe(Iu(t=>this._cachedIconsByUrl.set(e,t)),j(t=>hv(t)))}getNamedSvgIcon(t,e=""){const n=uv(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);const s=this._iconSetConfigs.get(e);return s?this._getSvgFromIconSetConfigs(t,s):Ug(sv(n))}_getSvgFromConfig(t){return t.svgElement?Jl(hv(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Iu(e=>t.svgElement=e),j(t=>hv(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Jl(n):Dp(e.filter(t=>!t.svgElement).map(t=>this._loadSvgIconSetFromConfig(t).pipe(function(t){return function(e){const n=new tv(t),i=e.lift(n);return n.caught=i}}(e=>{const n=this._sanitizer.sanitize(Oi.RESOURCE_URL,t.url);return console.error(`Loading icon set URL: ${n} failed: ${e.message}`),Jl(null)})))).pipe(j(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw sv(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgElement){const e=this._extractSvgIconFromSet(i.svgElement,t);if(e)return e}}return null}_loadSvgIconFromConfig(t){return this._fetchUrl(t.url).pipe(j(t=>this._createSvgElementForSingleIcon(t)))}_loadSvgIconSetFromConfig(t){return t.svgElement?Jl(t.svgElement):this._fetchUrl(t.url).pipe(j(e=>(t.svgElement||(t.svgElement=this._svgElementFromString(e)),t.svgElement)))}_createSvgElementForSingleIcon(t){const e=this._svgElementFromString(t);return this._setSvgAttributes(e),e}_extractSvgIconFromSet(t,e){const n=t.querySelector("#"+e);if(!n)return null;const i=n.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i));const s=this._svgElementFromString("<svg></svg>");return s.appendChild(i),this._setSvgAttributes(s)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString("<svg></svg>");for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),t}_fetchUrl(t){if(!this._httpClient)throw Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.");if(null==t)throw Error(`Cannot fetch icon from URL "${t}".`);const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._inProgressUrlFetches.get(e);if(n)return n;const i=this._httpClient.get(e,{responseType:"text"}).pipe(function(t){return e=>e.lift(new nv(t))}(()=>this._inProgressUrlFetches.delete(e)),st());return this._inProgressUrlFetches.set(e,i),i}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(uv(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}}function hv(t){return t.cloneNode(!0)}function uv(t,e){return t+":"+e}lv.ngInjectableDef=ot({factory:function(){return new lv(te(sp,8),te(td),te(Ol,8))},token:lv,providedIn:"root"});const cv=_d(class{constructor(t){this._elementRef=t}});class dv extends cv{constructor(t,e,n){super(t),this._iconRegistry=e,this._inline=!1,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=ya(t)}get fontSet(){return this._fontSet}set fontSet(t){this._fontSet=this._cleanupFontValue(t)}get fontIcon(){return this._fontIcon}set fontIcon(t){this._fontIcon=this._cleanupFontValue(t)}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnChanges(t){if(t.svgIcon)if(this.svgIcon){const[t,e]=this._splitIconName(this.svgIcon);this._iconRegistry.getNamedSvgIcon(e,t).pipe(Th(1)).subscribe(t=>this._setSvgElement(t),t=>console.log(`Error retrieving icon: ${t.message}`))}else this._clearSvgElement();this._usingFontIcon()&&this._updateFontIconClasses()}ngOnInit(){this._usingFontIcon()&&this._updateFontIconClasses()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n<e.length;n++)e[n].textContent+=" ";this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(;e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||t.removeChild(n)}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();e!=this._previousFontSetClass&&(this._previousFontSetClass&&t.classList.remove(this._previousFontSetClass),e&&t.classList.add(e),this._previousFontSetClass=e),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}}class pv{}const mv="accent",fv="primary",_v=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],gv=_d(fd(gd(class{constructor(t){this._elementRef=t}})));class yv extends gv{constructor(t,e,n,i){super(t),this._platform=e,this._focusMonitor=n,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of _v)this._hasHostAttributes(s)&&t.nativeElement.classList.add(s);this._focusMonitor.monitor(this._elementRef.nativeElement,!0),this.isRoundButton?this.color=mv:this._hasHostAttributes("mat-flat-button")&&(this.color=fv)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}focus(){this._getHostElement().focus()}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}class vv{}class bv{}class wv{}class xv{constructor(t){this._viewContainer=t,xv.mostRecentCellOutlet=this}ngOnDestroy(){xv.mostRecentCellOutlet===this&&(xv.mostRecentCellOutlet=null)}}xv.mostRecentCellOutlet=null;class Ev{}class Cv{}var Lv=Ji({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function kv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Sv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Tv(t){return Go(2,[(t()(),Ts(0,0,null,null,5,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,kv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Sv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,"indeterminate"===e.component.mode),t(e,3,0,!0),t(e,5,0,!1)},function(t,e){var n=e.component;t(e,0,0,n.diameter,n.diameter,n._viewBox)})}var Iv=Ji({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media screen and (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Pv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null],[2,"_mat-animation-noopable",null]],null,null,Av,Dv)),go(1,49152,null,0,Sd,[[2,zg]],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===io(e,1).state,"checked"===io(e,1).state,io(e,1).disabled,"NoopAnimations"===io(e,1)._animationMode)})}function Mv(t){return Go(2,[(t()(),Ss(16777216,null,null,1,null,Pv)),go(1,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(5,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,io(e,5).unbounded)})}var Dv=Ji({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:7px;left:0;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:3px;left:1px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Av(t){return Go(2,[],null,null)}var Ov=Ji({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Rv(t){return Go(2,[Oo(402653184,1,{ripple:0}),(t()(),Ts(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(4,212992,[[1,4]],0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),Ts(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n.isRoundButton||n.isIconButton,io(e,4).unbounded)})}var Nv=Ji({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],data:{}});function Fv(t){return Go(2,[Vo(null,0)],null,null)}var zv=Ji({encapsulation:2,styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none}",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}",".mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],data:{animation:[{type:7,name:"transitionMessages",definitions:[{type:0,name:"enter",styles:{type:6,styles:{opacity:1,transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:[{type:6,styles:{opacity:0,transform:"translateY(-100%)"},offset:null},{type:4,styles:null,timings:"300ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Vv(t){return Go(0,[(t()(),Ts(0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),Ts(1,0,null,null,3,"div",[["class","mat-form-field-outline"]],null,null,null,null,null)),(t()(),Ts(2,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(3,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,3,"div",[["class","mat-form-field-outline mat-form-field-outline-thick"]],null,null,null,null,null)),(t()(),Ts(6,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(7,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(8,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null))],null,function(t,e){var n=e.component;t(e,2,0,n._outlineGapStart),t(e,3,0,n._outlineGapWidth),t(e,6,0,n._outlineGapStart),t(e,7,0,n._outlineGapWidth)})}function Bv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-prefix"]],null,null,null,null,null)),Vo(null,0)],null,null)}function jv(t){return Go(0,[(t()(),Ts(0,0,null,null,2,null,null,null,null,null,null,null)),Vo(null,2),(t()(),Ho(2,null,["",""]))],null,function(t,e){t(e,2,0,e.component._control.placeholder)})}function Hv(t){return Go(0,[Vo(null,3),(t()(),Ss(0,null,null,0))],null,null)}function Zv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"span",[["aria-hidden","true"],["class","mat-placeholder-required mat-form-field-required-marker"]],null,null,null,null,null)),(t()(),Ho(-1,null,["\xa0*"]))],null,null)}function Uv(t){return Go(0,[(t()(),Ts(0,0,[[4,0],["label",1]],null,7,"label",[["class","mat-form-field-label"]],[[8,"id",0],[1,"for",0],[1,"aria-owns",0],[2,"mat-empty",null],[2,"mat-form-field-empty",null],[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,jv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Hv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Zv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,n._hasLabel()),t(e,3,0,!1),t(e,5,0,!0),t(e,7,0,!n.hideRequiredMarker&&n._control.required&&!n._control.disabled)},function(t,e){var n=e.component;t(e,0,0,n._labelId,n._control.id,n._control.id,n._control.empty&&!n._shouldAlwaysFloat,n._control.empty&&!n._shouldAlwaysFloat,"accent"==n.color,"warn"==n.color)})}function Gv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-suffix"]],null,null,null,null,null)),Vo(null,4)],null,null)}function $v(t){return Go(0,[(t()(),Ts(0,0,[[1,0],["underline",1]],null,1,"div",[["class","mat-form-field-underline"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,0,"span",[["class","mat-form-field-ripple"]],[[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,1,0,"accent"==n.color,"warn"==n.color)})}function qv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],[[24,"@transitionMessages",0]],null,null,null,null)),Vo(null,5)],null,function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Wv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-hint"]],[[8,"id",0]],null,null,null,null)),(t()(),Ho(1,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n._hintLabelId),t(e,1,0,n.hintLabel)})}function Kv(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"div",[["class","mat-form-field-hint-wrapper"]],[[24,"@transitionMessages",0]],null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Wv)),go(2,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),Vo(null,6),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-hint-spacer"]],null,null,null,null,null)),Vo(null,7)],function(t,e){t(e,2,0,e.component.hintLabel)},function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Yv(t){return Go(2,[Oo(671088640,1,{underlineRef:0}),Oo(402653184,2,{_connectionContainerRef:0}),Oo(402653184,3,{_inputContainerRef:0}),Oo(671088640,4,{_label:0}),(t()(),Ts(4,0,null,null,20,"div",[["class","mat-form-field-wrapper"]],null,null,null,null,null)),(t()(),Ts(5,0,[[2,0],["connectionContainer",1]],null,11,"div",[["class","mat-form-field-flex"]],null,[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==(s._control.onContainerClick&&s._control.onContainerClick(n))&&i),i},null,null)),(t()(),Ss(16777216,null,null,1,null,Vv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Bv)),go(9,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(10,0,[[3,0],["inputContainer",1]],null,4,"div",[["class","mat-form-field-infix"]],null,null,null,null,null)),Vo(null,1),(t()(),Ts(12,0,null,null,2,"span",[["class","mat-form-field-label-wrapper"]],null,null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Uv)),go(14,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Gv)),go(16,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,$v)),go(18,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(19,0,null,null,5,"div",[["class","mat-form-field-subscript-wrapper"]],null,null,null,null,null)),go(20,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,qv)),go(22,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Kv)),go(24,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){var n=e.component;t(e,7,0,"outline"==n.appearance),t(e,9,0,n._prefixChildren.length),t(e,14,0,n._hasFloatingLabel()),t(e,16,0,n._suffixChildren.length),t(e,18,0,"outline"!=n.appearance),t(e,20,0,n._getDisplayedMessages()),t(e,22,0,"error"),t(e,24,0,"hint")},null)}var Qv=Ji({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media screen and (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}.mat-menu-panel.ng-animating .mat-menu-item-submenu-trigger{pointer-events:none}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:{type:2,steps:[{type:11,selector:".mat-menu-content",animation:{type:6,styles:{opacity:0},offset:null},options:null},{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},timings:"100ms linear"},{type:3,steps:[{type:11,selector:".mat-menu-content",animation:{type:4,styles:{type:6,styles:{opacity:1},offset:null},timings:"400ms cubic-bezier(0.55, 0, 0.55, 0.2)"},options:null},{type:4,styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null}],options:null},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Xv(t){return Go(0,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.start"],[null,"@transformMenu.done"]],function(t,e,n){var i=!0,s=t.component;return"keydown"===e&&(i=!1!==s._handleKeydown(n)&&i),"click"===e&&(i=!1!==s.closed.emit("click")&&i),"@transformMenu.start"===e&&(i=0!=(s._isAnimating=!0)&&i),"@transformMenu.done"===e&&(i=!1!==s._onAnimationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),Ts(2,0,null,null,1,"div",[["class","mat-menu-content"]],null,null,null,null,null)),Vo(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState)})}function Jv(t){return Go(2,[Oo(402653184,1,{templateRef:0}),(t()(),Ss(0,[[1,2]],null,0,null,Xv))],null,null)}var tb=Ji({encapsulation:2,styles:[],data:{}});function eb(t){return Go(2,[Vo(null,0),(t()(),Ts(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(2,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,io(e,2).unbounded)})}var nb=Ji({encapsulation:2,styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}@media screen and (-ms-high-contrast:active){.mat-autocomplete-panel{outline:solid 1px}}"],data:{}});function ib(t){return Go(0,[(t()(),Ts(0,0,[[2,0],["panel",1]],null,2,"div",[["class","mat-autocomplete-panel"],["role","listbox"]],[[8,"id",0]],null,null,null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),Vo(null,0)],function(t,e){t(e,1,0,"mat-autocomplete-panel",e.component._classList)},function(t,e){t(e,0,0,e.component.id)})}function sb(t){return Go(2,[Oo(402653184,1,{template:0}),Oo(671088640,2,{panel:0}),(t()(),Ss(0,[[1,2]],null,0,null,ib))],null,null)}var ob=Ji({encapsulation:2,styles:["[hidden]{display:none!important}#geoloc-map{display:flex;flex-direction:column;min-height:200px}#geoloc-map #geoloc-map-meta{flex:1;padding:15px 15px 0}#geoloc-map #geoloc-map-meta .geolocationInputs{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}#geoloc-map #geoloc-map-meta .geolocationInputs .longitude-input-group{margin-left:5px}#geoloc-map #geoloc-map-draw{position:relative;flex:3}#geoloc-map #httpTasksRunningSpinner{flex:1}button .mini{min-width:0;line-height:30px}.geolocatedPhotoMetadataTable{width:100%}.sub-map-infos{color:#c5c5c5;display:flex;justify-content:space-between;flex-direction:row;padding:5px}.sub-map-infos.has-data{color:#000}.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{display:flex;flex-direction:row;flex-wrap:wrap}@media only screen and (max-width:600px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{margin-left:70px}}@media only screen and (max-width:360px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:37px}.lat-lng-dec-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}.lat-lng-dec-wrapper .latitude-wrapper,.lat-lng-dms-wrapper .latitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:-37px}.lat-lng-dec-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}}"],data:{}});function rb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[7,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function ab(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"osm")))})}function lb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"mapQuest")))})}function hb(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==io(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==io(t,1)._handleKeydown(n)&&i),i},Mv,Iv)),go(1,8568832,[[8,4]],0,Rd,[Mn,Rn,[2,Od],[2,Md]],{value:[0,"value"]},null),(t()(),Ss(16777216,null,0,1,null,ab)),go(3,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,0,1,null,lb)),go(5,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,e.context.$implicit),t(e,3,0,"osm"==n.geolocationProvider),t(e,5,0,"mapQuest"==n.geolocationProvider)},function(t,e){t(e,0,0,io(e,1)._getTabIndex(),io(e,1).selected,io(e,1).multiple,io(e,1).active,io(e,1).id,io(e,1).selected.toString(),io(e,1).disabled.toString(),io(e,1).disabled)})}function ub(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[16,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function cb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[13,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function db(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[23,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function pb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[20,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function mb(t){return Go(0,[(t()(),Ts(0,0,null,null,56,"div",[["class","lat-lng-dec-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,27,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,20,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,10,{_control:0}),Oo(335544320,11,{_placeholderChild:0}),Oo(335544320,12,{_labelChild:0}),Oo(603979776,13,{_errorChildren:1}),Oo(603979776,14,{_hintChildren:1}),Oo(603979776,15,{_prefixChildren:1}),Oo(603979776,16,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","latInput"],["matInput",""],["placeholder","latitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[10,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,ub)),go(26,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,cb)),go(28,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(29,0,null,null,27,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(30,0,null,null,20,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(31,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,17,{_control:0}),Oo(335544320,18,{_placeholderChild:0}),Oo(335544320,19,{_labelChild:0}),Oo(603979776,20,{_errorChildren:1}),Oo(603979776,21,{_hintChildren:1}),Oo(603979776,22,{_prefixChildren:1}),Oo(603979776,23,{_suffixChildren:1}),(t()(),Ts(39,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","lngInput"],["matInput",""],["placeholder","longitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,40)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,40).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,40)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,40)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,44)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,44)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,44)._onInput()&&i),i},null,null)),go(40,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(42,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(44,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(45,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[17,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,db)),go(48,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,pb)),go(50,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(51,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromLatLngCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(52,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(53,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,54).show()&&i),"keydown"===e&&(i=!1!==io(t,54)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,54)._handleTouchend()&&i),i},Fv,Nv)),go(54,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(55,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"latInput"),t(e,22,0,"latitude"),t(e,26,0,n.isLoadingLatitude),t(e,28,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,42,0,"lngInput"),t(e,44,0,"longitude"),t(e,48,0,n.isLoadingLongitude),t(e,50,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,52,0,!n.latlngFormGroup.controls.latInput.valid||!n.latlngFormGroup.controls.lngInput.valid,"primary"),t(e,54,0,"Utiliser ces coordonn\xe9es"),t(e,55,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,30,1,["standard"==io(e,31).appearance,"fill"==io(e,31).appearance,"outline"==io(e,31).appearance,"legacy"==io(e,31).appearance,io(e,31)._control.errorState,io(e,31)._canLabelFloat,io(e,31)._shouldLabelFloat(),io(e,31)._hideControlPlaceholder(),io(e,31)._control.disabled,io(e,31)._control.autofilled,io(e,31)._control.focused,"accent"==io(e,31).color,"warn"==io(e,31).color,io(e,31)._shouldForward("untouched"),io(e,31)._shouldForward("touched"),io(e,31)._shouldForward("pristine"),io(e,31)._shouldForward("dirty"),io(e,31)._shouldForward("valid"),io(e,31)._shouldForward("invalid"),io(e,31)._shouldForward("pending"),!io(e,31)._animationsEnabled]),t(e,39,1,[io(e,44)._isServer,io(e,44).id,io(e,44).placeholder,io(e,44).disabled,io(e,44).required,io(e,44).readonly,io(e,44)._ariaDescribedby||null,io(e,44).errorState,io(e,44).required.toString(),io(e,45).ngClassUntouched,io(e,45).ngClassTouched,io(e,45).ngClassPristine,io(e,45).ngClassDirty,io(e,45).ngClassValid,io(e,45).ngClassInvalid,io(e,45).ngClassPending]),t(e,51,0,io(e,52).disabled||null,"NoopAnimations"===io(e,52)._animationMode),t(e,53,0,io(e,55).inline)})}function fb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[30,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function _b(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[27,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function gb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[37,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function yb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[34,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function vb(t){return Go(0,[(t()(),Ts(0,0,null,null,62,"div",[["class","lat-lng-dms-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,30,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,23,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,24,{_control:0}),Oo(335544320,25,{_placeholderChild:0}),Oo(335544320,26,{_labelChild:0}),Oo(603979776,27,{_errorChildren:1}),Oo(603979776,28,{_hintChildren:1}),Oo(603979776,29,{_prefixChildren:1}),Oo(603979776,30,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLatInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[24,4]],Ly,null,[Hy]),(t()(),Ts(25,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(26,16384,[[29,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["N\xa0"])),(t()(),Ss(16777216,null,4,1,null,fb)),go(29,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,_b)),go(31,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(32,0,null,null,30,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(33,0,null,null,23,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(34,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,31,{_control:0}),Oo(335544320,32,{_placeholderChild:0}),Oo(335544320,33,{_labelChild:0}),Oo(603979776,34,{_errorChildren:1}),Oo(603979776,35,{_hintChildren:1}),Oo(603979776,36,{_prefixChildren:1}),Oo(603979776,37,{_suffixChildren:1}),(t()(),Ts(42,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLngInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,43)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,43).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,43)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,43)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,47)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,47)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,47)._onInput()&&i),i},null,null)),go(43,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(45,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(47,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(48,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[31,4]],Ly,null,[Hy]),(t()(),Ts(50,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(51,16384,[[36,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["E\xa0"])),(t()(),Ss(16777216,null,4,1,null,gb)),go(54,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,yb)),go(56,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(57,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromDmsCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(58,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(59,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,60).show()&&i),"keydown"===e&&(i=!1!==io(t,60)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,60)._handleTouchend()&&i),i},Fv,Nv)),go(60,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(61,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"dmsLatInput"),t(e,22,0,"(deg)\xb0 (min)' (sec)\""),t(e,29,0,n.isLoadingLatitude),t(e,31,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,45,0,"dmsLngInput"),t(e,47,0,"(deg)\xb0 (min)' (sec)\""),t(e,54,0,n.isLoadingLongitude),t(e,56,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,58,0,!n.latlngFormGroup.controls.dmsLatInput.valid||!n.latlngFormGroup.controls.dmsLngInput.valid,"primary"),t(e,60,0,"Utiliser ces coordonn\xe9es"),t(e,61,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,33,1,["standard"==io(e,34).appearance,"fill"==io(e,34).appearance,"outline"==io(e,34).appearance,"legacy"==io(e,34).appearance,io(e,34)._control.errorState,io(e,34)._canLabelFloat,io(e,34)._shouldLabelFloat(),io(e,34)._hideControlPlaceholder(),io(e,34)._control.disabled,io(e,34)._control.autofilled,io(e,34)._control.focused,"accent"==io(e,34).color,"warn"==io(e,34).color,io(e,34)._shouldForward("untouched"),io(e,34)._shouldForward("touched"),io(e,34)._shouldForward("pristine"),io(e,34)._shouldForward("dirty"),io(e,34)._shouldForward("valid"),io(e,34)._shouldForward("invalid"),io(e,34)._shouldForward("pending"),!io(e,34)._animationsEnabled]),t(e,42,1,[io(e,47)._isServer,io(e,47).id,io(e,47).placeholder,io(e,47).disabled,io(e,47).required,io(e,47).readonly,io(e,47)._ariaDescribedby||null,io(e,47).errorState,io(e,47).required.toString(),io(e,48).ngClassUntouched,io(e,48).ngClassTouched,io(e,48).ngClassPristine,io(e,48).ngClassDirty,io(e,48).ngClassValid,io(e,48).ngClassInvalid,io(e,48).ngClassPending]),t(e,57,0,io(e,58).disabled||null,"NoopAnimations"===io(e,58)._animationMode),t(e,59,0,io(e,61).inline)})}function bb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[46,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function wb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[["matSuffix",""]],null,null,null,null,null)),go(1,16384,[[46,4]],0,Ty,[],null,null),(t()(),Ho(-1,null,["m"]))],null,null)}function xb(t){return Go(0,[(t()(),Ts(0,0,null,null,44,"div",[["class","geolocationInputs"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,2).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,2).onReset()&&i),i},null,null)),go(2,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(4,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ss(16777216,null,null,1,null,mb)),go(6,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,vb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(9,0,null,null,10,"mat-menu",[],null,null,null,Jv,Qv)),go(10,1294336,[["menu",4]],2,gy,[Mn,rn,fy],null,null),Oo(603979776,38,{items:1}),Oo(335544320,39,{lazyContent:0}),vo(2048,null,dy,null,[gy]),(t()(),Ts(14,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,15)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,15)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("dms")&&i),i},eb,tb)),go(15,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["Degr\xe9s minutes secondes"])),(t()(),Ts(17,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,18)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,18)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("decimal")&&i),i},eb,tb)),go(18,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["D\xe9cimal"])),(t()(),Ts(20,0,null,null,24,"div",[["class","elevationInput"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,21).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,21).onReset()&&i),i},null,null)),go(21,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(23,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ts(24,0,null,null,20,"mat-form-field",[["class","mat-form-field"],["style","width: 100px;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(25,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,40,{_control:0}),Oo(335544320,41,{_placeholderChild:0}),Oo(335544320,42,{_labelChild:0}),Oo(603979776,43,{_errorChildren:1}),Oo(603979776,44,{_hintChildren:1}),Oo(603979776,45,{_prefixChildren:1}),Oo(603979776,46,{_suffixChildren:1}),(t()(),Ts(33,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","elevationInput"],["matInput",""],["placeholder","altitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,34)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,34).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,34)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,34)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,38)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,38)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,38)._onInput()&&i),i},null,null)),go(34,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(36,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(38,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(39,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[40,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,bb)),go(42,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,4,1,null,wb)),go(44,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.latlngFormGroup),t(e,6,0,"decimal"==n.coordFormat),t(e,8,0,"dms"==n.coordFormat),t(e,10,0),t(e,21,0,n.elevationFormGroup),t(e,36,0,"elevationInput"),t(e,38,0,"altitude"),t(e,42,0,n.isLoadingElevation),t(e,44,0,!n.isLoadingElevation)},function(t,e){t(e,1,0,io(e,4).ngClassUntouched,io(e,4).ngClassTouched,io(e,4).ngClassPristine,io(e,4).ngClassDirty,io(e,4).ngClassValid,io(e,4).ngClassInvalid,io(e,4).ngClassPending),t(e,14,0,io(e,15)._highlighted,io(e,15)._triggersSubmenu,io(e,15)._getTabIndex(),io(e,15).disabled.toString(),io(e,15).disabled||null),t(e,17,0,io(e,18)._highlighted,io(e,18)._triggersSubmenu,io(e,18)._getTabIndex(),io(e,18).disabled.toString(),io(e,18).disabled||null),t(e,20,0,io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending),t(e,24,1,["standard"==io(e,25).appearance,"fill"==io(e,25).appearance,"outline"==io(e,25).appearance,"legacy"==io(e,25).appearance,io(e,25)._control.errorState,io(e,25)._canLabelFloat,io(e,25)._shouldLabelFloat(),io(e,25)._hideControlPlaceholder(),io(e,25)._control.disabled,io(e,25)._control.autofilled,io(e,25)._control.focused,"accent"==io(e,25).color,"warn"==io(e,25).color,io(e,25)._shouldForward("untouched"),io(e,25)._shouldForward("touched"),io(e,25)._shouldForward("pristine"),io(e,25)._shouldForward("dirty"),io(e,25)._shouldForward("valid"),io(e,25)._shouldForward("invalid"),io(e,25)._shouldForward("pending"),!io(e,25)._animationsEnabled]),t(e,33,1,[io(e,38)._isServer,io(e,38).id,io(e,38).placeholder,io(e,38).disabled,io(e,38).required,io(e,38).readonly,io(e,38)._ariaDescribedby||null,io(e,38).errorState,io(e,38).required.toString(),io(e,39).ngClassUntouched,io(e,39).ngClassTouched,io(e,39).ngClassPristine,io(e,39).ngClassDirty,io(e,39).ngClassValid,io(e,39).ngClassInvalid,io(e,39).ngClassPending])})}function Eb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(1,null,["altitude : "," m"]))],null,function(t,e){t(e,1,0,e.component.elevationFormGroup.controls.elevationInput.value)})}function Cb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(-1,null,["altitude : calcul en cours..."]))],null,null)}function Lb(t){return Go(0,[(t()(),Ts(0,0,null,null,10,"div",[["class","sub-map-infos"]],[[2,"has-data",null]],null,null,null,null)),(t()(),Ts(1,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(2,null,["latitude : ",""])),jo(3,2),(t()(),Ts(4,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(5,null,["longitude : ",""])),jo(6,2),(t()(),Ss(16777216,null,null,1,null,Eb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Cb)),go(10,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,8,0,!n.isLoadingElevation),t(e,10,0,n.isLoadingElevation)},function(t,e){var n=e.component;t(e,0,0,""!==n.latlngFormGroup.controls.latInput.value&&""!==n.latlngFormGroup.controls.lngInput.value),t(e,2,0,Yi(e,2,0,t(e,3,0,io(e.parent,1),n.latlngFormGroup.controls.latInput.value,"2.0-6"))),t(e,5,0,Yi(e,5,0,t(e,6,0,io(e.parent,1),n.latlngFormGroup.controls.lngInput.value,"2.0-6")))})}function kb(t){return Go(0,[yo(0,tf,[Qm]),yo(0,Dl,[ri]),(t()(),Ts(2,0,null,null,34,"div",[["id","geoloc-map"]],null,null,null,null,null)),(t()(),Ts(3,0,null,null,29,"div",[["id","geoloc-map-meta"]],null,null,null,null,null)),(t()(),Ts(4,0,null,null,26,"mat-form-field",[["class","mat-form-field"],["style","width: 100%;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(5,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,1,{_control:0}),Oo(335544320,2,{_placeholderChild:0}),Oo(335544320,3,{_labelChild:0}),Oo(603979776,4,{_errorChildren:1}),Oo(603979776,5,{_hintChildren:1}),Oo(603979776,6,{_prefixChildren:1}),Oo(603979776,7,{_suffixChildren:1}),(t()(),Ts(13,16777216,null,1,8,"input",[["aria-label","Trouver un lieu"],["class","mat-input-element mat-form-field-autofill-control"],["matInput",""],["placeholder","Trouver un lieu"]],[[1,"autocomplete",0],[1,"role",0],[1,"aria-autocomplete",0],[1,"aria-activedescendant",0],[1,"aria-expanded",0],[1,"aria-owns",0],[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"focusin"],[null,"blur"],[null,"input"],[null,"keydown"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"focusin"===e&&(i=!1!==io(t,14)._handleFocus()&&i),"blur"===e&&(i=!1!==io(t,14)._onTouched()&&i),"input"===e&&(i=!1!==io(t,14)._handleInput(n)&&i),"keydown"===e&&(i=!1!==io(t,14)._handleKeydown(n)&&i),"input"===e&&(i=!1!==io(t,15)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,15).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,15)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,15)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,19)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,19)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,19)._onInput()&&i),i},null,null)),go(14,147456,null,0,ry,[Mn,ru,On,rn,Rn,sy,[2,Su],[2,Oy],[2,Ol],Lh],{autocomplete:[0,"autocomplete"]},null),go(15,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t,e){return[t,e]},[ry,Up]),go(17,540672,null,0,Pm,[[8,null],[8,null],[6,Hp],[2,Im]],{form:[0,"form"]},null),vo(2048,null,Wp,null,[Pm]),go(19,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(20,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[1,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,rb)),go(23,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(24,0,null,1,6,"mat-autocomplete",[["class","mat-autocomplete"]],null,[[null,"optionSelected"]],function(t,e,n){var i=!0;return"optionSelected"===e&&(i=!1!==t.component.addressSelectedChanged(n)&&i),i},sb,nb)),vo(6144,null,Od,null,[ey]),go(26,1097728,[["auto",4]],2,ey,[Rn,Mn,ty],null,{optionSelected:"optionSelected"}),Oo(603979776,8,{options:1}),Oo(603979776,9,{optionGroups:1}),(t()(),Ss(16777216,null,0,1,null,hb)),go(30,802816,null,0,sl,[On,An,ti],{ngForOf:[0,"ngForOf"]},null),(t()(),Ss(16777216,null,null,1,null,xb)),go(32,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(33,0,null,null,1,"div",[["id","geoloc-map-draw"],["leaflet",""],["style","height: 400px; min-height: 400px;"]],null,[[null,"leafletMapReady"],["window","resize"]],function(t,e,n){var i=!0,s=t.component;return"window:resize"===e&&(i=!1!==io(t,34).onResize()&&i),"leafletMapReady"===e&&(i=!1!==s.onMapReady(n)&&i),i},null,null)),go(34,606208,null,0,jm,[Mn,rn],{options:[0,"options"]},{mapReady:"leafletMapReady"}),(t()(),Ss(16777216,null,null,1,null,Lb)),go(36,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,14,0,io(e,26)),t(e,17,0,n.geoSearchFormGroup.controls.placeInput),t(e,19,0,"Trouver un lieu"),t(e,23,0,n.isLoadingAddress),t(e,30,0,n.geoSearchResults),t(e,32,0,n.showLatLngElevationInputs),t(e,34,0,n.mapOptions),t(e,36,0,!n.showLatLngElevationInputs)},function(t,e){t(e,4,1,["standard"==io(e,5).appearance,"fill"==io(e,5).appearance,"outline"==io(e,5).appearance,"legacy"==io(e,5).appearance,io(e,5)._control.errorState,io(e,5)._canLabelFloat,io(e,5)._shouldLabelFloat(),io(e,5)._hideControlPlaceholder(),io(e,5)._control.disabled,io(e,5)._control.autofilled,io(e,5)._control.focused,"accent"==io(e,5).color,"warn"==io(e,5).color,io(e,5)._shouldForward("untouched"),io(e,5)._shouldForward("touched"),io(e,5)._shouldForward("pristine"),io(e,5)._shouldForward("dirty"),io(e,5)._shouldForward("valid"),io(e,5)._shouldForward("invalid"),io(e,5)._shouldForward("pending"),!io(e,5)._animationsEnabled]),t(e,13,1,[io(e,14).autocompleteAttribute,io(e,14).autocompleteDisabled?null:"combobox",io(e,14).autocompleteDisabled?null:"list",null==io(e,14).activeOption?null:io(e,14).activeOption.id,io(e,14).autocompleteDisabled?null:io(e,14).panelOpen.toString(),io(e,14).autocompleteDisabled||!io(e,14).panelOpen?null:null==io(e,14).autocomplete?null:io(e,14).autocomplete.id,io(e,19)._isServer,io(e,19).id,io(e,19).placeholder,io(e,19).disabled,io(e,19).required,io(e,19).readonly,io(e,19)._ariaDescribedby||null,io(e,19).errorState,io(e,19).required.toString(),io(e,20).ngClassUntouched,io(e,20).ngClassTouched,io(e,20).ngClassPristine,io(e,20).ngClassDirty,io(e,20).ngClassValid,io(e,20).ngClassInvalid,io(e,20).ngClassPending])})}var Sb=Ji({encapsulation:0,styles:[[""]],data:{}});function Tb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"tb-geoloc-map",[],null,[[null,"location"]],function(t,e,n){var i=!0;return"location"===e&&(i=!1!==t.component.newLocation(n)&&i),i},kb,ob)),go(1,245760,null,0,Jm,[Nm,Qm,Xm,rn],{layersToAdd:[0,"layersToAdd"],geolocatedPhotoLatLng:[1,"geolocatedPhotoLatLng"],osmClassFilter:[2,"osmClassFilter"],allowEditDrawnItems:[3,"allowEditDrawnItems"],marker:[4,"marker"],polyline:[5,"polyline"],polygon:[6,"polygon"],latLngInit:[7,"latLngInit"],zoomInit:[8,"zoomInit"],getOsmSimpleLine:[9,"getOsmSimpleLine"],showLatLngElevationInputs:[10,"showLatLngElevationInputs"],elevationProvider:[11,"elevationProvider"],geolocationProvider:[12,"geolocationProvider"],mapQuestApiKey:[13,"mapQuestApiKey"]},{location:"location"})],function(t,e){var n=e.component;t(e,1,1,[n.layers_to_add,n.geolocated_photo_lat_lng,n._osm_class_filters,n.allow_edit_drawn_items,n._marker,n._polyline,n._polygon,n.lat_lng_init,n.zoom_init,n._get_osm_simple_line,n._show_lat_lng_elevation_inputs,n.elevation_provider,n.geolocation_provider,n.map_quest_api_key])},null)}var Ib=$s("app-root",aa,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"app-root",[],null,null,null,Tb,Sb)),go(1,49152,null,0,aa,[],null,null)],null,null)},{layer:"layer",layers_to_add:"layers_to_add",geolocated_photo_lat_lng:"geolocated_photo_lat_lng",osm_class_filter:"osm_class_filter",allow_edit_drawn_items:"allow_edit_drawn_items",marker:"marker",polyline:"polyline",polygon:"polygon",zoom_init:"zoom_init",lat_init:"lat_init",lng_init:"lng_init",lat_lng_init:"lat_lng_init",get_osm_simple_line:"get_osm_simple_line",show_lat_lng_elevation_inputs:"show_lat_lng_elevation_inputs",elevation_provider:"elevation_provider",geolocation_provider:"geolocation_provider",map_quest_api_key:"map_quest_api_key"},{location:"location"},[]),Pb=function(t,e,n){return new class extends Xe{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){!function(){if(pr)return;pr=!0;const t=bn()?{setCurrentNode:Nr,createRootView:fr,createEmbeddedView:gr,createComponentView:yr,createNgModuleRef:vr,overrideProvider:Er,overrideComponentView:Cr,clearOverrides:Lr,checkAndUpdateView:Ir,checkNoChangesView:Pr,destroyView:Mr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:Fr,updateDirectives:zr,updateRenderer:Vr}:{setCurrentNode:()=>{},createRootView:mr,createEmbeddedView:Wo,createComponentView:Yo,createNgModuleRef:ro,overrideProvider:qi,overrideComponentView:qi,clearOverrides:qi,checkAndUpdateView:er,checkNoChangesView:tr,destroyView:rr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:(t,e,n,i)=>t.def.handleEvent(t,e,n,i),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?Sr:Tr,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?Sr:Tr,t)};Zi.setCurrentNode=t.setCurrentNode,Zi.createRootView=t.createRootView,Zi.createEmbeddedView=t.createEmbeddedView,Zi.createComponentView=t.createComponentView,Zi.createNgModuleRef=t.createNgModuleRef,Zi.overrideProvider=t.overrideProvider,Zi.overrideComponentView=t.overrideComponentView,Zi.clearOverrides=t.clearOverrides,Zi.checkAndUpdateView=t.checkAndUpdateView,Zi.checkNoChangesView=t.checkNoChangesView,Zi.destroyView=t.destroyView,Zi.resolveDep=To,Zi.createDebugContext=t.createDebugContext,Zi.handleEvent=t.handleEvent,Zi.updateDirectives=t.updateDirectives,Zi.updateRenderer=t.updateRenderer,Zi.dirtyParentQueries=Ro}();const e=ys(this._ngModuleDefFactory);return Zi.createNgModuleRef(this.moduleType,t||Nt.NULL,this._bootstrapComponents,e)}}(la,[],function(t){return function(t){const e={},n=[];let i=!1;for(let s=0;s<t.length;s++){const o=t[s];o.token===Ie&&(i=!0),1073741824&o.flags&&n.push(o.token),o.index=s,e[Ki(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:i}}([Fs(512,We,Ke,[[8,[Bd,Ib]],[3,We],Qe]),Fs(5120,ri,hi,[[3,ri]]),Fs(4608,Ja,tl,[ri,[2,Xa]]),Fs(4608,He,He,[]),Fs(5120,Oe,Re,[]),Fs(5120,ti,ai,[]),Fs(5120,ei,li,[]),Fs(4608,td,ed,[Ol]),Fs(6144,Ri,null,[td]),Fs(4608,Kc,Yc,[]),Fs(5120,Ec,function(t,e,n,i,s,o){return[new class extends Lc{constructor(t,e){super(t),this.ngZone=e,this.patchEvent()}patchEvent(){if(!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[Uc]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let i=n;if(!t[jc]||rn.isInAngularZone()&&!$c(e))t.addEventListener(e,i,!1);else{let n=Zc[e];n||(n=Zc[e]=Bc("ANGULAR"+e+"FALSE"));let s=t[n];const o=s&&s.length>0;s||(s=t[n]=[]);const r=$c(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:r,handler:i});else{let t=!1;for(let e=0;e<s.length;e++)if(s[e].handler===i){t=!0;break}t||s.push({zone:r,handler:i})}o||t[jc](e,qc,!1)}return()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,n){let i=t[Hc];if(!i)return t.removeEventListener.apply(t,[e,n,!1]);let s=Zc[e],o=s&&t[s];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let r=!1;for(let a=0;a<o.length;a++)if(o[a].handler===n){r=!0,o.splice(a,1);break}r?0===o.length&&i.apply(t,[e,qc,!1]):t.removeEventListener.apply(t,[e,n,!1])}}(t,e),new Jc(n),new class extends Lc{constructor(t,e,n){super(t),this._config=e,this.console=n}supports(t){return!(!Wc.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&(this.console.warn(`Hammer.js is not loaded, can not bind '${t}' event.`),1))}addEventListener(t,e,n){const i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(()=>{const s=this._config.buildHammer(t),o=function(t){i.runGuarded(function(){n(t)})};return s.on(e,o),()=>s.off(e,o)})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}(i,s,o)]},[Ol,rn,Ol,Ol,Kc,Be]),Fs(4608,Cc,Cc,[Ec,rn]),Fs(135680,Sc,Sc,[Ol]),Fs(4608,Oc,Oc,[Cc,Sc]),Fs(5120,wf,Rg,[]),Fs(5120,v_,Ng,[]),Fs(4608,ng,Og,[wf,v_]),Fs(5120,Tn,Fg,[Oc,ng,rn]),Fs(6144,kc,null,[Sc]),Fs(4608,pn,pn,[rn]),Fs(4608,fc,fc,[Ol]),Fs(4608,vc,vc,[Ol]),Fs(4608,ha,Lg,[Tn,dc]),Fs(4608,mp,fp,[Ol,ze,dp]),Fs(4608,_p,_p,[mp,pp]),Fs(5120,rp,function(t){return[t]},[_p]),Fs(4608,up,up,[]),Fs(6144,hp,null,[up]),Fs(4608,cp,cp,[hp]),Fs(6144,Zd,null,[cp]),Fs(4608,Hd,gp,[Zd,Nt]),Fs(4608,sp,sp,[Hd]),Fs(4608,ru,ru,[Yh,Xh,We,su,Qh,Nt,rn,Ol,Su]),Fs(5120,au,lu,[ru]),Fs(5120,jg,Hg,[ru]),Fs(4608,yd,yd,[]),Fs(5120,sy,oy,[ru]),Fs(4608,Eu,Eu,[]),Fs(5120,pu,mu,[ru]),Fs(5120,yy,vy,[ru]),Fs(4608,Kp,Kp,[]),Fs(4608,Nm,Nm,[]),Fs(1073742336,Al,Al,[]),Fs(1024,he,hd,[]),Fs(1024,De,function(t){return[function(t){return bc("probe",xc),bc("coreTokens",Object.assign({},wc,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>xc}(t)]},[[2,wn]]),Fs(512,Ae,Ae,[[2,De]]),Fs(131584,kn,kn,[rn,Be,Nt,he,We,Ae]),Fs(1073742336,ui,ui,[kn]),Fs(1073742336,ud,ud,[[3,ud]]),Fs(1073742336,Vg,Vg,[]),Fs(1073742336,yp,yp,[]),Fs(1073742336,vp,vp,[]),Fs(1073742336,Tu,Tu,[]),Fs(1073742336,Fh,Fh,[]),Fs(1073742336,Zl,Zl,[]),Fs(1073742336,kh,kh,[]),Fs(1073742336,hu,hu,[]),Fs(1073742336,md,md,[[2,pd]]),Fs(1073742336,kd,kd,[]),Fs(1073742336,Td,Td,[]),Fs(1073742336,Nd,Nd,[]),Fs(1073742336,Ry,Ry,[]),Fs(1073742336,Zg,Zg,[]),Fs(1073742336,zy,zy,[]),Fs(1073742336,Zy,Zy,[]),Fs(1073742336,ay,ay,[]),Fs(1073742336,Qy,Qy,[]),Fs(1073742336,Lu,Lu,[]),Fs(1073742336,Ju,Ju,[]),Fs(1073742336,yu,yu,[]),Fs(1073742336,Jy,Jy,[]),Fs(1073742336,pv,pv,[]),Fs(1073742336,vv,vv,[]),Fs(1073742336,bv,bv,[]),Fs(1073742336,wv,wv,[]),Fs(1073742336,xy,xy,[]),Fs(1073742336,Ev,Ev,[]),Fs(1073742336,Cv,Cv,[]),Fs(1073742336,Hm,Hm,[]),Fs(1073742336,Zm,Zm,[]),Fs(1073742336,Fm,Fm,[]),Fs(1073742336,zm,zm,[]),Fs(1073742336,Vm,Vm,[]),Fs(1073742336,ef,ef,[]),Fs(1073742336,la,la,[Nt]),Fs(256,Ie,!0,[]),Fs(256,zg,"BrowserAnimations",[]),Fs(256,dp,"XSRF-TOKEN",[]),Fs(256,pp,"X-XSRF-TOKEN",[]),Fs(256,Xy,{separatorKeyCodes:[Ea]},[])])})}();(function(){if(yn)throw new Error("Cannot enable prod mode after platform setup.");gn=!1})(),ld().bootstrapModuleFactory(Pb).catch(t=>console.log(t))}},[[2,0]]]);
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/index.html
New file
0,0 → 1,52
<!doctype html>
<html lang="">
 
<head>
<base href=".">
<meta charset="utf-8">
<title>TB Geolocation</title>
<link rel="stylesheet" href="./styles.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
 
<body>
<script src="./tb-geoloc-lib-app.js"></script>
<tb-geolocation-element
id="tb-geolocation"
layer='opentopomap'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="false"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
<form style="display:inline-flex;flex-direction:row;margin:5px;padding:5px;justify-content:space-between;width:80%;border:2px solid grey;">
<input id="locality" type="text" placeholder="locality">
<input id="postcode" type="text" placeholder="postcode">
<input id="latitude" type="text" placeholder="latitude">
<input id="longitude" type="text" placeholder="longitude">
<input id="altitude" type="text" placeholder="altitude">
</form>
<script>
var tbGeolocation = document.getElementById('tb-geolocation');
tbGeolocation.addEventListener("location", function(location) {
console.log(location.detail);
document.getElementById('locality').value = location.detail.locality;
document.getElementById('postcode').value = location.detail.osmPostcode;
document.getElementById('latitude').value = location.detail.geometry.coordinates[1];
document.getElementById('longitude').value = location.detail.geometry.coordinates[0];
document.getElementById('altitude').value = location.detail.elevation;
});
</script>
 
</body>
 
</html>
/branches/v3.01-serpe/widget/modules/lg/squelettes/js/tb-geoloc/styles.css
New file
0,0 → 1,0
.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.mat-badge-small .mat-badge-content{outline:solid 1px;border-radius:0}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-accent .mat-badge-content{background:#ffd740;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{color:#fff;background:#673ab7;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary .mat-ripple-element,.mat-icon-button.mat-primary .mat-ripple-element,.mat-stroked-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element,.mat-icon-button.mat-accent .mat-ripple-element,.mat-stroked-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element,.mat-icon-button.mat-warn .mat-ripple-element,.mat-stroked-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#673ab7}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#ffd740}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media screen and (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}@media screen and (-ms-high-contrast:active){.mat-badge-large .mat-badge-content,.mat-badge-medium .mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,215,64,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(0,0,0,.87)}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-toggle-active{color:#673ab7}.mat-datepicker-toggle-active.mat-accent{color:#ffd740}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#673ab7}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#673ab7}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#673ab7}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ffd740}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-list-option.mat-list-item-focus,.mat-list-option:hover,.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#d1c4e9}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline:0;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container a.leaflet-active{outline:orange solid 2px}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:700 16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-.70710678, M22=.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #aaa;color:#fff;font:11px/28px "Helvetica Neue",Arial,Helvetica,sans-serif;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-bottom a,.leaflet-draw-actions-top a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:rgba(0,0,0,.5);border:1px solid transparent;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid rgba(0,0,0,.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,.1);border:4px dashed rgba(254,87,161,.6);border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
/branches/v3.01-serpe/widget/modules/lg/squelettes/arbres.tpl.html
New file
0,0 → 1,427
<form id="form-observation" role="form" autocomplete="on">
<h2><?php echo $observation['titre-obs']; ?></h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map" aria-hidden="true"></i>
<?php echo $observation['lieu-releve']; ?>
</label>
<div class="control-group">
<span id="geoloc-error" class="error hidden"><?php echo $observation['geoloc-erreur']; ?></span>
<div id="geoloc" class="col-sm-8 geoloc">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="true"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
</div>
<div id="geoloc-datas" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control rue" disabled id="rue" name="rue" value="1 Place Georges Frêche"> -->
<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
</div>
</div>
<div class="mt-3">
<label class="col-sm-8" for="commune-nom"><?php echo $observation['nom-commune']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="Montpellier">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="34172"> -->
<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
</div>
</div>
<!-- <input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="43.5984" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="3.896799" style="display:none"> -->
<!-- <input type="text" class="form-control altitude" disabled id="altitude" name="altitude" value="23"> -->
<input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="" style="display:none">
<input type="hidden" class="form-control altitude" disabled id="altitude" name="altitude" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label for="pays"><?php echo $observation['pays']; ?></label>
<div>
<!-- <input type="text" class="form-control pays" disabled id="pays" name="pays" value="France"> -->
<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
 
<div class="col-md-6">
<h3 class="mb-3"><?php echo $observation['titre-info-obs']; ?></h3>
<div id="obs-info" class="text-justify col-sm-8">
<?php echo $observation['obs-info']; ?>
</div>
 
<div class="control-group">
<label for="releve-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $observation['date']; ?>
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
<input type="date" id="releve-date" name="releve-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<div class="">
<label for="commentaires" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
</div>
</div>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<a href="" id="soumettre-releve" class="charger-carto btn btn-primary"><?php echo $general['enregistrer']; ?></a href="">
</div>
</div>
</div>
</div>
</form><!-- fin zone relevé -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
<p><?php echo $observation['alertgk']; ?></p>
</div>
<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertdr-title']; ?></h4>
<p><?php echo $observation['alertdr']; ?></p>
</div>
</div>
 
<div id="zone-arbres" class="bloc-top hidden">
<h2 class="mb-3"><?php echo $arbres['titre']; ?></h2>
<div id="bouton-saisir-lichens" class="btn btn-info hidden m-3" data-load="lichens">
<i class="far fa-snowflake"></i> <?php echo $resume['saisir-lichens']; ?>
</div>
<div class="row">
<div id="bloc-arbres-gauche" class="col-md-6">
<div id="bloc-info-arbres"></div>
<div id="bloc-form-arbres" class="">
<div id="arbres-info" class="text-justify">
<?php echo $arbres['arbres-info']; ?>
</div>
<form id="form-arbre" role="form" autocomplete="off">
<h3 class="mb-3"><?php echo $general['arbre'];?>&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
<input id="referentiel" name="referentiel" value="bdtfx" type="hidden">
<div id="bloc-taxon" class="control-group">
<label for="taxon" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?> (bdtfx)
</label>
<div class="col-sm-8 mb-3">
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $general['espece-title']; ?>" required autocomplete="off">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option class="choisir" hidden value="" selected><?php echo $general['choisir']; ?></option>
<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
<div class="">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map-marked-alt " aria-hidden="true"></i>
<?php echo $arbres['localiser']; ?>
</label>
<div class="control-group">
<div id="geoloc-datas-arbres" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue-arbres"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
</div>
</div>
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label class="" for="latitude-arbres"><?php echo $observation['latitude']; ?></label>
<div class="">
<input type="text" class="form-control latitude-arbres" disabled id="latitude-arbres" name="latitude-arbres" value="">
</div>
</div>
<div class="d-flex flex-column col-sm-4">
<label class="" for="longitude-arbres"><?php echo $observation['longitude']; ?></label>
<div class="">
<input type="text" class="form-control longitude-arbres" disabled id="longitude-arbres" name="longitude-arbres" value="">
</div>
</div>
</div>
<input type="hidden" id="altitude-arbres" name="altitude-arbres" class="" value="" style="display:none">
</div>
<div id="geoloc-arbres" class="col-sm-8"></div>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $arbres['titre-photos']; ?>
</div>
<p id="miniature-arbres-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<form id="form-arbre-fs" role="form" autocomplete="off">
<div class="control-group">
<label for="circonference" class="col-sm-8 obligatoire">
<i class="fa fa-circle-notch" aria-hidden="true"></i>
<?php echo $arbres['circonference'] ;?>
</label>
<div class="col-sm-8 mb-3">
<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['circonference-title'] ;?>" placeholder="<?php echo $arbres['circonference-ph'] ;?>" step="1" min="1" required>
</div>
</div>
 
<div id="face-ombre" class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="far fa-compass" aria-hidden="true"></i>
<?php echo $arbres['face-ombre']; ?>
</div>
<div class="col-sm-8 mb-3 has-tooltip list" data-toggle="tooltip" title="<?php echo $arbres['face-ombre-title']; ?>" required>
<div class="form-check form-check-inline">
<input type="checkbox" id="nord" name="face-ombre" class="nord form-check-input" value="nord">
<label for="nord" class="nord form-check-label"><?php echo $general['nord']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="sud" name="face-ombre" class="sud form-check-input" value="sud">
<label for="sud" class="sud form-check-label"><?php echo $general['sud']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="est" name="face-ombre" class="est form-check-input" value="est">
<label for="est" class="est form-check-label"><?php echo $general['est']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="ouest" name="face-ombre" class="ouest form-check-input" value="ouest">
<label for="ouest" class="ouest form-check-label"><?php echo $general['ouest']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="aucune" name="face-ombre" class="ouest form-check-input" value="aucune">
<label for="aucune" class="aucune form-check-label"><?php echo $general['aucune']; ?></label>
</div>
</div>
</div>
 
<div class="">
<label for="com-arbres" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
</div>
</div>
</form>
 
<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un arbre-->
<div class="col-sm-8 mb-3">
<button id="retour" class="btn btn-info has-tooltip hidden" data-toggle="tooltip" title="<?php echo $resume['retour-title']; ?>">
<i class="fas fa-undo-alt"></i> <?php echo $general['retour']; ?>
</button>
<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="<?php echo $resume['creer-title']; ?>">
<i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?>
</button>
</div>
</div>
</div><!-- fin formulaire arbres -->
<!-- zone résumé obs arbres ( =zone de droite) -->
<div id="boc-arbres-droite" class="col-md-6 mb-3">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="hidden">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin arbres zone résumé obs ( =zone de droite ) -->
</div>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
lichens = null;
releve = null;
// OMG un modèle objet !!
releve = new ReleveLg();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
releve.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
releve.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
releve.tagProjet = "WidgetLg";
// Mots-clés à ajouter aux images
releve.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
releve.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
releve.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + releve.separationTagImg + releve.tagImg" : 'releve.tagImg'; ?>;
// Mots-clés à ajouter aux observations
releve.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
releve.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
releve.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + releve.separationTagObs + releve.tagObs" : 'releve.tagObs'; ?>;
// Précharger le formulaire avec les infos d'une observation
releve.obsId = "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>";
// URL du web service réalisant l'insertion des données dans la base du CEL.
releve.serviceSaisieUrl = "<?php echo $url_ws_lg; ?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
releve.serviceObsUrl = "<?php echo $url_ws_obs; ?>";
// URL du web service permettant de récupérer les images d'une observation.
releve.serviceObsImgs = "<?php echo $url_ws_cel_imgs; ?>";
// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
releve.serviceObsImgUrl = "<?php echo $url_ws_cel_img_url; ?>";
 
// langue
releve.langue = "<?php echo $widget['langue']; ?>";
// Squelette d'URL du web service de l'annuaire.
releve.serviceAnnuaireIdUrl = "<?php echo $url_ws_annuaire; ?>";
// mode : prod / beta / local
releve.mode = "<?php echo $conf_mode; ?>";
// URL de l'icône du chargement en cours d'une image
releve.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
releve.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
releve.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
releve.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
releve.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
releve.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
releve.dureeMessage = 10000;
 
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
releve.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
releve.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
 
// Initialisation du bousin
releve.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/lg/i18n/nl.ini
New file
0,0 → 1,40
[General]
obligatoire = "obligatoire"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec
le <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">réseau Tela Botanica</a>
(<a target=\"_blank\" href=\"https://www.tela-botanica.org/page:licence\">licence CC-BY-SA</a>).
Identifiez-vous bien pour ensuite retrouver et gérer vos données dans votre
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\"> Carnet en ligne</a>.
Créez jusqu'à 10 observations (avec 10Mo max d'images) puis partagez-les avec le bouton 'transmettre'.
Elles apparaissent immédiatement sur les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/flore/france-metropolitaine/\">
cartes et galeries photos </a> du site."
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Waarnemer"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées : prénom et nom."
prenom = "Voornaam"
nom = "Naam"
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
milieu = "Milieu"
date = "Datum waarneming"
referentiel = "Référentiel"
espece = "Algemene soort"
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
/branches/v3.01-serpe/widget/modules/lg/i18n/en.ini
New file
0,0 → 1,125
[General]
titre-page = "Input tool:Lichens GO!"
obligatoire = "required"
choisir = "Choose"
oui = "Yes"
non = "No"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the Tela Botanica network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton= "Inactive help"
contact= "For any questions,"
contact2= "contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
inscription = "Create an account"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
releves-deb = "You have already entered"
releves-fin = "records for <strong>Aupres de mon Arbre</strong>. Thank you!"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
 
 
[Observation]
titre-obs = "Observation"
titre-info-obs = "Informations about the survey"
obs-info = "<p><span class=\"warning\">Warning!></span><br>This information can not be modified after the creation of the survey</p>
<p>To indicate that<span class=\"font-weight-bold\">a survey item or a tree has changed</span> or correct an error, you must duplicate the existing survey.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">See the help</a> for further informations.</p>"
 
lieu-releve = "Location of the survey"
geoloc-title = "Please locate the street of the survey"
releves-exist = "Existing surveys&nbsp;: "
date = "Date"
date-title ="Enter the date of the observation"
commentaires = "comments"
 
[Arbres]
Titre = "Trees from the survey"
referentiel = "Referential"
espece = "Species"
certitude = "Identification"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
milieu = "Environment"
milieu-ph = "wood, field, cliff, ..."
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transko = "An error occurred while transmitting an observation.<br />
You can try to retransmit it by clicking again on the transmit button or delete it and pass on the following.<br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">the error reporting form</a>."
 
/branches/v3.01-serpe/widget/modules/lg/i18n/fr.ini
New file
0,0 → 1,176
[General]
titre-page = "Outil de saisie&nbsp;:<br>Lichens&nbsp;GO!"
obligatoire = "obligatoire"
champ-obligatoire = "Ce champ est obligatoire."
commentaires = "Commentaires"
choisir = "...Choisir..."
arbre = "Arbre"
arbres = "Arbres"
espece = "Espèce"
autre-espece = "Autre espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
certitude = "Certitude"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
oui = "Oui"
non = "Non"
autre = "Autre"
aucune = "Aucune"
nord = "Nord"
sud = "Sud"
est = "Est"
ouest = "Ouest"
numero-arbre = "...Arbre numéro..."
date = "Date"
suivant = "Suivant"
enregistrer = "Enregistrer"
retour = "retour"
retour-title = "Retour à la saisie"
lieu = "Lieu"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau Tela Botanica
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/\#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton= "Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Se connecter"
inscription = "Créer un compte"
oublie = "Mot de pase oublié?"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
releves-deb = "Vous avez déjà saisi "
releves-fin = " relevés pour <span class="font-weight-bold">Lichens Go!</span>. Merci!"
courriel = "Courriel"
courriel-title = "Veuillez saisir votre adresse courriel."
mdp = "Mot de passe"
mdp-title = "Veuillez saisir votre mot de passe"
courriel-input-title = "Saisissez le courriel et le mot de passe avec lesquels vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit, veuillez suivre le lien \"Créer un compte\"."
prenom = "Prénom"
nom = "Nom"
reprendre-releve = "Reprendre un précédent relevé"
ordre-croissant = "Du plus ancien au plus recent"
creer-releve = "Créer un nouveau relevé"
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée à un compte.<br>
Veuillez vous connecter afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre-obs = "Relevé"
titre-info-obs = "Informations sur le relevé"
obs-info = "<p><span class=\"warning\">Attention!</span><br>Ces informations ne sont pas modifiables après la création du relevé</p>
<p>Pour indiquer qu'<span class=\"font-weight-bold\">un élément concernant le relevé ou un arbre a changé</span> ou corriger une erreur, vous devez dupliquer le relevé existant.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">Consultez l'aide</a> pour plus d'infos.</p>"
lieu-releve = "Lieu du relevé"
geoloc-title = "Localisation du relevé"
geoloc-erreur = "Le nom de la rue, ou de la commune, n'ont pas pu être correctement déterminées pour la localisation indiquée.
<br> Veuillez indiquer manuellement le nom de la rue ou/et de la commune."
releves-exist = "Relevés existants&nbsp;: "
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
rue = "Rue"
latitude = "Latitude"
longitude = "Longitude"
nom-commune = "Nom de commune"
altitude = "Altitude"
pays = "Pays"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
alertdr-title = "Information&nbsp;: Relevé dupliqué"
alertdr = "Un releve existe dejà à cette date, pour cette rue.<br>Si vous souhaitez dupliquer le relevé, veuillez actionner le bouton \"Reprendre un précédent relevé\" de la rubique \"observateur\",<br>puis choisir dans le tableau le relevé à dupliquer et entrer la date de votre nouvelle observation"
error-taxon = "Une observation doit comporter au moins une image ou un nom d'espèce"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
 
[Arbres]
titre = "Saisie des Arbres du relevé"
arbres-info = "<p>Vous devez saisir <span class=\"font-weight-bold\">entre 1 et 3 arbres</span></p>"
referentiel = "Référentiel"
localiser = "Localiser l'arbre"
rue-erreur = "La rue sélectionnée pour cet arbre est différente de la rue du relevé"
circonference = "Circonférence"
circonference-title = "Circonférence en cm, à 1m de hauteur"
circonference-ph = "Circonférence (cm)"
face-ombre = "Une ou plusieurs faces sont-elles à l'ombre la plupart du temps? Si oui, notez lesquelles&nbsp;:"
face-ombre-title = "Si vous estimez que le tronc est souvent à l'ombre (à cause de bâtiments ou du feuillage par exemple), notez la ou les faces ombragées."
suivant = "Suivant"
titre-photos = "Photo(s) de cet arbre"
 
[Lichens]
titre = "Saisie des lichens"
arbre-title = "Au pied de quel arbre du relevé ce lichen a-t-il été observé ?"
loc-tronc = "Localisation sur le tronc"
loc-tronc-title = "À partir de la grille d'observation, repérer où sont placés les lichens sur le tronc (bas à 1m du sol). Voir le tutoriel."
titre-photos = "Photo(s) de ce lichen"
alert-img-tax = "Une observation des lichens d'un arbre doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image"
poursuivre-lichens = "Ajouter des lichens"
poursuivre-lichens-title = "Poursuivre la saisie des lichens"
 
[Image]
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes."
ajouter = "Ajouter une image"
photos-title = "Photos au format JPEG, moins de 5Mo chacune."
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Merci pour l'envoi de vos données.<br />
Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br />
Pour toute question n'hésitez pas à nous contacter à l'adresse suivante : apa@tela-botanica.org<br>
Ces données seront utilisées par des chercheurs de Sorbonne Université et du Museum National d'Histoire Naturelle."
transko = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
et transmettre les suivantes.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">le formulaire de signalement d'erreurs</a>."
saisir-lichens = "Saisir les lichens"
/branches/v3.01-serpe/widget/modules/rss2.tpl.xml
New file
0,0 → 1,25
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><?=$titre?></title>
<link><?=$lien_cel?></link>
<atom:link href="<?=$lien_service?>" rel="self" type="application/rss+xml" />
<description><?=$description?></description>
<?php if (isset($items)) : ?>
<?php foreach ($items as $item) : ?>
<item>
<guid><?=$item['guid']?></guid>
<title><?=$item['titre']?></title>
<? if (isset($item['lien'])) : ?>
<link><?=$item['lien']?></link>
<? endif; ?>
<description><?=$item['description_encodee']?></description>
<category><?= $item['categorie'] ?></category>
<pubDate><?=$item['date_maj_RSS']?></pubDate>
</item>
<?php endforeach; ?>
<?php endif; ?>
</channel>
</rss>
/branches/v3.01-serpe/widget/modules/telechargement/Telechargement.php
New file
0,0 → 1,111
<?php
// declare(encoding='UTF-8');
class Telechargement extends WidgetCommun {
 
private $description_url = null;
private $infos_images_url = null;
private $telechargement_url = null;
 
private $id_image = null;
 
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
if (!isset($_GET['id_image']) || !is_numeric($_GET['id_image'])) {
$this->messages[] = "Ce widget nécéssite un identifiant d'image.";
} else {
$this->id_image = $_GET['id_image'];
}
 
if (!empty($this->messages)) {
$contenu = 'Un problème est survenu : '.print_r($this->messages, true);
} else {
$donnees = $this->obtenirDescriptionFormats();
$squelette = dirname(__FILE__).'/squelettes'.'/telechargement.tpl.html';
$donnees['informations_image'] = $this->obtenirInformationsImages();
$donnees['nom_original_fmt'] = $this->formaterNomOriginal($donnees['informations_image']);
$donnees['resolution_originale'] = $this->formaterResolutionOriginale($donnees['informations_image']);
$donnees['auteur_fmt'] = $this->formaterAuteur($donnees['informations_image']);
$donnees['attribution'] = $this->formaterAttribution($donnees['informations_image']);
$donnees['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
$donnees['date_televersement'] = $this->formaterDateTeleversement($donnees['informations_image']);
$donnees['url_image_exemple'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat').'/'.$this->id_image.'?methode=afficher&format=CS';
$donnees['url_image_originale'] = sprintf($this->config['chemins']['celImgUrlTpl'], str_pad($this->id_image, 9, "0", STR_PAD_LEFT).'O');
$donnees['base_url_telechargement'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat').'/'.$this->id_image.'?methode=telecharger&format=%s';
$donnees['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
 
$contenu = $this->traiterSquelettePhp($squelette, $donnees);
}
$this->envoyer($contenu);
}
 
private function formaterNomOriginal($infos_images) {
$nom_original = 'Inconnu.jpg';
if(isset($infos_images['nom_original'])) {
$nom_original = $infos_images['nom_original'].' ';
}
return $nom_original;
}
 
private function formaterAttribution($infos_images) {
$attr = $this->formaterAuteur($infos_images).' [CC BY-SA 2.0 FR], via Tela Botanica';
return $attr;
}
 
private function formaterAuteur($infos_images) {
$auteur_fmt = '';
if (isset($infos_images['pseudo_utilisateur'])) {
$auteur_fmt .= $infos_images['pseudo_utilisateur'].' ';
}
 
if (trim($auteur_fmt) == '') {
$auteur_fmt = 'Auteur inconnu';
}
 
return trim($auteur_fmt);
}
 
private function formaterResolutionOriginale($infos_image) {
$res_fmt = '';
if (isset($infos_image['hauteur']) && isset($infos_image['largeur'])) {
$res_fmt = $infos_image['hauteur'].' x '.$infos_image['largeur'].' px';
} else {
$res_fmt = 'Taille inconnue';
}
return $res_fmt;
}
 
private function formaterDateTeleversement($infos_image) {
$date = 'Date inconnue';
if (isset($infos_image['date_creation'])) {
$date = date('d/m/Y', strtotime($infos_image['date_creation']));
}
return $date;
}
 
private function obtenirDescriptionFormats() {
$this->description_url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat');
$description = json_decode(file_get_contents($this->description_url), true);
 
return $description;
}
 
private function obtenirInformationsImages() {
$this->infos_images_url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImage');
$infos = json_decode(file_get_contents($this->infos_images_url."/image?imgId=".$this->id_image), true);
return $infos;
}
 
public static function obtenirLegendeFormatSimplifiee($format) {
$legende = '';
if (strpos($format, 'CR') !== false) {
$legende = '(Carrée, rognée)';
}
if (strpos($format, 'C') !== false && strpos($format, 'R') === false) {
$legende = '(Carrée)';
}
return $legende;
}
}
Property changes:
Added: svnkit:entry:sha1-checksum
+1cf2d36a44a00cb25dedfb0649397aa96a749e8f
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/telechargement/squelettes/css/telechargement.css
New file
0,0 → 1,55
#zone-appli {
max-width: 735px;
}
 
.image_exemple, #liste_formats, .titre_section {
margin-left: 10px;
}
 
.image_exemple img {
float: left;
width: 300px;
}
 
.image_infos {
float: left;
padding-top: 45px;
max-width: 410px;
}
 
.liste_infos li {
padding-top: 2px;
padding-bottom: 16px;
}
 
hr.nettoyage {
visibility: hidden;
clear: both;
}
 
.champ_selection_texte {
color: #333333;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 13px;
line-height: 18px;
border: none;
margin-bottom: 0;
margin-top: -3px;
}
 
.attribution, .lien_image_originale {
width: auto;
}
 
input#lien_image_originale {
cursor: pointer;
}
 
input#attribution {
cursor: default;
}
 
.sans_padding_bt {
padding-bottom: 0;
padding-top: 0;
}
/branches/v3.01-serpe/widget/modules/telechargement/squelettes/telechargement.tpl.html
New file
0,0 → 1,78
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Téléchargement d'une image du cel</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widget de téléchargement des images du carnet en ligne" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Téléchargement d'une image du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Téléchargez l'image envoyée par <?= $auteur_fmt ?> (Licence CC-BY-SA) dans le format de votre choix" />
<meta property="og:image" content="<?= $url_image_exemple ?>" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- CSS -->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<link href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/css/ui-darkness/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?= $url_base; ?>modules/telechargement/squelettes/css/telechargement.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.js"></script>
<script type="text/javascript" src="<?= $url_base; ?>modules/telechargement/squelettes/js/telechargement.js" ></script>
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<div id="zone-appli" class="container">
<h2 class="titre_section">Téléchargement d'une image</h2>
<div class="image_exemple">
<a href="<?= $url_image_originale ?>" target="_blank"><img src="<?= $url_image_exemple ?>" /></a>
<div class="image_infos">
<ul class="liste_infos">
<li>Titre original : <?= $nom_original_fmt ?></li>
<li>Téléversée par : <?= $auteur_fmt ?></li>
<li>Le : <?= $date_televersement ?></li>
<li>Licence : <a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.0/fr/">CC-BY-SA 2.0 FR</a></li>
<li class="sans_padding_bt">Attribution : <input readonly="readonly" id="attribution" class="champ_selection_texte attribution" value="<?= $attribution ?>">
</li>
<li class="sans_padding_bt">Url : <input readonly="readonly" id="lien_image_originale" class="champ_selection_texte lien_image_originale" value="<?= $url_image_originale ?>"></li>
</ul>
</div>
</div>
<hr class="nettoyage" />
<ul id="liste_formats">
<?php foreach($formats as $format) { ?>
<?php if($format != "O") { ?>
<a href="<?= sprintf($base_url_telechargement, $format); ?>" title="<?= $resolutions[$format]['notes']; ?>">
<?= $resolutions[$format]['hauteur'];?>px <?= Telechargement::obtenirLegendeFormatSimplifiee($format);?></a>
<span class="separation"> | </span>
<?php } else { ?>
<a href="<?= sprintf($base_url_telechargement, $format); ?>" title="<?= $resolutions[$format]['notes']; ?>">
Format original (<?= $resolution_originale; ?>)</a>
<?php } ?>
<?php } ?>
</ul>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/telechargement/squelettes/js/telechargement.js
New file
0,0 → 1,19
$(document).ready(function() {
$(".champ_selection_texte").hover(
function() {
$(this).select();
}, function() {
// rien à faire sur le mouseout
}
);
$(".lien_image_originale").click(
function () {
window.open($(this).val(), '_blank');
}
);
$(".champ_selection_texte").each(function() {
$(this).attr('size', $(this).val().length - 10);
});
});
/branches/v3.01-serpe/widget/modules/carto/config.defaut.ini
New file
0,0 → 1,5
[carto]
; Chemin vers le dossier contenant les fichiers kmz des limites communales
communesKmzChemin = "/home/telabotap/www/commun/google/map/3/kmz/communes/,/home/telabotap/www/commun/google/map/3/kmz/communes_incompletes/"
; Template de l'url où charger les fichiers kml des limites communales.
limitesCommunaleUrlTpl = "https://www.tela-botanica.org/eflore/cel2/widget/modules/carto/squelettes/kml/%s"
/branches/v3.01-serpe/widget/modules/carto/Carto.php
New file
0,0 → 1,203
<?php
// declare(encoding='UTF-8');
/**
* Service fournissant une carte dynamique des obsertions publiques du CEL.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetCarto
*
* Paramètres :
* ===> utilisateur = identifiant
* Affiche seulement les observations d'un utilisateur donné. L'identifiant correspond au courriel de
* l'utilisateur avec lequel il s'est inscrit sur Tela Botanica.
* ===> dept = code_du_département
* Affiche seulement les observations pour le département français métropolitain indiqué. Les codes de département utilisables
* sont : 01 à 19, 2A, 2B et 21 à 95.
* ===> projet = mot-clé
* Affiche seulement les observations pour le projet d'observations indiqué. Dans l'interface du CEL, vous pouvez taguer vos
* observations avec un mot-clé de projet. Si vous voulez regrouper des observations de plusieurs utilisateurs, communiquez un
* mot-clé de projet à vos amis et visualisez les informations ainsi regroupées.
* ===> num_taxon = num_taxon
* Affiche seulement les observations pour la plante indiquée. Le num_taxon correspond au numéro taxonomique de la plante.
* Ce numéro est disponible dans les fiches d'eFlore. Par exemple, pour "Poa bulbosa L." le numéro taxonomique vaut 7080.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Carto extends WidgetCommun {
const DS = DIRECTORY_SEPARATOR;
const SERVICE_CARTO_NOM = 'CelWidgetMap';
const SERVICE_CARTO_ACTION_DEFAUT = 'carte-defaut';
private $carte = null;
private $utilisateur = null;
private $projet = null;
private $dept = null;
private $num_taxon = null;
private $station = null;
private $format = null;// Format des obs pour les stations (tableau/liste)
private $photos = null; // Seulement les obs avec photos ou bien toutes
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
$this->extraireParametres();
$methode = $this->traiterNomMethodeExecuter($this->carte);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
if (is_null($retour)) {
$info = 'Un problème est survenu : '.print_r($this->messages, true);
$this->envoyer($info);
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
$this->envoyer($html);
}
}
public function extraireParametres() {
extract($this->parametres);
$this->carte = (isset($carte) ? $carte : self::SERVICE_CARTO_ACTION_DEFAUT);
$this->utilisateur = (isset($utilisateur) ? $utilisateur : '*');
$this->projet = (isset($projet) ? $projet : '*');
$this->tag = (isset($tag) ? $tag : '*');
$this->tag = (isset($motcle) ? $motcle : $this->tag);
$this->dept = (isset($dept) ? $dept : '*');
$this->commune = (isset($commune) ? $commune : '*');
$this->num_taxon = (isset($num_taxon) ? $num_taxon : '*');
$this->date = (isset($date) ? $date : '*');
$this->taxon = (isset($taxon) ? $taxon : '*');
$this->commentaire = (isset($commentaire) ? $commentaire : null);
$this->station = (isset($station) ? $station : null);
$this->format = (isset($format) ? $format : null);
$this->photos = (isset($photos) ? $photos : null);
$this->start = (isset($start) ? $start : null);
$this->limit = (isset($limit) ? $limit : null);
}
 
/**
* Carte par défaut
*/
public function executerCarteDefaut() {
$widget = null;
$url_stations = $this->contruireUrlServiceCarto('stations');
$url_base = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
 
// Création des infos du widget
$widget['donnees']['url_cel_carto'] = $this->contruireUrlServiceCarto();
$widget['donnees']['url_stations'] = $url_stations;
$widget['donnees']['url_base'] = $url_base;
$widget['donnees']['utilisateur'] = $this->utilisateur;
$widget['donnees']['projet'] = $this->projet;
$widget['donnees']['tag'] = $this->tag;
$widget['donnees']['dept'] = $this->dept;
$widget['donnees']['commune'] = $this->commune;
$widget['donnees']['num_taxon'] = $this->num_taxon;
$widget['donnees']['date'] = $this->date;
$widget['donnees']['taxon'] = $this->taxon;
$widget['donnees']['commentaire'] = $this->commentaire;
$widget['donnees']['photos'] = $this->photos;
$widget['donnees']['url_limites_communales'] = $this->obtenirUrlsLimitesCommunales();
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
$widget['donnees']['cleGoogleMaps'] = $this->config['api']['cleGoogleMapsCarto'];
$widget['squelette'] = 'carte_defaut';
return $widget;
}
private function contruireUrlServiceCarto($action = null) {
// Création url données json
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::SERVICE_CARTO_NOM);
if ($action) {
$url .= "/$action";
$parametres_retenus = array();
$parametres_a_tester = array('station', 'utilisateur', 'projet', 'tag', 'dept', 'commune',
'num_taxon', 'taxon', 'date', 'commentaire',
'start', 'limit', 'photos');
foreach ($parametres_a_tester as $param) {
if (isset($this->$param) && $this->$param != '*') {
$parametres_retenus[$param] = $this->$param;
}
}
if (count($parametres_retenus) > 0) {
$parametres_url = array();
foreach ($parametres_retenus as $cle => $valeur) {
$parametres_url[] = $cle.'='.$valeur;
}
$url .= '?'.implode('&', $parametres_url);
}
}
return $url;
}
private function obtenirUrlsLimitesCommunales() {
$urls = null;
if (isset($this->dept)) {
// si on veut afficher les limites départementales on va compter et chercher les noms de fichiers
$fichiersKml = $this->chercherFichierKml();
if (count($fichiersKml) > 0) {
foreach ($fichiersKml as $kml => $dossier){
$url_limites_communales = sprintf($this->config['carto']['limitesCommunaleUrlTpl'], $dossier, $kml);
$urls[] = $url_limites_communales;
}
}
}
$urls = json_encode($urls);
return $urls;
}
private function chercherFichierKml(){
$fichiers = array();
$chemins = explode(',', $this->config['carto']['communesKmzChemin']);
$departements = explode(',', $this->dept);// plrs code de départements peuvent être demandés séparés par des virgules
$departements_trouves = array();
foreach ($chemins as $dossier_chemin) {
if ($dossier_ressource = opendir($dossier_chemin)) {
while ($element = readdir($dossier_ressource)) {
if ($element != '.' && $element != '..') {
foreach ($departements as $departement) {
$nom_dossier = basename($dossier_chemin);
if (!isset($departements_trouves[$departement]) || $departements_trouves[$departement] == $nom_dossier) {
$dept_protege = preg_quote($departement);
if (!is_dir($dossier_chemin.'/'.$element) && preg_match("/^$dept_protege(?:_[0-9]+|)\.km[lz]$/", $element)) {
$fichiers[$element] = $nom_dossier;
$departements_trouves[$departement] = $nom_dossier;
}
}
}
}
}
closedir($dossier_ressource);
}
}
return $fichiers;
}
/**
* Afficher message d'avertissement.
*/
public function executerAvertissement() {
$widget = null;
 
// Création des infos du widget
$widget['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], '');
$widget['donnees']['url_remarques'] = $this->config['chemins']['widgetRemarquesUrl'];
$widget['squelette'] = 'avertissement';
return $widget;
}
}
?>
/branches/v3.01-serpe/widget/modules/carto/squelettes/obs_tableau.tpl.html
New file
0,0 → 1,35
<div class="info-bulle-contenu">
<div class="onglets">
<ul>
<li class="actif"><span class="onglet">Tableau</span></li>
<li class="inactif"><a class="onglet" onclick="chargerFormatObs('<?=$station_id?>', 'liste');return false;" href="#">Liste</a></li>
</ul>
</div>
<div id="observations">
<table>
<caption><h2><?=count($observations)?> observations pour <?=(isset($commune) ? $commune : '?')?></h2></caption>
<thead>
<tr>
<th>Nom</th><th>Date</th><th>Lieu</th><th>Observateur</th>
</tr>
</thead>
<tbody>
<? foreach ($observations as $obs) : ?>
<tr>
<td>&nbsp;
<? if (isset($obs['nn']) && $obs['nn'] != '' && $obs['nn'] != 0) : ?>
<a href="http://www.tela-botanica.org/bdtfx-nn-<?=$obs['nn']?>" onclick="window.open(this.href); arreter(event); return false; "><?=$obs['nom']?></a>
<? else : ?>
<?=$obs['nom']?>
<? endif; ?>
</td>
<td>&nbsp;<?=$obs['date']?></td>
<td>&nbsp;<?=$obs['lieu']?></td>
<td>&nbsp;<?=$obs['observateur']?></td>
</tr>
<? endforeach; ?>
</tbody>
</table>
<? include(dirname(__FILE__).'/obs_msg_info.tpl.html') ?>
</div>
</div>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/obs_liste.tpl.html
New file
0,0 → 1,43
<div class="info-bulle-contenu">
<div class="onglets">
<ul>
<li class="inactif"><a class="onglet" onclick="chargerFormatObs('<?=$station_id?>', 'tableau');return false;" href="#">Tableau</a></li>
<li class="actif"><span class="onglet">Liste</span></li>
</ul>
</div>
<div id="observations">
<h2><?=count($observations)?> observations pour <?=(isset($commune) ? $commune : '?')?></h2>
<ol>
<? foreach ($observations as $obs) : ?>
<li>
<div>
<? if (isset($images[$obs['id']])) : ?>
<? foreach ($images[$obs['id']] as $num => $urls) : ?>
<div<?=($num == 0) ? ' class="cel-img-principale"': ' class="cel-img-secondaire"'?>>
<a class="cel-img" href="<?=$urls['normale']?>" rel="cel-obs-<?=$obs['id']?>">
<img src="<?=$urls['miniature']?>" alt="Image #<?=$urls['id']?> de l'osbervation #<?=$obs['id']?>" />
</a>
</div>
<? endforeach ?>
<? endif ?>
<dl>
<dt class="champ_nom_latin">Nom</dt>
<dd>&nbsp;
<? if (isset($obs['nn']) && $obs['nn'] != '' && $obs['nn'] != 0) : ?>
<a href="http://www.tela-botanica.org/bdtfx-nn-<?=$obs['nn']?>" onclick="window.open(this.href); arreter(event); return false; "><?=$obs['nom']?></a>
<? else : ?>
<?=$obs['nom']?>
<? endif; ?>
</dd>
<dt>Lieu</dt><dd>&nbsp;<?=$obs['lieu']?></dd>
<dt>Publié par</dt><dd>&nbsp;<?=$obs['observateur']?></dd>
<dt>Le</dt><dd>&nbsp;<?=$obs['date']?></dd>
</dl>
<hr class="nettoyage"/>
</div>
</li>
<? endforeach; ?>
</ol>
<? include(dirname(__FILE__).'/obs_msg_info.tpl.html') ?>
</div>
</div>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/fermeture.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/fermeture.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/ouverture.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/ouverture.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie_decroissant.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie_decroissant.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/information.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/information.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie_croissant.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/carto/squelettes/images/trie_croissant.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/carto/squelettes/obs_msg_info.tpl.html
New file
0,0 → 1,3
<p id="obs-msg-info">
Les observations de cette carte sont regroupées par commune.
</p>
/branches/v3.01-serpe/widget/modules/carto/squelettes/carte_defaut.tpl.html
New file
0,0 → 1,340
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Observations publiques du CEL - Tela Botanica</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, cartographie, CEL" />
<meta name="description" content="Widget de cartographie des observations publiques de plantes saisies dans le Carnet en Ligne (CEL)" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Cartographie des observations publiques du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Représentation cartographique des observations publiques du Carnet en Ligne, par commune" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Javascript : bibliothèques -->
<!-- <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script> -->
<!-- Google Map v3 -->
<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=<?php echo $cleGoogleMaps; ?>&v=3.5&amp;sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/google/map/3/markerclusterer/2.0.1/markerclusterer-2.0.1.pack.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/js/jquery-ui-1.8.15.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/tablesorter/2.0.5/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/pagination/2.2/jquery.pagination.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/messages_fr.js"></script>
<!-- Javascript : données -->
<script src="<?=$url_stations?>" type="text/javascript"></script>
<!-- Javascript : appli carto -->
<script type="text/javascript">
//<![CDATA[
var urlsLimitesCommunales = <?=$url_limites_communales?>;
var nt = '<?=$num_taxon?>';
var filtreCommun =
'&taxon=<?=$taxon?>'+
'&utilisateur=<?=$utilisateur?>'+
'&projet=<?=$projet?>'+
'&tag=<?=$tag?>'+
'&date=<?=$date?>'+
'&dept=<?=$dept?>'+
'&commune=<?=$commune?>'+
'&commentaire=<?=$commentaire?>';
var photos = '<?= ($photos != null) ? $photos : null; ?>';
if(photos != null) {
filtreCommun += '&photos=<?=rawurlencode($photos)?>';
}
var stationsUrl = '<?=$url_cel_carto?>/stations'+'?'+
'num_taxon='+nt+
filtreCommun;
var taxonsUrl = '<?=$url_cel_carto?>/taxons'+'?'+
'num_taxon='+nt+
filtreCommun;
var observationsUrl = '<?=$url_cel_carto?>/observations'+'?'+
'station={stationId}'+
'&num_taxon={nt}'+
filtreCommun;
//]]>
</script>
<script type="text/javascript" src="<?=$url_base?>modules/carto/squelettes/scripts/carto.js"></script>
<!-- CSS -->
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<link rel="stylesheet" href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/css/smoothness/jquery-ui-1.8.15.custom.css" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/carto/squelettes/css/carto.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<div id="zone-titre">
<h1 id="carte-titre">
<span id="logo">
<a href="http://www.tela-botanica.org/site:accueil"
title="Aller à l'accueil de Tela Botanica"
onclick="window.open(this.href); arreter(event); return false;">
<img src="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" alt="TB" />
</a>
</span>
<span id="aucune-obs">Aucune observation</span>
<span id="titre-decompte">
<span id="obs-nbre">&nbsp;</span> observations <?= ($photos != null && $photos == 1) ? 'avec photos' : ''; ?>
<span class="plante-titre">concernant <span class="plantes-nbre">&nbsp;</span> plantes</span> sur
<span id="commune-nbre">&nbsp;</span> communes
</span>
- <a href="http://www.tela-botanica.org/appli:cel" title="Carnet en Ligne" onclick="window.open(this.href); arreter(event); return false;">CEL</a> (<a href="http://www.tela-botanica.org/" onclick="window.open(this.href); arreter(event); return false;">Tela Botanica</a>)
</h1>
<div id="zone-info">
<a href="<?=$url_base?>carto?carte=avertissement" onClick="ouvrirPopUp('<?=$url_base?>carto?carte=avertissement', 'Avertissement'); arreter(event); return false;">
<img src="<?=$url_base?>modules/carto/squelettes/images/information.png"
alt="Avertissements" title="Avertissements &amp; informations" />
</a>
</div>
</div>
<? if ($num_taxon == '*') : ?>
<div id="panneau-lateral">
<div id="pl-ouverture" title="Ouvrir le panneau latéral"><span>Panneau >></span></div>
<div id="pl-fermeture" title="Fermer le panneau latéral"><span><< Fermer [x]</span></div>
<div id="pl-contenu">
<div id="pl-entete">
<h2>Filtre sur <span class="plantes-nbre">&nbsp;</span> plantes</h2>
<p>
Cliquez sur un nom de plante pour filtrer les observations sur la carte.<br />
Pour revenir à l'état initial, cliquez à nouveau sur le nom sélectionné.
</p>
</div>
<div id="pl-corps" onMouseOver="map.setOptions({'scrollwheel':false});" onMouseOut="map.setOptions({'scrollwheel':true});">
<!-- Insertion des lignes à partir du squelette tpl-taxons-liste -->
</div>
</div>
</div>
<? endif ?>
<div id="carte">
</div>
<div id="origine-donnees">
Observations du réseau <a href="http://www.tela-botanica.org/site:botanique"
onClick="ouvrirNouvelleFenetre(this, event)">
Tela Botanica
</a>
- Carte : <a href="http://www.openstreetmap.org/copyright" target="_blank">© les contributeurs d’OpenStreetMap</a>
- Tuiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>
</div>
<!-- +-------------------------------------------------------------------------------------------+ -->
<!-- Blocs chargés à la demande : par défaut avec un style display à none -->
<!-- Squelette du message de chargement des observations -->
<script id="tpl-chargement" type="text/x-jquery-tmpl">
<div id="chargement" style="height:500px;">
<img src="<?=$url_base?>modules/carto/squelettes/images/chargement.gif" alt="Chargement en cours..." />
<p>Chargement des observations en cours...</p>
</div>
</script>
<!-- Squelette du contenu d'une info-bulle observation -->
<script id="tpl-obs" type="text/x-jquery-tmpl">
<div id="info-bulle" style="width:{largeur}px;">
<div id="obs">
<h2><span id="obs-total">&nbsp;</span> observations pour <span id="obs-commune">&nbsp;</span></h2>
<div class="navigation">&nbsp;</div>
<div>
<ul>
<li><a href="#obs-vue-tableau">Tableau</a></li>
<li><a href="#obs-vue-liste">Liste</a></li>
</ul>
</div>
<div id="observations">
<div id="obs-vue-tableau" style="display:none;">
<table id="obs-tableau">
<thead>
<tr>
<th title="Nom scientifique défini par l'utilisateur.">Nom</th>
<th title="Date de l'observation">Date</th>
<th title="Lieu d'observation">Lieu</th>
<th title="Auteur de l'observation">Observateur</th>
</tr>
</thead>
<tbody id="obs-tableau-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-tableau -->
</tbody>
</table>
</div>
<div id="obs-vue-liste" style="display:none;">
<ol id="obs-liste-lignes" class="obs-conteneur">
<!-- Insertion des lignes à partir du squelette tpl-obs-liste -->
</ol>
</div>
</div>
<div class="navigation">&nbsp;</div>
<div id="obs-pieds-page">
<p id="obs-msg-info">Les observations de cette carte sont regroupées par commune.</p>
<p>Id : <span id="obs-station-id">&nbsp;</span></p>
</div>
</div>
</div>
</script>
<!-- Squelette du contenu du tableau des observation -->
<script id="tpl-obs-tableau" type="text/x-jquery-tmpl">
<tr class="cel-obs-${idObs}">
<td>
<span class="nom-sci">&nbsp;
{{if nn != 0}}
<a href="http://www.tela-botanica.org/bdtfx-nn-${nn}"
onclick="window.open(this.href); arreter(event); return false; ">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</td>
<td class="date">{{if date}}${date}{{else}}&nbsp;{{/if}}</td>
<td class="lieu">{{if lieu}}${lieu}{{else}}&nbsp;{{/if}}</td>
<td>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{else}}
${observateur}
{{/if}}
{{else}}
&nbsp;
{{/if}}
</td>
</tr>
</script>
<!-- Squelette du contenu de la liste des observations -->
<script id="tpl-obs-liste" type="text/x-jquery-tmpl">
<li>
<div class="cel-obs-${idObs}">
{{if images}}
{{each(index, img) images}}
<div{{if index == 0}} class="cel-img-principale" {{else}} class="cel-img-secondaire"{{/if}}>
<a class="cel-img"
href="${img.normale}"
title="${nomSci} {{if nn}} [${nn}] {{/if}} par ${observateur} - Publiée le ${datePubli} - GUID : ${img.guid}"
rel="cel-obs-${idObs}">
<img src="${img.miniature}" alt="Image #${img.idImg} de l'osbervation #${nn}" />
</a>
<p id="cel-info-${img.idImg}" class="cel-infos">
<a class="cel-img-titre" href="${urlEflore}"
onclick="window.open(this.href);return false;"
title="Cliquez pour accéder à la fiche eFlore">
<strong>${nomSci} {{if nn}} [nn${nn}] {{/if}}</strong> par <em>${observateur}</em>
</a>
<br />
<span class="cel-img-date">Publiée le ${datePubli}</span>
</p>
</div>
{{/each}}
{{/if}}
<dl>
<dt class="champ-nom-sci">Nom</dt>
<dd title="Nom défini par l'utilisateur{{if nn != 0}}. Cliquez pour accéder à la fiche d'eFlore.{{/if}}">
<span class="nom-sci">&nbsp;
{{if nn != 0}}
<a href="http://www.tela-botanica.org/bdtfx-nn-${nn}"
onclick="window.open(this.href); arreter(event); return false; ">
${nomSci}
</a>
{{else}}
${nomSci}
{{/if}}
</span>
</dd>
<dt title="Lieu d'observation">Lieu</dt><dd class="lieu">&nbsp;${lieu}</dd>
<dt title="Date d'observation">Le</dt><dd class="date">&nbsp;${date}</dd>
<dt title="Auteur de l'observation">Publié par</dt>
<dd>
{{if observateur}}
{{if observateurId}}
<a class="contact obs-${idObs} contributeur-${observateurId}"
href="#form-contact"
title="Contactez ce contributeur">
${observateur}
</a>
{{else}}
${observateur}
{{/if}}
{{else}}
&nbsp;
{{/if}}
</dd>
</dl>
<hr class="nettoyage"/>
</div>
</li>
</script>
<!-- Squelette de la liste des taxons -->
<script id="tpl-taxons-liste" type="text/x-jquery-tmpl">
<ol id="taxons">
{{each(index, taxon) taxons}}
<li id="taxon-${taxon.nt}">
<span class="taxon" title="Numéro taxonomique : ${taxon.nt} - Famille : ${taxon.famille}">
${taxon.nom} <span class="nt" title="Numéro taxonomique">${taxon.nt}</span>
</span>
</li>
{{/each}}
</ol>
</script>
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact" style="display:none;">
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue"></div>
<dl>
<dt><label for="fc_sujet">Sujet</label></dt>
<dd><input id="fc_sujet" name="fc_sujet"/></dd>
<dt><label for="fc_message">Message</label></dt>
<dd><textarea id="fc_message" name="fc_message"></textarea></dd>
<dt><label for="fc_utilisateur_courriel" title="Utilisez le courriel avec lequel vous êtes inscrit à Tela Botanica">Votre courriel</label></dt>
<dd><input id="fc_utilisateur_courriel" name="fc_utilisateur_courriel"/></dd>
</dl>
<p>
<input id="fc_destinataire_id" name="fc_destinataire_id" type="hidden" value="" />
<input id="fc_copies" name="fc_copies" type="hidden" value="eflore_remarques@tela-botanica.org" />
<button id="fc_annuler" type="button">Annuler</button>
&nbsp;
<button id="fc_effacer" type="reset">Effacer</button>
&nbsp;
<input id="fc_envoyer" type="submit" value="Envoyer" />
</p>
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/carto/squelettes/scripts/carto.js
New file
0,0 → 1,767
/*+--------------------------------------------------------------------------------------------------------+*/
// PARAMÊTRES et CONSTANTES
// Mettre à true pour afficher les messages de débogage
var DEBUG = false;
var pointImageUrl = 'http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png';
var pointsOrigine = null;
var boundsOrigine = null;
var markerClusterer = null;
var map = null;
var infoBulle = new google.maps.InfoWindow();
var pointClique = null;
var carteCentre = new google.maps.LatLng(46.4, 3.10);
var carteOptions = {
zoom: 6,
mapTypeId: 'OSM',
mapTypeControlOptions: {
mapTypeIds: ['OSM',
google.maps.MapTypeId.ROADMAP,
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.SATELLITE,
google.maps.MapTypeId.TERRAIN]
},
scaleControl: true,
center: carteCentre
};
var ctaLayer = null;
var osmMapType = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
return "https://osm.tela-botanica.org/tuiles/osmfr/" + // cache de tuiles avec nginx
zoom + "/" + coord.x + "/" + coord.y + ".png";
},
tileSize: new google.maps.Size(256, 256),
isPng: true,
alt: "OpenStreetMap",
name: "OSM",
maxZoom: 19
});
var pagineur = {'limite':50, 'start':0, 'total':0, 'stationId':null, 'format':'tableau'};
var station = {'commune':'', 'obsNbre':0};
var obsStation = new Array();
var obsPage = new Array();
var taxonsCarte = new Array();
/*+--------------------------------------------------------------------------------------------------------+*/
// INITIALISATION DU CODE
 
//Déclenchement d'actions quand JQuery et le document HTML sont OK
$(document).ready(function() {
initialiserWidget();
});
 
function initialiserWidget() {
afficherStats();
definirTailleTitre();
initialiserAffichageCarte();
initialiserAffichagePanneauLateral();
initialiserCarte();
initialiserInfoBulle();
initialiserFormulaireContact();
chargerLimitesCommunales();
rafraichirCarte();
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// AFFICHAGE GÉNÉRAL
 
function afficherStats() {
if (stations.stats.observations > 0) {
// Ajout du nombre de communes où des observations ont eu lieu
$('#commune-nbre').text(stations.stats.communes.formaterNombre());
// Ajout du nombre d'observations
$('#obs-nbre').text(stations.stats.observations.formaterNombre());
// affichage du titre
$('#titre-decompte').show();
$('#aucune-obs').hide();
} else {
// masquage du titre
$('#titre-decompte').hide();
$('#aucune-obs').show();
}
}
 
function definirTailleTitre() {
var largeurViewPort = $(window).width();
var taille = null;
if (largeurViewPort < 400) {
taille = '0.8';
} else if (largeurViewPort >= 400 && largeurViewPort < 800) {
taille = '1.0';
} else if (largeurViewPort >= 800) {
taille = '1.6';
}
$("#carte-titre").css('font-size', taille+'em');
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// CARTE
 
function initialiserAffichageCarte() {
$('#carte').height($(window).height() - 35);
$('#carte').width($(window).width() - 24);
if (nt != '*') {
$('#carte').css('left', 0);
}
}
 
function initialiserCarte() {
map = new google.maps.Map(document.getElementById('carte'), carteOptions);
// Ajout de la couche OSM à la carte
map.mapTypes.set('OSM', osmMapType);
 
// écouteur sur changement de fond
google.maps.event.addListener( map, 'maptypeid_changed', function() {
// licence par défaut
var mention = 'Observations du réseau <a href="https://www.tela-botanica.org/site:botanique" ' +
'onClick="ouvrirNouvelleFenetre(this, event)">' +
'Tela Botanica' +
'</a> ';
if (map.getMapTypeId() == 'OSM') {
// ajout licence OSM
mention += ' - Carte : <a href="http://www.openstreetmap.org/copyright" target="_blank">© les contributeurs d’OpenStreetMap</a>' +
' - Tuiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a>';
}
$('#origine-donnees').html(mention);
});
}
 
 
function chargerLimitesCommunales() {
if (urlsLimitesCommunales != null) {
for (urlId in urlsLimitesCommunales) {
var url = urlsLimitesCommunales[urlId];
ctaLayer = new google.maps.KmlLayer(url, {preserveViewport: true});
ctaLayer.setMap(map);
}
}
}
 
function rafraichirCarte() {
var points = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < stations.stats.communes; ++i) {
var maLatLng = new google.maps.LatLng(stations.points[i].latitude, stations.points[i].longitude);
var pointImage = new google.maps.MarkerImage(pointImageUrl, new google.maps.Size(24, 32));
var point = new google.maps.Marker({
position: maLatLng,
map: map,
icon: pointImage,
stationId: stations.points[i].id
});
 
bounds.extend(maLatLng);
google.maps.event.addListener(point, 'click', function() {
pointClique = this;
infoBulle.open(map, this);
var limites = map.getBounds();
var centre = limites.getCenter();
var nordEst = limites.getNorthEast();
var centreSudLatLng = new google.maps.LatLng(nordEst.lat(), centre.lng());
map.panTo(centreSudLatLng);
afficherInfoBulle();
chargerObs(0, 0);
});
points.push(point);
}
 
if (pointsOrigine == null && boundsOrigine == null) {
pointsOrigine = points;
boundsOrigine = bounds;
}
executerMarkerClusterer(points, bounds);
}
 
function deplacerCartePointClique() {
map.panTo(pointClique.position);
}
 
function executerMarkerClusterer(points, bounds) {
if (points.length > 0) {
if (markerClusterer) {
markerClusterer.clearMarkers();
}
var options = {
imagePath: 'https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/markerclustererplus/images/m'
};
markerClusterer = new MarkerClusterer(map, points, options);
map.fitBounds(bounds);
}
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
// INFO BULLE
 
function initialiserInfoBulle() {
google.maps.event.addListener(infoBulle, 'domready', initialiserContenuInfoBulle);
google.maps.event.addListener(infoBulle, 'closeclick', deplacerCartePointClique);
}
 
function afficherInfoBulle() {
var obsHtml = $("#tpl-obs").html();
var largeur = definirLargeurInfoBulle();
obsHtml = obsHtml.replace(/\{largeur\}/, largeur);
infoBulle.setContent(obsHtml);
}
 
function definirLargeurInfoBulle() {
var largeurViewPort = $(window).width();
var lageurInfoBulle = null;
if (largeurViewPort < 800) {
largeurInfoBulle = 400;
} else if (largeurViewPort >= 800 && largeurViewPort < 1200) {
largeurInfoBulle = 500;
} else if (largeurViewPort >= 1200) {
largeurInfoBulle = 600;
}
return largeurInfoBulle;
}
 
function afficherMessageChargement(element) {
if ($('#chargement').get() == '') {
$('#tpl-chargement').tmpl().appendTo(element);
}
}
 
function supprimerMessageChargement() {
$('#chargement').remove();
}
 
function chargerObs(depart, total) {
if (depart == 0 || depart < total) {
var limite = 300;
if (depart == 0) {
obsStation = new Array();
}
//console.log("Chargement de "+depart+" à "+(depart+limite));
var urlObs = observationsUrl+'&start={start}&limit='+limite;
urlObs = urlObs.replace(/\{stationId\}/g, pointClique.stationId);
urlObs = urlObs.replace(/\{nt\}/g, nt);
urlObs = urlObs.replace(/\{start\}/g, depart);
$.getJSON(urlObs, function(observations){
obsStation = obsStation.concat(observations.observations);
if (depart == 0) {
actualiserInfosStation(observations);
actualiserPagineur();
creerTitreInfoBulle();
}
//console.log("Chargement ok");
chargerObs(depart+limite, station.obsNbre);
});
} else {
if (pagineur.limite < total) {
afficherPagination();
} else {
surClicPagePagination(0, null);
selectionnerOnglet("#obs-vue-"+pagineur.format);
}
}
}
 
function actualiserInfosStation(infos) {
station.commune = infos.commune;
station.obsNbre = infos.total;
}
 
function actualiserPagineur() {
pagineur.stationId = pointClique.stationId;
pagineur.total = station.obsNbre;
//console.log("Total pagineur: "+pagineur.total);
if (pagineur.total > 4) {
pagineur.format = 'tableau';
} else {
pagineur.format = 'liste';
}
}
 
function afficherPagination(observations) {
$(".navigation").pagination(pagineur.total, {
items_per_page:pagineur.limite,
callback:surClicPagePagination,
next_text:'Suivant',
prev_text:'Précédent',
prev_show_always:false,
num_edge_entries:1,
num_display_entries:4,
load_first_page:true
});
}
 
function surClicPagePagination(pageIndex, paginationConteneur) {
var index = pageIndex * pagineur.limite;
var indexMax = index + pagineur.limite;
pagineur.depart = index;
obsPage = new Array();
for(index; index < indexMax; index++) {
obsPage.push(obsStation[index]);
}
supprimerMessageChargement();
mettreAJourObservations();
return false;
}
 
function mettreAJourObservations() {
$("#obs-"+pagineur.format+"-lignes").empty();
$("#obs-vue-"+pagineur.format).css('display', 'block');
$(".obs-conteneur").css('counter-reset', 'item '+pagineur.depart);
$("#tpl-obs-"+pagineur.format).tmpl(obsPage).appendTo("#obs-"+pagineur.format+"-lignes");
// Actualisation de Fancybox
ajouterFomulaireContact("a.contact");
if (pagineur.format == 'liste') {
ajouterGaleriePhoto("a.cel-img");
}
}
 
function creerTitreInfoBulle() {
$("#obs-total").text(station.obsNbre);
$("#obs-commune").text(station.commune);
}
 
function initialiserContenuInfoBulle() {
afficherOnglets();
afficherMessageChargement('#observations');
ajouterTableauTriable("#obs-tableau");
afficherTextStationId();
corrigerLargeurInfoWindow();
}
 
function afficherOnglets() {
var $tabs = $('#obs').tabs();
$('#obs').bind('tabsselect', function(event, ui) {
if (ui.panel.id == 'obs-vue-tableau') {
surClicAffichageTableau();
} else if (ui.panel.id == 'obs-vue-liste') {
surClicAffichageListe();
}
});
$tabs.tabs('select', "#obs-vue-"+pagineur.format);
}
 
function selectionnerOnglet(onglet) {
$('#obs').tabs('select', onglet);
}
 
function afficherTextStationId() {
$('#obs-station-id').text(pointClique.stationId);
}
 
function corrigerLargeurInfoWindow() {
$("#info-bulle").width($("#info-bulle").width() - 17);
}
 
function surClicAffichageTableau(event) {
//console.log('tableau');
pagineur.format = 'tableau';
mettreAJourObservations();
mettreAJourTableauTriable("#obs-tableau");
}
 
function surClicAffichageListe(event) {
//console.log('liste');
pagineur.format = 'liste';
mettreAJourObservations();
ajouterGaleriePhoto("a.cel-img");
}
 
function ajouterTableauTriable(element) {
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// Définition d'un id unique pour ce parsseur
id: 'date_cel',
is: function(s) {
// doit retourner false si le parsseur n'est pas autodétecté
return /^\s*\d{2}[\/-]\d{2}[\/-]\d{4}\s*$/.test(s);
},
format: function(date) {
// Transformation date jj/mm/aaaa en aaaa/mm/jj
date = date.replace(/^\s*(\d{2})[\/-](\d{2})[\/-](\d{4})\s*$/, "$3/$2/$1");
// Remplace la date par un nombre de millisecondes pour trier numériquement
return $.tablesorter.formatFloat(new Date(date).getTime());
},
// set type, either numeric or text
type: 'numeric'
});
$(element).tablesorter({
headers: {
1: {
sorter:'date_cel'
}
}
});
}
 
function mettreAJourTableauTriable(element) {
$(element).trigger('update');
}
 
function ajouterGaleriePhoto(element) {
$(element).fancybox({
transitionIn:'elastic',
transitionOut:'elastic',
speedIn :600,
speedOut:200,
overlayShow:true,
titleShow:true,
titlePosition:'inside',
titleFormat:function (titre, currentArray, currentIndex, currentOpts) {
var motif = /urn:lsid:tela-botanica[.]org:cel:img([0-9]+)$/;
motif.exec(titre);
var id = RegExp.$1;
var info = $('#cel-info-'+id).clone().html();
var tpl =
'<div class="cel-legende">'+
'<p class="cel-legende-vei">'+'Image n°' + (currentIndex + 1) + ' sur ' + currentArray.length +'<\/p>'+
(titre && titre.length ? '<p>'+info+'<\/p>' : '' )+
'<\/div>';
return tpl;
}
}).live('click', function(e) {
if (e.stopPropagation) {
e.stopPropagation();
}
return false;
});
}
 
function ajouterFomulaireContact(element) {
$(element).fancybox({
transitionIn:'elastic',
transitionOut:'elastic',
speedIn :600,
speedOut:200,
scrolling: 'no',
titleShow: false,
onStart: function(selectedArray, selectedIndex, selectedOpts) {
var element = selectedArray[selectedIndex];
 
var motif = / contributeur-([0-9]+)$/;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
//console.log('Destinataire id : '+id);
$("#fc_destinataire_id").attr('value', id);
var motif = / obs-([0-9]+) /;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
//console.log('Obs id : '+id);
chargerInfoObsPourMessage(id);
},
onCleanup: function() {
//console.log('Avant fermeture fancybox');
$("#fc_destinataire_id").attr('value', '');
$("#fc_sujet").attr('value', '');
$("#fc_message").text('');
},
onClosed: function(e) {
//console.log('Fermeture fancybox');
if (e.stopPropagation) {
e.stopPropagation();
}
return false;
}
});
}
 
function chargerInfoObsPourMessage(idObs) {
var nomSci = trim($(".cel-obs-"+idObs+" .nom-sci:eq(0)").text());
var date = trim($(".cel-obs-"+idObs+" .date:eq(0)").text());
var lieu = trim($(".cel-obs-"+idObs+" .lieu:eq(0)").text());
var sujet = "Observation #"+idObs+" de "+nomSci;
var message = "\n\n\n\n\n\n\n\n--\nConcerne l'observation de \""+nomSci+'" du "'+date+'" au lieu "'+lieu+'".';
$("#fc_sujet").attr('value', sujet);
$("#fc_message").text(message);
}
 
function initialiserFormulaireContact() {
//console.log('Initialisation du form contact');
$("#form-contact").validate({
rules: {
fc_sujet : "required",
fc_message : "required",
fc_utilisateur_courriel : {
required : true,
email : true}
}
});
$("#form-contact").bind("submit", envoyerCourriel);
$("#fc_annuler").bind("click", function() {$.fancybox.close();});
}
 
function envoyerCourriel() {
//console.log('Formulaire soumis');
if ($("#form-contact").valid()) {
//console.log('Formulaire valide');
//$.fancybox.showActivity();
var destinataireId = $("#fc_destinataire_id").attr('value');
var urlMessage = "https://www.tela-botanica.org/service:annuaire:Utilisateur/"+destinataireId+"/message"
var erreurMsg = "";
var donnees = new Array();
$.each($(this).serializeArray(), function (index, champ) {
var cle = champ.name;
cle = cle.replace(/^fc_/, '');
if (cle == 'sujet') {
champ.value += " - Carnet en ligne - Tela Botanica";
}
if (cle == 'message') {
champ.value += "\n--\n"+
"Ce message vous est envoyé par l'intermédiaire du widget Cartographique "+
"du Carnet en Ligne du réseau Tela Botanica.\n"+
"https://api.tela-botanica.org/widget:cel:carto";
}
donnees[index] = {'name':cle,'value':champ.value};
});
$.ajax({
type : "POST",
cache : false,
url : urlMessage,
data : donnees,
beforeSend : function() {
$(".msg").remove();
},
success : function(data) {
$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
},
error : function(jqXHR, textStatus, errorThrown) {
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
reponse = jQuery.parseJSON(jqXHR.responseText);
if (reponse != null) {
$.each(reponse, function (cle, valeur) {
erreurMsg += valeur + "\n";
});
}
},
complete : function(jqXHR, textStatus) {
var debugMsg = '';
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
if (debugInfos != null) {
$.each(debugInfos, function (cle, valeur) {
debugMsg += valeur + "\n";
});
}
}
if (erreurMsg != '') {
$("#fc-zone-dialogue").append('<p class="msg">'+
'Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
'Vous pouvez signaler le disfonctionnement à <a href="'+
'mailto:cel@tela-botanica.org'+'?'+
'subject=Disfonctionnement du widget de Cartographie'+
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
'">cel@tela-botanica.org</a>.'+
'</p>');
}
if (DEBUG) {
console.log('Débogage : '+debugMsg);
}
//console.log('Débogage : '+debugMsg);
//console.log('Erreur : '+erreurMsg);
}
});
}
return false;
}
/*+--------------------------------------------------------------------------------------------------------+*/
// PANNEAU LATÉRAL
 
function initialiserAffichagePanneauLateral() {
$('#panneau-lateral').height($(window).height() - 35);
if (nt == '*') {
$('#pl-ouverture').bind('click', afficherPanneauLateral);
$('#pl-fermeture').bind('click', cacherPanneauLateral);
}
chargerTaxons(0, 0);
}
 
function chargerTaxons(depart, total) {
if (depart == 0 || depart < total) {
var limite = 7000;
//console.log("Chargement des taxons de "+depart+" à "+(depart+limite));
var urlTax = taxonsUrl+'&start={start}&limit='+limite;
urlTax = urlTax.replace(/\{start\}/g, depart);
$.getJSON(urlTax, function(infos) {
taxonsCarte = taxonsCarte.concat(infos.taxons);
//console.log("Nbre taxons :"+taxonsCarte.length);
chargerTaxons(depart+limite, infos.total);
});
} else {
if (nt == '*') {
afficherTaxons();
} else {
afficherNomPlante();
}
}
}
 
function afficherTaxons() {
// Ajout du nombre de plantes au titre
$('.plantes-nbre').text(taxonsCarte.length.formaterNombre());
$("#tpl-taxons-liste").tmpl({'taxons':taxonsCarte}).appendTo("#pl-corps");
$('.taxon').live('click', filtrerParTaxon);
}
 
function afficherNomPlante() {
if (nt != '*') {
var taxon = taxonsCarte[0];
$('.plante-titre').text('pour '+taxon.nom);
}
}
 
function afficherPanneauLateral() {
$('#panneau-lateral').width(300);
$('#pl-contenu').css('display', 'block');
$('#pl-ouverture').css('display', 'none');
$('#pl-fermeture').css('display', 'block');
$('#carte').css('left', '300px');
 
google.maps.event.trigger(map, 'resize');
};
 
function cacherPanneauLateral() {
$('#panneau-lateral').width(24);
$('#pl-contenu').css('display', 'none');
$('#pl-ouverture').css('display', 'block');
$('#pl-fermeture').css('display', 'none');
$('#carte').css('left', '24px');
google.maps.event.trigger(map, 'resize');
};
 
function ouvrirPopUp(url, nom) {
window.open(url, nom, 'scrollbars=yes,width=650,height=600,directories=no,location=no,menubar=no,status=no,toolbar=no');
};
 
function filtrerParTaxon() {
var ntAFiltrer = $('.nt', this).text();
infoBulle.close();
$('#taxon-'+nt).removeClass('taxon-actif');
if (nt == ntAFiltrer) {
nt = '*';
executerMarkerClusterer(pointsOrigine, boundsOrigine);
} else {
var url = stationsUrl.replace(/num_taxon=[*0-9]+/, 'num_taxon='+ntAFiltrer)+
'&formatRetour=jsonP'+
'&callback=?';
$.getJSON(url, function (stationsFiltrees) {
stations = stationsFiltrees;
nt = ntAFiltrer;
$('#taxon-'+nt).addClass('taxon-actif');
rafraichirCarte();
});
}
};
 
/*+--------------------------------------------------------------------------------------------------------+*/
// FONCTIONS UTILITAIRES
 
function arreter(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else if (window.event) {
window.event.cancelBubble = true;
}
return false;
}
 
/**
* +-------------------------------------+
* Number.prototype.formaterNombre
* +-------------------------------------+
* Params (facultatifs):
* - Int decimales: nombre de decimales (exemple: 2)
* - String signe: le signe precedent les decimales (exemple: "," ou ".")
* - String separateurMilliers: comme son nom l'indique
* Returns:
* - String chaine formatee
* @author ::mastahbenus::
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> : ajout détection auto entier/flotant
* @souce http://www.javascriptfr.com/codes/FORMATER-NOMBRE-FACON-NUMBER-FORMAT-PHP_40060.aspx
*/
Number.prototype.formaterNombre = function (decimales, signe, separateurMilliers) {
var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
function is_int(nbre) {
nbre = nbre.replace(',', '.');
return !(parseFloat(nbre)-parseInt(nbre) > 0);
}
 
if (decimales == undefined) {
if (is_int(_sNombre)) {
decimales = 0;
} else {
decimales = 2;
}
}
if (signe == undefined) {
if (is_int(_sNombre)) {
signe = '';
} else {
signe = '.';
}
}
if (separateurMilliers == undefined) {
separateurMilliers = ' ';
}
function separeMilliers (sNombre) {
var sRetour = "";
while (sNombre.length % 3 != 0) {
sNombre = "0"+sNombre;
}
for (i = 0; i < sNombre.length; i += 3) {
if (i == sNombre.length-1) separateurMilliers = '';
sRetour += sNombre.substr(i, 3) + separateurMilliers;
}
while (sRetour.substr(0, 1) == "0") {
sRetour = sRetour.substr(1);
}
return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
}
if (_sNombre.indexOf('.') == -1) {
for (i = 0; i < decimales; i++) {
_sDecimales += "0";
}
_sRetour = separeMilliers(_sNombre) + signe + _sDecimales;
} else {
var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
if (sDecimalesTmp.length > decimales) {
var nDecimalesManquantes = sDecimalesTmp.length - decimales;
var nDiv = 1;
for (i = 0; i < nDecimalesManquantes; i++) {
nDiv *= 10;
}
_sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
}
_sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales;
}
return _sRetour;
}
 
function debug(objet) {
var msg = '';
if (objet != null) {
$.each(objet, function (cle, valeur) {
msg += cle+":"+valeur + "\n";
});
} else {
msg = "La variable vaut null.";
}
console.log(msg);
}
 
function trim (chaine) {
return chaine.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
/branches/v3.01-serpe/widget/modules/carto/squelettes/css/carto.css
New file
0,0 → 1,461
@charset "UTF-8";
html {
overflow:hidden;
}
body {
overflow:hidden;
padding:0;
margin:0;
width:100%;
height:100%;
font-family:Arial;
font-size:12px;
}
h1 {
font-size:1.6em;
}
h2 {
font-size:1.4em;
}
a, a:active, a:visited {
border-bottom:1px dotted #666;
color: #AAAAAA;
text-decoration:none;
}
a:active {
outline:none;
}
a:focus {
outline:thin dotted;
}
a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Présentation des listes de définitions */
dl {
width:100%;
margin:0;
}
dt {
float:left;
font-weight:bold;
text-align:top left;
margin-right:0.3em;
line-height:0.8em;
}
dd {
width:auto;
margin:0.5em 0;
line-height:0.8em;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Tableau : */
table {
border:1px solid gray;
border-collapse:collapse;
width:100%;
}
table thead, table tfoot, table tbody {
background-color:Gainsboro;
border:1px solid gray;
}
table tbody {
background-color:#FFF;
}
table th {
font-family:monospace;
border:1px dotted gray;
padding:5px;
background-color:Gainsboro;
}
table td {
font-family:arial;
border:1px dotted gray;
padding:5px;
text-align:left;
}
table caption {
font-family:sans-serif;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Tableau : tablesorter */
th.header {
background:url(../images/trie.png) no-repeat center right;
padding-right:20px;
}
th.headerSortUp {
background:url(../images/trie_croissant.png) no-repeat center right #56B80E;
color:white;
}
th.headerSortDown {
background:url(../images/trie_decroissant.png) no-repeat center right #56B80E;
color:white;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Générique */
.nettoyage{
clear:both;
}
hr.nettoyage{
visibility:hidden;
}
 
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Carte */
#carte {
padding:0;
margin:0;
position:absolute;
top:35px;
left:24px;
right:0;
bottom:0;
overflow:auto;
}
.bouton {
background-color:white;
border:2px solid black;
cursor:pointer;
text-align:center;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Message de chargement */
#chargement {
margin:25px;
text-align:center;
}
#chargement img{
display:block;
margin:auto;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Avertissement */
#zone-avertissement {
background-color:#4A4B4C;
color:#CCC;
padding:12px;
text-align:justify;
line-height:16px;
}
#zone-avertissement h1{
margin:0;
}
#zone-avertissement a {
border-bottom:1px dotted gainsboro;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Carte titre */
#zone-titre {
padding:0;
margin:0;
position:absolute;
top:0;
left:0;
width:100%;
height:35px;
overflow:hidden;
background-color: #DDDDDD;
border-bottom: 1px solid grey;
z-index: 9;
}
#zone-info {
position:absolute;
top:0;
right:8px;
width:48px;
text-align:right;
}
#zone-info img {
display:inline;
padding:4px;
margin:0;
border:none;
}
#carte-titre {
display:inline-block;
margin:0;
padding:0.2em;
color: black;
}
#carte-titre {/*Hack CSS fonctionne seulement dans ie6, 7 & 8 */
display:inline !hackCssIe6Et7;/*Hack CSS pour ie6 & ie7 */
display /*\**/:inline\9;/*Hack CSS pour ie8 */
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Panneau latéral */
#panneau-lateral {
padding:0;
margin:0;
position:absolute;
top:35px;
left:0;
bottom:0;
width:24px;
overflow:hidden;
background-color: #DDDDDD;
border-right: 1px solid grey;
z-index: 10;
}
#pl-contenu {
display:none;
}
#pl-entete {
height:95px;
}
#pl-corps {
position:absolute;
top:105px;
bottom:0;
overflow:auto;
padding:5px;
width:290px;
}
#pl-ouverture, #pl-fermeture {
position:absolute;
top:0;
height:24px;
width:24px;
text-align:center;
cursor:pointer;
}
#pl-ouverture {
left:0;
background:url(../images/ouverture.png) no-repeat top left #DDDDDD;
height:100%;
}
#pl-fermeture {
display:none;
left:276px;
background:url(../images/fermeture.png) no-repeat top right #DDDDDD;
}
#pl-ouverture span, #pl-fermeture span{
display:none;
}
/* Panneau latéral : balises */
#panneau-lateral h2, #panneau-lateral p {
color:black;}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Liste des taxons de la carte */
#taxons {
color:black;
}
#taxons .taxon-actif, #taxons .taxon-actif span {
color:#56B80E;
}
#taxons li span {
border-bottom:1px dotted #666;
color:black;
}
#taxons li span:focus {
outline:thin dotted;
}
#taxons li span:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
cursor:pointer;
}
.nt {
display:none;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Pop-up observations */
#info-bulle{
min-height:300px;
/*width:géstion via le Javascript;*/
}
#observations {
overflow:none;
margin:-1px 0 0 0;
border: 1px solid #AAA;
border-radius:0 0 4px 4px;
}
#obs-pieds-page {
font-size:10px;
color:#CCC;
clear:both;
}
.ui-tabs {
padding:0;
}
.ui-widget-content {
border:0;
}
.ui-widget-header {
background:none;
border:0;
border-bottom:1px solid #AAA;
border-radius:0;
}
.ui-tabs-selected a {
border-bottom:1px solid white;
}
.ui-tabs-selected a:focus {
outline:0;
}
.ui-tabs .ui-tabs-panel {
padding:0.2em;
}
.ui-tabs .ui-tabs-nav li a {
padding: 0.5em 0.6em;
}
#obs h2 {
margin:0;
text-align:center;
}
#observations a {
color:#333;
border-bottom:1px dotted gainsboro;
}
#observations a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
.nom-sci{
color:#454341;
font-weight:bold;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Pop-up observations : liste */
.cel-img-principale {
height:0;/*Pour IE*/
}
.cel-img-principale img{
float:right;
height:75px;
width:75px;
padding:1px;
border:1px solid white;
}
#observations .cel-img:hover img{
border: 1px dotted #56B80E;
}
.cel-img-secondaire, .cel-infos{
display: none;
}
ol#obs-liste-lignes {
padding:5px;
margin:0;
}
.champ-nom-sci {
display:none;
}
#obs-liste-lignes li dl {/*Pour IE*/
width:350px;
}
.obs-conteneur{
counter-reset: item;
}
.obs-conteneur .nom-sci:before {
content: counter(item) ". ";
counter-increment: item;
display:block;
float:left;
}
.obs-conteneur li {
display: block;
margin-bottom:1em;
}
 
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Diaporama */
.cel-legende{
text-align:left;
}
.cel-legende-vei{
float:right;
}
.cel-legende p{
color: black;
font-size: 12px;
line-height: 18px;
margin: 0;
}
.cel-legende a, .cel-legende a:active, .cel-legende a:visited {
border-bottom:1px dotted gainsboro;
color:#333;
text-decoration:none;
background-image:none;
}
.cel-legende a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Plugin Jquery Pagination */
.navigation {
padding:5px;
float:right;
}
.pagination {
font-size: 80%;
}
.pagination a {
text-decoration: none;
border: solid 1px #666;
color: #666;
background:gainsboro;
}
.pagination a:hover {
color: white;
background: #56B80E;
}
.pagination a, .pagination span {
display: block;
float: left;
padding: 0.3em 0.5em;
margin-right: 5px;
margin-bottom: 5px;
min-width:1em;
text-align:center;
}
.pagination .current {
background: #4A4B4C;
color: white;
border: solid 1px gainsboro;
}
.pagination .current.prev, .pagination .current.next{
color: #999;
border-color: #999;
background: gainsboro;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Formulaire de contact */
#form-contact input{
width:300px;
}
#form-contact textarea{
width:300px;
height:200px;
}
#form-contact #fc_envoyer, #fc_annuler, #fc_effacer{
width:75px;
}
#fc_envoyer{
float:right;
}
#fc_annuler{
float:left;
}
#form-contact label.error {
color:red;
font-weight:bold;
}
#form-contact .info {
padding:5px;
background-color: #4A4B4C;
border: solid 1px #666;
color: white;
white-space: pre-wrap;
width: 300px;
}
 
#origine-donnees {
bottom: 5px;
margin-left: 35px;
position: absolute;
}
#origine-donnees a, #origine-donnees a:active, #origine-donnees a:visited {
color: black;
}
/branches/v3.01-serpe/widget/modules/carto/squelettes/avertissement.tpl.html
New file
0,0 → 1,108
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Avertissements - CEL widget cartographie</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Delphine CAUQUIL, Jean-Pascal MILCENT" />
<meta name="keywords" content="Avertissement, Tela Botanica, cartographie, CEL" />
<meta name="description" content="Avertissement du widget de cartographie des observations publiques de plantes saisies dans le Carnet en Ligne (CEL)" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- CSS -->
<link href="<?=$url_base?>modules/carto/squelettes/css/carto.css" rel="stylesheet" type="text/css" media="screen" />
<style>
html {
overflow:auto;
}
body {
overflow:auto;
}
</style>
<!-- Stats : Google Analytics -->
<script type="text/javascript">
//<![CDATA[
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20092557-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
//]]>
</script>
</head>
<body>
<div id="zone-avertissement">
<h1>Avertissements &amp; informations</h1>
<h2>C'est quoi ces chiffres sur la carte ?</h2>
<p>
Afin de ne pas divulguer la localisation des stations d'espèces rares ou protégées, l'ensemble des observations
a été regroupé par commune.<br />
Ainsi les nombres apparaissant sur la carte représentent le nombre de communes où des observations ont été
réalisées.<br />
Ce nombre varie en fonction du niveau de zoom auquel vous vous trouvez, jusqu'à faire apparaître l'icône
<img src="https://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png" alt="Icône de regroupement des observations" />.
Il indique le centre d'une commune et permet en cliquant dessus d'afficher l'ensemble des observations que l'on
peut y trouver.
</p>
<h2>Avertissements</h2>
<p>
Les observations affichées sur cette carte proviennent des saisies des membres du réseau Tela Botanica réalisées à l'aide
de l'application <a href="http://www.tela-botanica.org/appli:cel" onclick="window.open(this.href); return false;">Carnet en Ligne (CEL)</a>.<br />
Bien que la plupart des botanistes cherchent à déterminer avec un maximum de rigueur les espèces qu'ils observent, il arrive que des erreurs soient faites.<br />
Il est donc important de garder un esprit critique vis à vis des observations diffusées sur cette carte.<br />
Nous souhaitons prochainement ajouter à cette application cartographique un moyen de contacter les auteurs des observations.
Cette fonctionnalité permettra de faciliter la correction d'eventuelles erreurs.<br />
Pour l'instant, si vous constatez des problèmes,
<a href="<?= $url_remarques ?>?service=cel&pageSource=http%3A%2F%2Fwww.tela-botanica.org%2Fwidget%3Acel%3Acarto">contactez-nous</a>
</p>
<h2>Le <a href="http://www.tela-botanica.org/appli:cel" onclick="window.open(this.href); return false;">Carnet en Ligne (CEL)</a>, c'est quoi ?</h2>
<h3>Un outil pour gérer mes relevés de terrain</h3>
<p>
Le Carnet en ligne est <a href="http://www.tela-botanica.org/appli:cel" onclick="window.open(this.href); return false;">accessible en ligne sur le site de Tela Botanica</a>.
Vous pouvez y déposer vos observations de plantes de manière simple et efficace
(aide à la saisie, visualisation de la chorologie d’une plante, utilisation de Google Map),
les trier et les rechercher.
</p>
<h3>Des fonctionnalités à la demande</h3>
<ul>
<li>Un module cartographique vous permet de géolocaliser vos observations grâce aux coordonnées ou bien par pointage sur une carte (en France métropolitaine).</li>
<li>Un module image vous permet d’ajouter des images et des les associer à vos observations.</li>
<li>Un module projet vous permet de créer des projets et d’y associer des observations.</li>
<li>Un module import/export au format tableur pour traiter ses données.</li>
</ul>
<h3>Partage des données</h3>
<p>
Partager vos observations permet d’alimenter la base de données eFlore, de compléter automatiquement la carte
de répartition des espèces du site de Tela Botanica, de servir de source de données pour des projets externes...<br />
Les données sont publiées sous licence libre <a href="http://www.tela-botanica.org/page:licence" onclick="window.open(this.href); return false;">Creative commons</a>
afin d'en faciliter la divulgation.
</p>
<h3>Vous souhaitez participer ?</h3>
<p>Consulter le mode d'emploi ci-dessous pour facilement prendre en main cet outil.</p>
<div>
<object style="width: 600px; height: 282px;">
<param value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;autoFlip=true&amp;autoFlipTime=6000&amp;documentId=100624090135-b3beeea0f20641bf8f277c49ebc5bbee&amp;docName=cel&amp;username=marietela&amp;loadingInfoText=Carnet%20en%20ligne&amp;et=1277375679622&amp;er=55" name="movie">
<param value="true" name="allowfullscreen">
<param value="false" name="menu"><embed flashvars="mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;autoFlip=true&amp;autoFlipTime=6000&amp;documentId=100624090135-b3beeea0f20641bf8f277c49ebc5bbee&amp;docName=cel&amp;username=marietela&amp;loadingInfoText=Carnet%20en%20ligne&amp;et=1277375679622&amp;er=55" style="width: 600px; height: 282px;" menu="false" allowfullscreen="true" type="application/x-shockwave-flash" src="https://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf">
</object>
<p style="width: 600px; text-align: left;"><a target="_blank" href="http://issuu.com/marietela/docs/cel?mode=embed&amp;viewMode=presentation&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;autoFlip=true&amp;autoFlipTime=6000">Open publication</a> - Free <a target="_blank" href="http://issuu.com">publishing</a> - <a target="_blank" href="http://issuu.com/search?q=terrain">More terrain</a></p>
</div>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/carto
New file
Property changes:
Added: svn:ignore
+config.ini
/branches/v3.01-serpe/widget/modules/photo/squelettes/contact.tpl.html
New file
0,0 → 1,38
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact">
<h2 class="mb-3">Message à <span class="destinataire"><?php echo $donnees['auteur']; ?></span>&nbsp;:</h2>
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue" class="mb-3"></div>
<div class="form-group mb-3">
<label for="fc_sujet">Sujet</label>
<input type="text" id="fc_sujet" class="form-control" name="fc_sujet" value="<?php echo $donnees['sujet']; ?>">
</div>
<div class="form-group mb-3">
<label for="fc_message">Message</label>
<textarea id="fc_message" class="form-control form-control-lg" name="fc_message"><?php echo $donnees['message']; ?></textarea>
</div>
<div class="form-group mb-3">
<label for="fc_utilisateur_courriel" title="Utilisez le courriel avec lequel vous êtes inscrit à Tela Botanica">Votre courriel</label>
<input type="email" id="fc_utilisateur_courriel" class="form-control" name="fc_utilisateur_courriel" placeholder="mail@exemple.com">
</div>
<div class="form-group">
<input type="hidden" id="fc_destinataire_id" name="fc_destinataire_id" value="<?php echo $donnees['id_image']; ?>">
<input type="hidden" name="fc_type_envoi" id="fc_type_envoi" value="non-inscrit">
<input type="submit" id="fc_envoyer" class="btn btn-success form-control" value="Envoyer">
<input type="reset" id="fc_effacer" class="btn btn-warning form-control" value="Effacer">
<?php if( isset( $donnees['popup_url'] ) ): ?>
<a id="fc_annuler" class="popup_url btn btn-danger form-control annuler" data-popup_url="<?php echo $donnees['popup_url'].'&popup_url='.urlencode($donnees['popup_url']); ?>">Annuler</a>
<?php else : ?>
<button id="fc_annuler" type="button" class="close btn btn-danger form-control annuler" data-dismiss="modal" aria-label="Close">Annuler</button>
<?php endif; ?>
</div>
</form>
</div>
<script type="text/Javascript">
//<![CDATA[
$( document ).ready( function() {
contact = new WidgetPhotoContact();
contact.init();
});
//]]>
</script>
/branches/v3.01-serpe/widget/modules/photo/squelettes/js/WidgetPhotoContact.js
New file
0,0 → 1,158
function WidgetPhotoContact () {}
 
WidgetPhotoContact.prototype = new WidgetPhotoCommun();
 
WidgetPhotoContact.prototype.initTpl = function() {
$( '#form-contact' ).validate({
rules: {
fc_sujet : 'required',
fc_message : 'required',
fc_utilisateur_courriel : {
required : true,
email : true
}
}
});
};
 
WidgetPhotoContact.prototype.initEvts = function() {
const lthis = this;
 
$( '#form-contact' ).on( 'submit', function( event ) {
event.preventDefault();
lthis.envoyerCourriel();
});
this.initEvtsRetourPopupPhoto();
};
 
WidgetPhotoContact.prototype.initEvtsRetourPopupPhoto = function() {
const lthis = this;
 
$( '#fc_annuler.popup_url' ).on( 'click', function( event ) {
event.preventDefault();
lthis.retourPopupPhoto();
});
$( '#fc_annuler.popup_url' ).on( 'keydown', function( event ) {
var isEnter = false;
 
event = event || window.event;
// event.keyCode déprécié, on tente d'abord event.key
if ( 'key' in event) {
isEnter = ( event.key === 'Enter' );
} else {
isEnter = ( event.keyCode === 13 );
}
if ( isEnter ) {
lthis.retourPopupPhoto();
}
});
$( 'body' ).on( 'keyup', function( event ) {
if( $( '#fenetre-modal' ).hasClass( 'show' ) ) {
var isEscape = false;
 
event = event || window.event;
// event.keyCode déprécié, on tente d'abord event.key
if ( 'key' in event) {
isEscape = ( event.key === 'Escape' || event.key === 'Esc' );
} else {
isEscape = ( event.keyCode === 27 );
}
if ( isEscape ) {
lthis.retourPopupPhoto();
}
}
});
};
 
WidgetPhotoContact.prototype.envoyerCourriel = function() {
const lthis = this;
var donnees = [];
 
if ( $( '#form-contact' ).valid() ) {
var destinataireId = $( '#fc_destinataire_id' ).val(),
typeEnvoi = $( '#fc_type_envoi' ).val(),
// l'envoi aux non inscrits passe par le service intermédiaire du cel
// qui va récupérer le courriel associé à l'image indiquée
urlMessage = 'http://api.tela-botanica.org/service:cel:celMessage/image/' + destinataireId,
erreurMsg = '';
 
$.each( $( '#form-contact' ).serializeArray(), function ( index, champ ) {
var cle = champ.name;
 
cle = cle.replace( /^fc_/, '' );
if ( cle === 'sujet' ) {
champ.value += ' - Carnet en ligne - Tela Botanica';
}
if ( cle === 'message' ) {
champ.value +=
"\n--\n" +
"Ce message vous est envoyé par l'intermédiaire du widget photo " +
"du Carnet en Ligne du réseau Tela Botanica.\n" +
"http://www.tela-botanica.org/widget:cel:photo";
}
donnees[index] = {
'name' : cle,
'value': champ.value
};
});
$.ajax({
type : "POST",
cache : false,
url : urlMessage,
data : donnees,
beforeSend : function() {
$( '.msg' ).remove();
},
success : function( data ) {
$( '#fc-zone-dialogue' ).append( '<pre class="msg info">' + data.message + '</pre>' );
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += "Erreur Ajax :\ntype : " + textStatus + ' ' + errorThrown + "\n";
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( lthis.valOk( reponse ) ) {
$.each( reponse, function ( cle, valeur ) {
erreurMsg += valeur + "\n";
});
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = '';
if ( lthis.valOk( jqXHR.getResponseHeader( "X-DebugJrest-Data" ) ) ) {
debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( "X-DebugJrest-Data" ) );
if ( lthis.valOk( debugInfos ) ) {
$.each( debugInfos, function ( cle, valeur ) {
debugMsg += valeur + "\n";
});
}
}
if ( lthis.valOk( erreurMsg ) ) {
$( '#fc-zone-dialogue' ).append(
'<p class="msg">' +
'Une erreur est survenue lors de la transmission de votre message.<br>' +
'Vous pouvez signaler le disfonctionnement à '+
'<a '+
'href="mailto:cel-remarques@tela-botanica.org?'+
'subject=Disfonctionnement du widget carto'+
"&body=" + erreurMsg + "\nDébogage :\n" + debugMsg+
'"' +
'>'+
'cel-remarques@tela-botanica.org'+
'</a>'+
'.'+
'</p>'
);
}
}
});
}
return false;
};
 
 
WidgetPhotoContact.prototype.retourPopupPhoto = function() {
const lthis = this;
var popup_url = $( '#fc_annuler.popup_url' ).data( 'popup_url' );
if ( lthis.valOk( popup_url ) ) {
lthis.chargerContenuModale( popup_url );
}
};
/branches/v3.01-serpe/widget/modules/photo/squelettes/js/WidgetPhotoCommun.js
New file
0,0 → 1,108
function WidgetPhotoCommun() {}
 
WidgetPhotoCommun.prototype.init = function() {
this.initTpl();
this.initEvts();
};
 
WidgetPhotoCommun.prototype.chargerContenuModale = function( url ) {
const lthis = this;
$.ajax({
url: url,
success: function( squelette ) {
lthis.activerModale( squelette );
},
error: function() {
lthis.activerModale( 'Le contenu n\'a pas pu être chargé' );
}
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
WidgetPhotoCommun.prototype.activerModale = function( content ) {
if ( '' !== content ) {
$( '#print_content' ).html( content );
}
// Sortie avec la touche escape (ne fonctionne pas toujours)
$( '#fenetre-modal' ).modal({ keyboard : true });
 
// Affichage
$( '#fenetre-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#fenetre-modal' ).on( 'shown.bs.modal' , function () {
$( '#print_content' ).trigger( 'focus' );
});
// Réinitialisation
$( '#fenetre-modal' ).on( 'hidden.bs.modal' , function () {
$( '#print_content' ).empty();
});
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
WidgetPhotoCommun.prototype.valOk = function (valeur, sensComparaison = true, comparer = undefined ) {
var retour = true;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( !isNaN(valeur) );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
 
} else {
// Un booléen est une valeur valable
return true;
}
};
 
WidgetPhotoCommun.prototype.chaineValableAttributsHtml = function( chaine ) {
chaine = chaine.latinise();
return chaine.replace(/[^a-z0-9_\s]/gi, '').replace(/[_\s]/g, '_');
}
 
 
// see : http://semplicewebsites.com/removing-accents-javascript
var Latinise = {};
 
Latinise.latin_map = {"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x"};
 
String.prototype.latinise = function() {
return this.replace(
/[^A-Za-z0-9\[\] ]/g,
function( a ) {
return Latinise.latin_map[a]||a
}
)
};
/branches/v3.01-serpe/widget/modules/photo/squelettes/js/masonry.pkgd.js
New file
0,0 → 1,2504
/*!
* Masonry PACKAGED v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
 
/**
* Bridget makes jQuery widgets
* v2.0.1
* MIT license
*/
 
/* jshint browser: true, strict: true, undef: true, unused: true */
 
( function( window, factory ) {
// universal module definition
/*jshint strict: false */ /* globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
return factory( window, jQuery );
});
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
window,
require('jquery')
);
} else {
// browser global
window.jQueryBridget = factory(
window,
window.jQuery
);
}
 
}( window, function factory( window, jQuery ) {
'use strict';
 
// ----- utils ----- //
 
var arraySlice = Array.prototype.slice;
 
// helper function for logging errors
// $.error breaks jQuery chaining
var console = window.console;
var logError = typeof console == 'undefined' ? function() {} :
function( message ) {
console.error( message );
};
 
// ----- jQueryBridget ----- //
 
function jQueryBridget( namespace, PluginClass, $ ) {
$ = $ || jQuery || window.jQuery;
if ( !$ ) {
return;
}
 
// add option method -> $().plugin('option', {...})
if ( !PluginClass.prototype.option ) {
// option setter
PluginClass.prototype.option = function( opts ) {
// bail out if not an object
if ( !$.isPlainObject( opts ) ){
return;
}
this.options = $.extend( true, this.options, opts );
};
}
 
// make jQuery plugin
$.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
if ( typeof arg0 == 'string' ) {
// method call $().plugin( 'methodName', { options } )
// shift arguments by 1
var args = arraySlice.call( arguments, 1 );
return methodCall( this, arg0, args );
}
// just $().plugin({ options })
plainCall( this, arg0 );
return this;
};
 
// $().plugin('methodName')
function methodCall( $elems, methodName, args ) {
var returnValue;
var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
 
$elems.each( function( i, elem ) {
// get instance
var instance = $.data( elem, namespace );
if ( !instance ) {
logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
pluginMethodStr );
return;
}
 
var method = instance[ methodName ];
if ( !method || methodName.charAt(0) == '_' ) {
logError( pluginMethodStr + ' is not a valid method' );
return;
}
 
// apply method, get return value
var value = method.apply( instance, args );
// set return value if value is returned, use only first value
returnValue = returnValue === undefined ? value : returnValue;
});
 
return returnValue !== undefined ? returnValue : $elems;
}
 
function plainCall( $elems, options ) {
$elems.each( function( i, elem ) {
var instance = $.data( elem, namespace );
if ( instance ) {
// set options & init
instance.option( options );
instance._init();
} else {
// initialize new instance
instance = new PluginClass( elem, options );
$.data( elem, namespace, instance );
}
});
}
 
updateJQuery( $ );
 
}
 
// ----- updateJQuery ----- //
 
// set $.bridget for v1 backwards compatibility
function updateJQuery( $ ) {
if ( !$ || ( $ && $.bridget ) ) {
return;
}
$.bridget = jQueryBridget;
}
 
updateJQuery( jQuery || window.jQuery );
 
// ----- ----- //
 
return jQueryBridget;
 
}));
 
/**
* EvEmitter v1.1.0
* Lil' event emitter
* MIT License
*/
 
/* jshint unused: true, undef: true, strict: true */
 
( function( global, factory ) {
// universal module definition
/* jshint strict: false */ /* globals define, module, window */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'ev-emitter/ev-emitter',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory();
} else {
// Browser globals
global.EvEmitter = factory();
}
 
}( typeof window != 'undefined' ? window : this, function() {
 
 
 
function EvEmitter() {}
 
var proto = EvEmitter.prototype;
 
proto.on = function( eventName, listener ) {
if ( !eventName || !listener ) {
return;
}
// set events hash
var events = this._events = this._events || {};
// set listeners array
var listeners = events[ eventName ] = events[ eventName ] || [];
// only add once
if ( listeners.indexOf( listener ) == -1 ) {
listeners.push( listener );
}
 
return this;
};
 
proto.once = function( eventName, listener ) {
if ( !eventName || !listener ) {
return;
}
// add event
this.on( eventName, listener );
// set once flag
// set onceEvents hash
var onceEvents = this._onceEvents = this._onceEvents || {};
// set onceListeners object
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
// set flag
onceListeners[ listener ] = true;
 
return this;
};
 
proto.off = function( eventName, listener ) {
var listeners = this._events && this._events[ eventName ];
if ( !listeners || !listeners.length ) {
return;
}
var index = listeners.indexOf( listener );
if ( index != -1 ) {
listeners.splice( index, 1 );
}
 
return this;
};
 
proto.emitEvent = function( eventName, args ) {
var listeners = this._events && this._events[ eventName ];
if ( !listeners || !listeners.length ) {
return;
}
// copy over to avoid interference if .off() in listener
listeners = listeners.slice(0);
args = args || [];
// once stuff
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
 
for ( var i=0; i < listeners.length; i++ ) {
var listener = listeners[i]
var isOnce = onceListeners && onceListeners[ listener ];
if ( isOnce ) {
// remove listener
// remove before trigger to prevent recursion
this.off( eventName, listener );
// unset once flag
delete onceListeners[ listener ];
}
// trigger listener
listener.apply( this, args );
}
 
return this;
};
 
proto.allOff = function() {
delete this._events;
delete this._onceEvents;
};
 
return EvEmitter;
 
}));
 
/*!
* getSize v2.0.3
* measure size of elements
* MIT license
*/
 
/* jshint browser: true, strict: true, undef: true, unused: true */
/* globals console: false */
 
( function( window, factory ) {
/* jshint strict: false */ /* globals define, module */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'get-size/get-size',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory();
} else {
// browser global
window.getSize = factory();
}
 
})( window, function factory() {
'use strict';
 
// -------------------------- helpers -------------------------- //
 
// get a number from a string, not a percentage
function getStyleSize( value ) {
var num = parseFloat( value );
// not a percent like '100%', and a number
var isValid = value.indexOf('%') == -1 && !isNaN( num );
return isValid && num;
}
 
function noop() {}
 
var logError = typeof console == 'undefined' ? noop :
function( message ) {
console.error( message );
};
 
// -------------------------- measurements -------------------------- //
 
var measurements = [
'paddingLeft',
'paddingRight',
'paddingTop',
'paddingBottom',
'marginLeft',
'marginRight',
'marginTop',
'marginBottom',
'borderLeftWidth',
'borderRightWidth',
'borderTopWidth',
'borderBottomWidth'
];
 
var measurementsLength = measurements.length;
 
function getZeroSize() {
var size = {
width: 0,
height: 0,
innerWidth: 0,
innerHeight: 0,
outerWidth: 0,
outerHeight: 0
};
for ( var i=0; i < measurementsLength; i++ ) {
var measurement = measurements[i];
size[ measurement ] = 0;
}
return size;
}
 
// -------------------------- getStyle -------------------------- //
 
/**
* getStyle, get style of element, check for Firefox bug
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
*/
function getStyle( elem ) {
var style = getComputedStyle( elem );
if ( !style ) {
logError( 'Style returned ' + style +
'. Are you running this code in a hidden iframe on Firefox? ' +
'See https://bit.ly/getsizebug1' );
}
return style;
}
 
// -------------------------- setup -------------------------- //
 
var isSetup = false;
 
var isBoxSizeOuter;
 
/**
* setup
* check isBoxSizerOuter
* do on first getSize() rather than on page load for Firefox bug
*/
function setup() {
// setup once
if ( isSetup ) {
return;
}
isSetup = true;
 
// -------------------------- box sizing -------------------------- //
 
/**
* Chrome & Safari measure the outer-width on style.width on border-box elems
* IE11 & Firefox<29 measures the inner-width
*/
var div = document.createElement('div');
div.style.width = '200px';
div.style.padding = '1px 2px 3px 4px';
div.style.borderStyle = 'solid';
div.style.borderWidth = '1px 2px 3px 4px';
div.style.boxSizing = 'border-box';
 
var body = document.body || document.documentElement;
body.appendChild( div );
var style = getStyle( div );
// round value for browser zoom. desandro/masonry#928
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
getSize.isBoxSizeOuter = isBoxSizeOuter;
 
body.removeChild( div );
}
 
// -------------------------- getSize -------------------------- //
 
function getSize( elem ) {
setup();
 
// use querySeletor if elem is string
if ( typeof elem == 'string' ) {
elem = document.querySelector( elem );
}
 
// do not proceed on non-objects
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
return;
}
 
var style = getStyle( elem );
 
// if hidden, everything is 0
if ( style.display == 'none' ) {
return getZeroSize();
}
 
var size = {};
size.width = elem.offsetWidth;
size.height = elem.offsetHeight;
 
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
 
// get all measurements
for ( var i=0; i < measurementsLength; i++ ) {
var measurement = measurements[i];
var value = style[ measurement ];
var num = parseFloat( value );
// any 'auto', 'medium' value will be 0
size[ measurement ] = !isNaN( num ) ? num : 0;
}
 
var paddingWidth = size.paddingLeft + size.paddingRight;
var paddingHeight = size.paddingTop + size.paddingBottom;
var marginWidth = size.marginLeft + size.marginRight;
var marginHeight = size.marginTop + size.marginBottom;
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
 
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
 
// overwrite width and height if we can get it from style
var styleWidth = getStyleSize( style.width );
if ( styleWidth !== false ) {
size.width = styleWidth +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
}
 
var styleHeight = getStyleSize( style.height );
if ( styleHeight !== false ) {
size.height = styleHeight +
// add padding and border unless it's already including it
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
}
 
size.innerWidth = size.width - ( paddingWidth + borderWidth );
size.innerHeight = size.height - ( paddingHeight + borderHeight );
 
size.outerWidth = size.width + marginWidth;
size.outerHeight = size.height + marginHeight;
 
return size;
}
 
return getSize;
 
});
 
/**
* matchesSelector v2.0.2
* matchesSelector( element, '.selector' )
* MIT license
*/
 
/*jshint browser: true, strict: true, undef: true, unused: true */
 
( function( window, factory ) {
/*global define: false, module: false */
'use strict';
// universal module definition
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'desandro-matches-selector/matches-selector',factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory();
} else {
// browser global
window.matchesSelector = factory();
}
 
}( window, function factory() {
'use strict';
 
var matchesMethod = ( function() {
var ElemProto = window.Element.prototype;
// check for the standard method name first
if ( ElemProto.matches ) {
return 'matches';
}
// check un-prefixed
if ( ElemProto.matchesSelector ) {
return 'matchesSelector';
}
// check vendor prefixes
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
 
for ( var i=0; i < prefixes.length; i++ ) {
var prefix = prefixes[i];
var method = prefix + 'MatchesSelector';
if ( ElemProto[ method ] ) {
return method;
}
}
})();
 
return function matchesSelector( elem, selector ) {
return elem[ matchesMethod ]( selector );
};
 
}));
 
/**
* Fizzy UI utils v2.0.7
* MIT license
*/
 
/*jshint browser: true, undef: true, unused: true, strict: true */
 
( function( window, factory ) {
// universal module definition
/*jshint strict: false */ /*globals define, module, require */
 
if ( typeof define == 'function' && define.amd ) {
// AMD
define( 'fizzy-ui-utils/utils',[
'desandro-matches-selector/matches-selector'
], function( matchesSelector ) {
return factory( window, matchesSelector );
});
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
window,
require('desandro-matches-selector')
);
} else {
// browser global
window.fizzyUIUtils = factory(
window,
window.matchesSelector
);
}
 
}( window, function factory( window, matchesSelector ) {
 
 
 
var utils = {};
 
// ----- extend ----- //
 
// extends objects
utils.extend = function( a, b ) {
for ( var prop in b ) {
a[ prop ] = b[ prop ];
}
return a;
};
 
// ----- modulo ----- //
 
utils.modulo = function( num, div ) {
return ( ( num % div ) + div ) % div;
};
 
// ----- makeArray ----- //
 
var arraySlice = Array.prototype.slice;
 
// turn element or nodeList into an array
utils.makeArray = function( obj ) {
if ( Array.isArray( obj ) ) {
// use object if already an array
return obj;
}
// return empty array if undefined or null. #6
if ( obj === null || obj === undefined ) {
return [];
}
 
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
if ( isArrayLike ) {
// convert nodeList to array
return arraySlice.call( obj );
}
 
// array of single index
return [ obj ];
};
 
// ----- removeFrom ----- //
 
utils.removeFrom = function( ary, obj ) {
var index = ary.indexOf( obj );
if ( index != -1 ) {
ary.splice( index, 1 );
}
};
 
// ----- getParent ----- //
 
utils.getParent = function( elem, selector ) {
while ( elem.parentNode && elem != document.body ) {
elem = elem.parentNode;
if ( matchesSelector( elem, selector ) ) {
return elem;
}
}
};
 
// ----- getQueryElement ----- //
 
// use element as selector string
utils.getQueryElement = function( elem ) {
if ( typeof elem == 'string' ) {
return document.querySelector( elem );
}
return elem;
};
 
// ----- handleEvent ----- //
 
// enable .ontype to trigger from .addEventListener( elem, 'type' )
utils.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
 
// ----- filterFindElements ----- //
 
utils.filterFindElements = function( elems, selector ) {
// make array of elems
elems = utils.makeArray( elems );
var ffElems = [];
 
elems.forEach( function( elem ) {
// check that elem is an actual element
if ( !( elem instanceof HTMLElement ) ) {
return;
}
// add elem if no selector
if ( !selector ) {
ffElems.push( elem );
return;
}
// filter & find items if we have a selector
// filter
if ( matchesSelector( elem, selector ) ) {
ffElems.push( elem );
}
// find children
var childElems = elem.querySelectorAll( selector );
// concat childElems to filterFound array
for ( var i=0; i < childElems.length; i++ ) {
ffElems.push( childElems[i] );
}
});
 
return ffElems;
};
 
// ----- debounceMethod ----- //
 
utils.debounceMethod = function( _class, methodName, threshold ) {
threshold = threshold || 100;
// original method
var method = _class.prototype[ methodName ];
var timeoutName = methodName + 'Timeout';
 
_class.prototype[ methodName ] = function() {
var timeout = this[ timeoutName ];
clearTimeout( timeout );
 
var args = arguments;
var _this = this;
this[ timeoutName ] = setTimeout( function() {
method.apply( _this, args );
delete _this[ timeoutName ];
}, threshold );
};
};
 
// ----- docReady ----- //
 
utils.docReady = function( callback ) {
var readyState = document.readyState;
if ( readyState == 'complete' || readyState == 'interactive' ) {
// do async to allow for other scripts to run. metafizzy/flickity#441
setTimeout( callback );
} else {
document.addEventListener( 'DOMContentLoaded', callback );
}
};
 
// ----- htmlInit ----- //
 
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
utils.toDashed = function( str ) {
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
return $1 + '-' + $2;
}).toLowerCase();
};
 
var console = window.console;
/**
* allow user to initialize classes via [data-namespace] or .js-namespace class
* htmlInit( Widget, 'widgetName' )
* options are parsed from data-namespace-options
*/
utils.htmlInit = function( WidgetClass, namespace ) {
utils.docReady( function() {
var dashedNamespace = utils.toDashed( namespace );
var dataAttr = 'data-' + dashedNamespace;
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
var elems = utils.makeArray( dataAttrElems )
.concat( utils.makeArray( jsDashElems ) );
var dataOptionsAttr = dataAttr + '-options';
var jQuery = window.jQuery;
 
elems.forEach( function( elem ) {
var attr = elem.getAttribute( dataAttr ) ||
elem.getAttribute( dataOptionsAttr );
var options;
try {
options = attr && JSON.parse( attr );
} catch ( error ) {
// log error, do not initialize
if ( console ) {
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
': ' + error );
}
return;
}
// initialize
var instance = new WidgetClass( elem, options );
// make available via $().data('namespace')
if ( jQuery ) {
jQuery.data( elem, namespace, instance );
}
});
 
});
};
 
// ----- ----- //
 
return utils;
 
}));
 
/**
* Outlayer Item
*/
 
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /* globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'outlayer/item',[
'ev-emitter/ev-emitter',
'get-size/get-size'
],
factory
);
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory(
require('ev-emitter'),
require('get-size')
);
} else {
// browser global
window.Outlayer = {};
window.Outlayer.Item = factory(
window.EvEmitter,
window.getSize
);
}
 
}( window, function factory( EvEmitter, getSize ) {
'use strict';
 
// ----- helpers ----- //
 
function isEmptyObj( obj ) {
for ( var prop in obj ) {
return false;
}
prop = null;
return true;
}
 
// -------------------------- CSS3 support -------------------------- //
 
 
var docElemStyle = document.documentElement.style;
 
var transitionProperty = typeof docElemStyle.transition == 'string' ?
'transition' : 'WebkitTransition';
var transformProperty = typeof docElemStyle.transform == 'string' ?
'transform' : 'WebkitTransform';
 
var transitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
transition: 'transitionend'
}[ transitionProperty ];
 
// cache all vendor properties that could have vendor prefix
var vendorProperties = {
transform: transformProperty,
transition: transitionProperty,
transitionDuration: transitionProperty + 'Duration',
transitionProperty: transitionProperty + 'Property',
transitionDelay: transitionProperty + 'Delay'
};
 
// -------------------------- Item -------------------------- //
 
function Item( element, layout ) {
if ( !element ) {
return;
}
 
this.element = element;
// parent layout class, i.e. Masonry, Isotope, or Packery
this.layout = layout;
this.position = {
x: 0,
y: 0
};
 
this._create();
}
 
// inherit EvEmitter
var proto = Item.prototype = Object.create( EvEmitter.prototype );
proto.constructor = Item;
 
proto._create = function() {
// transition objects
this._transn = {
ingProperties: {},
clean: {},
onEnd: {}
};
 
this.css({
position: 'absolute'
});
};
 
// trigger specified handler for event type
proto.handleEvent = function( event ) {
var method = 'on' + event.type;
if ( this[ method ] ) {
this[ method ]( event );
}
};
 
proto.getSize = function() {
this.size = getSize( this.element );
};
 
/**
* apply CSS styles to element
* @param {Object} style
*/
proto.css = function( style ) {
var elemStyle = this.element.style;
 
for ( var prop in style ) {
// use vendor property if available
var supportedProp = vendorProperties[ prop ] || prop;
elemStyle[ supportedProp ] = style[ prop ];
}
};
 
// measure position, and sets it
proto.getPosition = function() {
var style = getComputedStyle( this.element );
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
var x = parseFloat( xValue );
var y = parseFloat( yValue );
// convert percent to pixels
var layoutSize = this.layout.size;
if ( xValue.indexOf('%') != -1 ) {
x = ( x / 100 ) * layoutSize.width;
}
if ( yValue.indexOf('%') != -1 ) {
y = ( y / 100 ) * layoutSize.height;
}
// clean up 'auto' or other non-integer values
x = isNaN( x ) ? 0 : x;
y = isNaN( y ) ? 0 : y;
// remove padding from measurement
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
 
this.position.x = x;
this.position.y = y;
};
 
// set settled position, apply padding
proto.layoutPosition = function() {
var layoutSize = this.layout.size;
var style = {};
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
 
// x
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
var xProperty = isOriginLeft ? 'left' : 'right';
var xResetProperty = isOriginLeft ? 'right' : 'left';
 
var x = this.position.x + layoutSize[ xPadding ];
// set in percentage or pixels
style[ xProperty ] = this.getXValue( x );
// reset other property
style[ xResetProperty ] = '';
 
// y
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
var yProperty = isOriginTop ? 'top' : 'bottom';
var yResetProperty = isOriginTop ? 'bottom' : 'top';
 
var y = this.position.y + layoutSize[ yPadding ];
// set in percentage or pixels
style[ yProperty ] = this.getYValue( y );
// reset other property
style[ yResetProperty ] = '';
 
this.css( style );
this.emitEvent( 'layout', [ this ] );
};
 
proto.getXValue = function( x ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && !isHorizontal ?
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
};
 
proto.getYValue = function( y ) {
var isHorizontal = this.layout._getOption('horizontal');
return this.layout.options.percentPosition && isHorizontal ?
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
};
 
proto._transitionTo = function( x, y ) {
this.getPosition();
// get current x & y from top/left
var curX = this.position.x;
var curY = this.position.y;
 
var didNotMove = x == this.position.x && y == this.position.y;
 
// save end position
this.setPosition( x, y );
 
// if did not move and not transitioning, just go to layout
if ( didNotMove && !this.isTransitioning ) {
this.layoutPosition();
return;
}
 
var transX = x - curX;
var transY = y - curY;
var transitionStyle = {};
transitionStyle.transform = this.getTranslate( transX, transY );
 
this.transition({
to: transitionStyle,
onTransitionEnd: {
transform: this.layoutPosition
},
isCleaning: true
});
};
 
proto.getTranslate = function( x, y ) {
// flip cooridinates if origin on right or bottom
var isOriginLeft = this.layout._getOption('originLeft');
var isOriginTop = this.layout._getOption('originTop');
x = isOriginLeft ? x : -x;
y = isOriginTop ? y : -y;
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
};
 
// non transition + transform support
proto.goTo = function( x, y ) {
this.setPosition( x, y );
this.layoutPosition();
};
 
proto.moveTo = proto._transitionTo;
 
proto.setPosition = function( x, y ) {
this.position.x = parseFloat( x );
this.position.y = parseFloat( y );
};
 
// ----- transition ----- //
 
/**
* @param {Object} style - CSS
* @param {Function} onTransitionEnd
*/
 
// non transition, just trigger callback
proto._nonTransition = function( args ) {
this.css( args.to );
if ( args.isCleaning ) {
this._removeStyles( args.to );
}
for ( var prop in args.onTransitionEnd ) {
args.onTransitionEnd[ prop ].call( this );
}
};
 
/**
* proper transition
* @param {Object} args - arguments
* @param {Object} to - style to transition to
* @param {Object} from - style to start transition from
* @param {Boolean} isCleaning - removes transition styles after transition
* @param {Function} onTransitionEnd - callback
*/
proto.transition = function( args ) {
// redirect to nonTransition if no transition duration
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
this._nonTransition( args );
return;
}
 
var _transition = this._transn;
// keep track of onTransitionEnd callback by css property
for ( var prop in args.onTransitionEnd ) {
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
}
// keep track of properties that are transitioning
for ( prop in args.to ) {
_transition.ingProperties[ prop ] = true;
// keep track of properties to clean up when transition is done
if ( args.isCleaning ) {
_transition.clean[ prop ] = true;
}
}
 
// set from styles
if ( args.from ) {
this.css( args.from );
// force redraw. http://blog.alexmaccaw.com/css-transitions
var h = this.element.offsetHeight;
// hack for JSHint to hush about unused var
h = null;
}
// enable transition
this.enableTransition( args.to );
// set styles that are transitioning
this.css( args.to );
 
this.isTransitioning = true;
 
};
 
// dash before all cap letters, including first for
// WebkitTransform => -webkit-transform
function toDashedAll( str ) {
return str.replace( /([A-Z])/g, function( $1 ) {
return '-' + $1.toLowerCase();
});
}
 
var transitionProps = 'opacity,' + toDashedAll( transformProperty );
 
proto.enableTransition = function(/* style */) {
// HACK changing transitionProperty during a transition
// will cause transition to jump
if ( this.isTransitioning ) {
return;
}
 
// make `transition: foo, bar, baz` from style object
// HACK un-comment this when enableTransition can work
// while a transition is happening
// var transitionValues = [];
// for ( var prop in style ) {
// // dash-ify camelCased properties like WebkitTransition
// prop = vendorProperties[ prop ] || prop;
// transitionValues.push( toDashedAll( prop ) );
// }
// munge number to millisecond, to match stagger
var duration = this.layout.options.transitionDuration;
duration = typeof duration == 'number' ? duration + 'ms' : duration;
// enable transition styles
this.css({
transitionProperty: transitionProps,
transitionDuration: duration,
transitionDelay: this.staggerDelay || 0
});
// listen for transition end event
this.element.addEventListener( transitionEndEvent, this, false );
};
 
// ----- events ----- //
 
proto.onwebkitTransitionEnd = function( event ) {
this.ontransitionend( event );
};
 
proto.onotransitionend = function( event ) {
this.ontransitionend( event );
};
 
// properties that I munge to make my life easier
var dashedVendorProperties = {
'-webkit-transform': 'transform'
};
 
proto.ontransitionend = function( event ) {
// disregard bubbled events from children
if ( event.target !== this.element ) {
return;
}
var _transition = this._transn;
// get property name of transitioned property, convert to prefix-free
var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
 
// remove property that has completed transitioning
delete _transition.ingProperties[ propertyName ];
// check if any properties are still transitioning
if ( isEmptyObj( _transition.ingProperties ) ) {
// all properties have completed transitioning
this.disableTransition();
}
// clean style
if ( propertyName in _transition.clean ) {
// clean up style
this.element.style[ event.propertyName ] = '';
delete _transition.clean[ propertyName ];
}
// trigger onTransitionEnd callback
if ( propertyName in _transition.onEnd ) {
var onTransitionEnd = _transition.onEnd[ propertyName ];
onTransitionEnd.call( this );
delete _transition.onEnd[ propertyName ];
}
 
this.emitEvent( 'transitionEnd', [ this ] );
};
 
proto.disableTransition = function() {
this.removeTransitionStyles();
this.element.removeEventListener( transitionEndEvent, this, false );
this.isTransitioning = false;
};
 
/**
* removes style property from element
* @param {Object} style
**/
proto._removeStyles = function( style ) {
// clean up transition styles
var cleanStyle = {};
for ( var prop in style ) {
cleanStyle[ prop ] = '';
}
this.css( cleanStyle );
};
 
var cleanTransitionStyle = {
transitionProperty: '',
transitionDuration: '',
transitionDelay: ''
};
 
proto.removeTransitionStyles = function() {
// remove transition
this.css( cleanTransitionStyle );
};
 
// ----- stagger ----- //
 
proto.stagger = function( delay ) {
delay = isNaN( delay ) ? 0 : delay;
this.staggerDelay = delay + 'ms';
};
 
// ----- show/hide/remove ----- //
 
// remove element from DOM
proto.removeElem = function() {
this.element.parentNode.removeChild( this.element );
// remove display: none
this.css({ display: '' });
this.emitEvent( 'remove', [ this ] );
};
 
proto.remove = function() {
// just remove element if no transition support or no transition
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
this.removeElem();
return;
}
 
// start transition
this.once( 'transitionEnd', function() {
this.removeElem();
});
this.hide();
};
 
proto.reveal = function() {
delete this.isHidden;
// remove display: none
this.css({ display: '' });
 
var options = this.layout.options;
 
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
 
this.transition({
from: options.hiddenStyle,
to: options.visibleStyle,
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
 
proto.onRevealTransitionEnd = function() {
// check if still visible
// during transition, item may have been hidden
if ( !this.isHidden ) {
this.emitEvent('reveal');
}
};
 
/**
* get style property use for hide/reveal transition end
* @param {String} styleProperty - hiddenStyle/visibleStyle
* @returns {String}
*/
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
var optionStyle = this.layout.options[ styleProperty ];
// use opacity
if ( optionStyle.opacity ) {
return 'opacity';
}
// get first property
for ( var prop in optionStyle ) {
return prop;
}
};
 
proto.hide = function() {
// set flag
this.isHidden = true;
// remove display: none
this.css({ display: '' });
 
var options = this.layout.options;
 
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
 
this.transition({
from: options.visibleStyle,
to: options.hiddenStyle,
// keep hidden stuff hidden
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
 
proto.onHideTransitionEnd = function() {
// check if still hidden
// during transition, item may have been un-hidden
if ( this.isHidden ) {
this.css({ display: 'none' });
this.emitEvent('hide');
}
};
 
proto.destroy = function() {
this.css({
position: '',
left: '',
right: '',
top: '',
bottom: '',
transition: '',
transform: ''
});
};
 
return Item;
 
}));
 
/*!
* Outlayer v2.1.1
* the brains and guts of a layout library
* MIT license
*/
 
( function( window, factory ) {
'use strict';
// universal module definition
/* jshint strict: false */ /* globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD - RequireJS
define( 'outlayer/outlayer',[
'ev-emitter/ev-emitter',
'get-size/get-size',
'fizzy-ui-utils/utils',
'./item'
],
function( EvEmitter, getSize, utils, Item ) {
return factory( window, EvEmitter, getSize, utils, Item);
}
);
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS - Browserify, Webpack
module.exports = factory(
window,
require('ev-emitter'),
require('get-size'),
require('fizzy-ui-utils'),
require('./item')
);
} else {
// browser global
window.Outlayer = factory(
window,
window.EvEmitter,
window.getSize,
window.fizzyUIUtils,
window.Outlayer.Item
);
}
 
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {
'use strict';
 
// ----- vars ----- //
 
var console = window.console;
var jQuery = window.jQuery;
var noop = function() {};
 
// -------------------------- Outlayer -------------------------- //
 
// globally unique identifiers
var GUID = 0;
// internal store of all Outlayer intances
var instances = {};
 
 
/**
* @param {Element, String} element
* @param {Object} options
* @constructor
*/
function Outlayer( element, options ) {
var queryElement = utils.getQueryElement( element );
if ( !queryElement ) {
if ( console ) {
console.error( 'Bad element for ' + this.constructor.namespace +
': ' + ( queryElement || element ) );
}
return;
}
this.element = queryElement;
// add jQuery
if ( jQuery ) {
this.$element = jQuery( this.element );
}
 
// options
this.options = utils.extend( {}, this.constructor.defaults );
this.option( options );
 
// add id for Outlayer.getFromElement
var id = ++GUID;
this.element.outlayerGUID = id; // expando
instances[ id ] = this; // associate via id
 
// kick it off
this._create();
 
var isInitLayout = this._getOption('initLayout');
if ( isInitLayout ) {
this.layout();
}
}
 
// settings are for internal use only
Outlayer.namespace = 'outlayer';
Outlayer.Item = Item;
 
// default options
Outlayer.defaults = {
containerStyle: {
position: 'relative'
},
initLayout: true,
originLeft: true,
originTop: true,
resize: true,
resizeContainer: true,
// item options
transitionDuration: '0.4s',
hiddenStyle: {
opacity: 0,
transform: 'scale(0.001)'
},
visibleStyle: {
opacity: 1,
transform: 'scale(1)'
}
};
 
var proto = Outlayer.prototype;
// inherit EvEmitter
utils.extend( proto, EvEmitter.prototype );
 
/**
* set options
* @param {Object} opts
*/
proto.option = function( opts ) {
utils.extend( this.options, opts );
};
 
/**
* get backwards compatible option value, check old name
*/
proto._getOption = function( option ) {
var oldOption = this.constructor.compatOptions[ option ];
return oldOption && this.options[ oldOption ] !== undefined ?
this.options[ oldOption ] : this.options[ option ];
};
 
Outlayer.compatOptions = {
// currentName: oldName
initLayout: 'isInitLayout',
horizontal: 'isHorizontal',
layoutInstant: 'isLayoutInstant',
originLeft: 'isOriginLeft',
originTop: 'isOriginTop',
resize: 'isResizeBound',
resizeContainer: 'isResizingContainer'
};
 
proto._create = function() {
// get items from children
this.reloadItems();
// elements that affect layout, but are not laid out
this.stamps = [];
this.stamp( this.options.stamp );
// set container style
utils.extend( this.element.style, this.options.containerStyle );
 
// bind resize method
var canBindResize = this._getOption('resize');
if ( canBindResize ) {
this.bindResize();
}
};
 
// goes through all children again and gets bricks in proper order
proto.reloadItems = function() {
// collection of item elements
this.items = this._itemize( this.element.children );
};
 
 
/**
* turn elements into Outlayer.Items to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - collection of new Outlayer Items
*/
proto._itemize = function( elems ) {
 
var itemElems = this._filterFindItemElements( elems );
var Item = this.constructor.Item;
 
// create new Outlayer Items for collection
var items = [];
for ( var i=0; i < itemElems.length; i++ ) {
var elem = itemElems[i];
var item = new Item( elem, this );
items.push( item );
}
 
return items;
};
 
/**
* get item elements to be used in layout
* @param {Array or NodeList or HTMLElement} elems
* @returns {Array} items - item elements
*/
proto._filterFindItemElements = function( elems ) {
return utils.filterFindElements( elems, this.options.itemSelector );
};
 
/**
* getter method for getting item elements
* @returns {Array} elems - collection of item elements
*/
proto.getItemElements = function() {
return this.items.map( function( item ) {
return item.element;
});
};
 
// ----- init & layout ----- //
 
/**
* lays out all items
*/
proto.layout = function() {
this._resetLayout();
this._manageStamps();
 
// don't animate first layout
var layoutInstant = this._getOption('layoutInstant');
var isInstant = layoutInstant !== undefined ?
layoutInstant : !this._isLayoutInited;
this.layoutItems( this.items, isInstant );
 
// flag for initalized
this._isLayoutInited = true;
};
 
// _init is alias for layout
proto._init = proto.layout;
 
/**
* logic before any new layout
*/
proto._resetLayout = function() {
this.getSize();
};
 
 
proto.getSize = function() {
this.size = getSize( this.element );
};
 
/**
* get measurement from option, for columnWidth, rowHeight, gutter
* if option is String -> get element from selector string, & get size of element
* if option is Element -> get size of element
* else use option as a number
*
* @param {String} measurement
* @param {String} size - width or height
* @private
*/
proto._getMeasurement = function( measurement, size ) {
var option = this.options[ measurement ];
var elem;
if ( !option ) {
// default to 0
this[ measurement ] = 0;
} else {
// use option as an element
if ( typeof option == 'string' ) {
elem = this.element.querySelector( option );
} else if ( option instanceof HTMLElement ) {
elem = option;
}
// use size of element, if element
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
}
};
 
/**
* layout a collection of item elements
* @api public
*/
proto.layoutItems = function( items, isInstant ) {
items = this._getItemsForLayout( items );
 
this._layoutItems( items, isInstant );
 
this._postLayout();
};
 
/**
* get the items to be laid out
* you may want to skip over some items
* @param {Array} items
* @returns {Array} items
*/
proto._getItemsForLayout = function( items ) {
return items.filter( function( item ) {
return !item.isIgnored;
});
};
 
/**
* layout items
* @param {Array} items
* @param {Boolean} isInstant
*/
proto._layoutItems = function( items, isInstant ) {
this._emitCompleteOnItems( 'layout', items );
 
if ( !items || !items.length ) {
// no items, emit event with empty array
return;
}
 
var queue = [];
 
items.forEach( function( item ) {
// get x/y object from method
var position = this._getItemLayoutPosition( item );
// enqueue
position.item = item;
position.isInstant = isInstant || item.isLayoutInstant;
queue.push( position );
}, this );
 
this._processLayoutQueue( queue );
};
 
/**
* get item layout position
* @param {Outlayer.Item} item
* @returns {Object} x and y position
*/
proto._getItemLayoutPosition = function( /* item */ ) {
return {
x: 0,
y: 0
};
};
 
/**
* iterate over array and position each item
* Reason being - separating this logic prevents 'layout invalidation'
* thx @paul_irish
* @param {Array} queue
*/
proto._processLayoutQueue = function( queue ) {
this.updateStagger();
queue.forEach( function( obj, i ) {
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
}, this );
};
 
// set stagger from option in milliseconds number
proto.updateStagger = function() {
var stagger = this.options.stagger;
if ( stagger === null || stagger === undefined ) {
this.stagger = 0;
return;
}
this.stagger = getMilliseconds( stagger );
return this.stagger;
};
 
/**
* Sets position of item in DOM
* @param {Outlayer.Item} item
* @param {Number} x - horizontal position
* @param {Number} y - vertical position
* @param {Boolean} isInstant - disables transitions
*/
proto._positionItem = function( item, x, y, isInstant, i ) {
if ( isInstant ) {
// if not transition, just set CSS
item.goTo( x, y );
} else {
item.stagger( i * this.stagger );
item.moveTo( x, y );
}
};
 
/**
* Any logic you want to do after each layout,
* i.e. size the container
*/
proto._postLayout = function() {
this.resizeContainer();
};
 
proto.resizeContainer = function() {
var isResizingContainer = this._getOption('resizeContainer');
if ( !isResizingContainer ) {
return;
}
var size = this._getContainerSize();
if ( size ) {
this._setContainerMeasure( size.width, true );
this._setContainerMeasure( size.height, false );
}
};
 
/**
* Sets width or height of container if returned
* @returns {Object} size
* @param {Number} width
* @param {Number} height
*/
proto._getContainerSize = noop;
 
/**
* @param {Number} measure - size of width or height
* @param {Boolean} isWidth
*/
proto._setContainerMeasure = function( measure, isWidth ) {
if ( measure === undefined ) {
return;
}
 
var elemSize = this.size;
// add padding and border width if border box
if ( elemSize.isBorderBox ) {
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
elemSize.borderLeftWidth + elemSize.borderRightWidth :
elemSize.paddingBottom + elemSize.paddingTop +
elemSize.borderTopWidth + elemSize.borderBottomWidth;
}
 
measure = Math.max( measure, 0 );
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
};
 
/**
* emit eventComplete on a collection of items events
* @param {String} eventName
* @param {Array} items - Outlayer.Items
*/
proto._emitCompleteOnItems = function( eventName, items ) {
var _this = this;
function onComplete() {
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
}
 
var count = items.length;
if ( !items || !count ) {
onComplete();
return;
}
 
var doneCount = 0;
function tick() {
doneCount++;
if ( doneCount == count ) {
onComplete();
}
}
 
// bind callback
items.forEach( function( item ) {
item.once( eventName, tick );
});
};
 
/**
* emits events via EvEmitter and jQuery events
* @param {String} type - name of event
* @param {Event} event - original event
* @param {Array} args - extra arguments
*/
proto.dispatchEvent = function( type, event, args ) {
// add original event to arguments
var emitArgs = event ? [ event ].concat( args ) : args;
this.emitEvent( type, emitArgs );
 
if ( jQuery ) {
// set this.$element
this.$element = this.$element || jQuery( this.element );
if ( event ) {
// create jQuery event
var $event = jQuery.Event( event );
$event.type = type;
this.$element.trigger( $event, args );
} else {
// just trigger with type if no event available
this.$element.trigger( type, args );
}
}
};
 
// -------------------------- ignore & stamps -------------------------- //
 
 
/**
* keep item in collection, but do not lay it out
* ignored items do not get skipped in layout
* @param {Element} elem
*/
proto.ignore = function( elem ) {
var item = this.getItem( elem );
if ( item ) {
item.isIgnored = true;
}
};
 
/**
* return item to layout collection
* @param {Element} elem
*/
proto.unignore = function( elem ) {
var item = this.getItem( elem );
if ( item ) {
delete item.isIgnored;
}
};
 
/**
* adds elements to stamps
* @param {NodeList, Array, Element, or String} elems
*/
proto.stamp = function( elems ) {
elems = this._find( elems );
if ( !elems ) {
return;
}
 
this.stamps = this.stamps.concat( elems );
// ignore
elems.forEach( this.ignore, this );
};
 
/**
* removes elements to stamps
* @param {NodeList, Array, or Element} elems
*/
proto.unstamp = function( elems ) {
elems = this._find( elems );
if ( !elems ){
return;
}
 
elems.forEach( function( elem ) {
// filter out removed stamp elements
utils.removeFrom( this.stamps, elem );
this.unignore( elem );
}, this );
};
 
/**
* finds child elements
* @param {NodeList, Array, Element, or String} elems
* @returns {Array} elems
*/
proto._find = function( elems ) {
if ( !elems ) {
return;
}
// if string, use argument as selector string
if ( typeof elems == 'string' ) {
elems = this.element.querySelectorAll( elems );
}
elems = utils.makeArray( elems );
return elems;
};
 
proto._manageStamps = function() {
if ( !this.stamps || !this.stamps.length ) {
return;
}
 
this._getBoundingRect();
 
this.stamps.forEach( this._manageStamp, this );
};
 
// update boundingLeft / Top
proto._getBoundingRect = function() {
// get bounding rect for container element
var boundingRect = this.element.getBoundingClientRect();
var size = this.size;
this._boundingRect = {
left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
top: boundingRect.top + size.paddingTop + size.borderTopWidth,
right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
};
};
 
/**
* @param {Element} stamp
**/
proto._manageStamp = noop;
 
/**
* get x/y position of element relative to container element
* @param {Element} elem
* @returns {Object} offset - has left, top, right, bottom
*/
proto._getElementOffset = function( elem ) {
var boundingRect = elem.getBoundingClientRect();
var thisRect = this._boundingRect;
var size = getSize( elem );
var offset = {
left: boundingRect.left - thisRect.left - size.marginLeft,
top: boundingRect.top - thisRect.top - size.marginTop,
right: thisRect.right - boundingRect.right - size.marginRight,
bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
};
return offset;
};
 
// -------------------------- resize -------------------------- //
 
// enable event handlers for listeners
// i.e. resize -> onresize
proto.handleEvent = utils.handleEvent;
 
/**
* Bind layout to window resizing
*/
proto.bindResize = function() {
window.addEventListener( 'resize', this );
this.isResizeBound = true;
};
 
/**
* Unbind layout to window resizing
*/
proto.unbindResize = function() {
window.removeEventListener( 'resize', this );
this.isResizeBound = false;
};
 
proto.onresize = function() {
this.resize();
};
 
utils.debounceMethod( Outlayer, 'onresize', 100 );
 
proto.resize = function() {
// don't trigger if size did not change
// or if resize was unbound. See #9
if ( !this.isResizeBound || !this.needsResizeLayout() ) {
return;
}
 
this.layout();
};
 
/**
* check if layout is needed post layout
* @returns Boolean
*/
proto.needsResizeLayout = function() {
var size = getSize( this.element );
// check that this.size and size are there
// IE8 triggers resize on body size change, so they might not be
var hasSizes = this.size && size;
return hasSizes && size.innerWidth !== this.size.innerWidth;
};
 
// -------------------------- methods -------------------------- //
 
/**
* add items to Outlayer instance
* @param {Array or NodeList or Element} elems
* @returns {Array} items - Outlayer.Items
**/
proto.addItems = function( elems ) {
var items = this._itemize( elems );
// add items to collection
if ( items.length ) {
this.items = this.items.concat( items );
}
return items;
};
 
/**
* Layout newly-appended item elements
* @param {Array or NodeList or Element} elems
*/
proto.appended = function( elems ) {
var items = this.addItems( elems );
if ( !items.length ) {
return;
}
// layout and reveal just the new items
this.layoutItems( items, true );
this.reveal( items );
};
 
/**
* Layout prepended elements
* @param {Array or NodeList or Element} elems
*/
proto.prepended = function( elems ) {
var items = this._itemize( elems );
if ( !items.length ) {
return;
}
// add items to beginning of collection
var previousItems = this.items.slice(0);
this.items = items.concat( previousItems );
// start new layout
this._resetLayout();
this._manageStamps();
// layout new stuff without transition
this.layoutItems( items, true );
this.reveal( items );
// layout previous items
this.layoutItems( previousItems );
};
 
/**
* reveal a collection of items
* @param {Array of Outlayer.Items} items
*/
proto.reveal = function( items ) {
this._emitCompleteOnItems( 'reveal', items );
if ( !items || !items.length ) {
return;
}
var stagger = this.updateStagger();
items.forEach( function( item, i ) {
item.stagger( i * stagger );
item.reveal();
});
};
 
/**
* hide a collection of items
* @param {Array of Outlayer.Items} items
*/
proto.hide = function( items ) {
this._emitCompleteOnItems( 'hide', items );
if ( !items || !items.length ) {
return;
}
var stagger = this.updateStagger();
items.forEach( function( item, i ) {
item.stagger( i * stagger );
item.hide();
});
};
 
/**
* reveal item elements
* @param {Array}, {Element}, {NodeList} items
*/
proto.revealItemElements = function( elems ) {
var items = this.getItems( elems );
this.reveal( items );
};
 
/**
* hide item elements
* @param {Array}, {Element}, {NodeList} items
*/
proto.hideItemElements = function( elems ) {
var items = this.getItems( elems );
this.hide( items );
};
 
/**
* get Outlayer.Item, given an Element
* @param {Element} elem
* @param {Function} callback
* @returns {Outlayer.Item} item
*/
proto.getItem = function( elem ) {
// loop through items to get the one that matches
for ( var i=0; i < this.items.length; i++ ) {
var item = this.items[i];
if ( item.element == elem ) {
// return item
return item;
}
}
};
 
/**
* get collection of Outlayer.Items, given Elements
* @param {Array} elems
* @returns {Array} items - Outlayer.Items
*/
proto.getItems = function( elems ) {
elems = utils.makeArray( elems );
var items = [];
elems.forEach( function( elem ) {
var item = this.getItem( elem );
if ( item ) {
items.push( item );
}
}, this );
 
return items;
};
 
/**
* remove element(s) from instance and DOM
* @param {Array or NodeList or Element} elems
*/
proto.remove = function( elems ) {
var removeItems = this.getItems( elems );
 
this._emitCompleteOnItems( 'remove', removeItems );
 
// bail if no items to remove
if ( !removeItems || !removeItems.length ) {
return;
}
 
removeItems.forEach( function( item ) {
item.remove();
// remove item from collection
utils.removeFrom( this.items, item );
}, this );
};
 
// ----- destroy ----- //
 
// remove and disable Outlayer instance
proto.destroy = function() {
// clean up dynamic styles
var style = this.element.style;
style.height = '';
style.position = '';
style.width = '';
// destroy items
this.items.forEach( function( item ) {
item.destroy();
});
 
this.unbindResize();
 
var id = this.element.outlayerGUID;
delete instances[ id ]; // remove reference to instance by id
delete this.element.outlayerGUID;
// remove data for jQuery
if ( jQuery ) {
jQuery.removeData( this.element, this.constructor.namespace );
}
 
};
 
// -------------------------- data -------------------------- //
 
/**
* get Outlayer instance from element
* @param {Element} elem
* @returns {Outlayer}
*/
Outlayer.data = function( elem ) {
elem = utils.getQueryElement( elem );
var id = elem && elem.outlayerGUID;
return id && instances[ id ];
};
 
 
// -------------------------- create Outlayer class -------------------------- //
 
/**
* create a layout class
* @param {String} namespace
*/
Outlayer.create = function( namespace, options ) {
// sub-class Outlayer
var Layout = subclass( Outlayer );
// apply new options and compatOptions
Layout.defaults = utils.extend( {}, Outlayer.defaults );
utils.extend( Layout.defaults, options );
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
 
Layout.namespace = namespace;
 
Layout.data = Outlayer.data;
 
// sub-class Item
Layout.Item = subclass( Item );
 
// -------------------------- declarative -------------------------- //
 
utils.htmlInit( Layout, namespace );
 
// -------------------------- jQuery bridge -------------------------- //
 
// make into jQuery plugin
if ( jQuery && jQuery.bridget ) {
jQuery.bridget( namespace, Layout );
}
 
return Layout;
};
 
function subclass( Parent ) {
function SubClass() {
Parent.apply( this, arguments );
}
 
SubClass.prototype = Object.create( Parent.prototype );
SubClass.prototype.constructor = SubClass;
 
return SubClass;
}
 
// ----- helpers ----- //
 
// how many milliseconds are in each unit
var msUnits = {
ms: 1,
s: 1000
};
 
// munge time-like parameter into millisecond number
// '0.4s' -> 40
function getMilliseconds( time ) {
if ( typeof time == 'number' ) {
return time;
}
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
var num = matches && matches[1];
var unit = matches && matches[2];
if ( !num.length ) {
return 0;
}
num = parseFloat( num );
var mult = msUnits[ unit ] || 1;
return num * mult;
}
 
// ----- fin ----- //
 
// back in global
Outlayer.Item = Item;
 
return Outlayer;
 
}));
 
/*!
* Masonry v4.2.2
* Cascading grid layout library
* https://masonry.desandro.com
* MIT License
* by David DeSandro
*/
 
( function( window, factory ) {
// universal module definition
/* jshint strict: false */ /*globals define, module, require */
if ( typeof define == 'function' && define.amd ) {
// AMD
define( [
'outlayer/outlayer',
'get-size/get-size'
],
factory );
} else if ( typeof module == 'object' && module.exports ) {
// CommonJS
module.exports = factory(
require('outlayer'),
require('get-size')
);
} else {
// browser global
window.Masonry = factory(
window.Outlayer,
window.getSize
);
}
 
}( window, function factory( Outlayer, getSize ) {
 
 
 
// -------------------------- masonryDefinition -------------------------- //
 
// create an Outlayer layout class
var Masonry = Outlayer.create('masonry');
// isFitWidth -> fitWidth
Masonry.compatOptions.fitWidth = 'isFitWidth';
 
var proto = Masonry.prototype;
 
proto._resetLayout = function() {
this.getSize();
this._getMeasurement( 'columnWidth', 'outerWidth' );
this._getMeasurement( 'gutter', 'outerWidth' );
this.measureColumns();
 
// reset column Y
this.colYs = [];
for ( var i=0; i < this.cols; i++ ) {
this.colYs.push( 0 );
}
 
this.maxY = 0;
this.horizontalColIndex = 0;
};
 
proto.measureColumns = function() {
this.getContainerWidth();
// if columnWidth is 0, default to outerWidth of first item
if ( !this.columnWidth ) {
var firstItem = this.items[0];
var firstItemElem = firstItem && firstItem.element;
// columnWidth fall back to item of first element
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
// if first elem has no width, default to size of container
this.containerWidth;
}
 
var columnWidth = this.columnWidth += this.gutter;
 
// calculate columns
var containerWidth = this.containerWidth + this.gutter;
var cols = containerWidth / columnWidth;
// fix rounding errors, typically with gutters
var excess = columnWidth - containerWidth % columnWidth;
// if overshoot is less than a pixel, round up, otherwise floor it
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
cols = Math[ mathMethod ]( cols );
this.cols = Math.max( cols, 1 );
};
 
proto.getContainerWidth = function() {
// container is parent if fit width
var isFitWidth = this._getOption('fitWidth');
var container = isFitWidth ? this.element.parentNode : this.element;
// check that this.size and size are there
// IE8 triggers resize on body size change, so they might not be
var size = getSize( container );
this.containerWidth = size && size.innerWidth;
};
 
proto._getItemLayoutPosition = function( item ) {
item.getSize();
// how many columns does this brick span
var remainder = item.size.outerWidth % this.columnWidth;
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
// round if off by 1 pixel, otherwise use ceil
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
colSpan = Math.min( colSpan, this.cols );
// use horizontal or top column position
var colPosMethod = this.options.horizontalOrder ?
'_getHorizontalColPosition' : '_getTopColPosition';
var colPosition = this[ colPosMethod ]( colSpan, item );
// position the brick
var position = {
x: this.columnWidth * colPosition.col,
y: colPosition.y
};
// apply setHeight to necessary columns
var setHeight = colPosition.y + item.size.outerHeight;
var setMax = colSpan + colPosition.col;
for ( var i = colPosition.col; i < setMax; i++ ) {
this.colYs[i] = setHeight;
}
 
return position;
};
 
proto._getTopColPosition = function( colSpan ) {
var colGroup = this._getTopColGroup( colSpan );
// get the minimum Y value from the columns
var minimumY = Math.min.apply( Math, colGroup );
 
return {
col: colGroup.indexOf( minimumY ),
y: minimumY,
};
};
 
/**
* @param {Number} colSpan - number of columns the element spans
* @returns {Array} colGroup
*/
proto._getTopColGroup = function( colSpan ) {
if ( colSpan < 2 ) {
// if brick spans only one column, use all the column Ys
return this.colYs;
}
 
var colGroup = [];
// how many different places could this brick fit horizontally
var groupCount = this.cols + 1 - colSpan;
// for each group potential horizontal position
for ( var i = 0; i < groupCount; i++ ) {
colGroup[i] = this._getColGroupY( i, colSpan );
}
return colGroup;
};
 
proto._getColGroupY = function( col, colSpan ) {
if ( colSpan < 2 ) {
return this.colYs[ col ];
}
// make an array of colY values for that one group
var groupColYs = this.colYs.slice( col, col + colSpan );
// and get the max value of the array
return Math.max.apply( Math, groupColYs );
};
 
// get column position based on horizontal index. #873
proto._getHorizontalColPosition = function( colSpan, item ) {
var col = this.horizontalColIndex % this.cols;
var isOver = colSpan > 1 && col + colSpan > this.cols;
// shift to next row if item can't fit on current row
col = isOver ? 0 : col;
// don't let zero-size items take up space
var hasSize = item.size.outerWidth && item.size.outerHeight;
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
 
return {
col: col,
y: this._getColGroupY( col, colSpan ),
};
};
 
proto._manageStamp = function( stamp ) {
var stampSize = getSize( stamp );
var offset = this._getElementOffset( stamp );
// get the columns that this stamp affects
var isOriginLeft = this._getOption('originLeft');
var firstX = isOriginLeft ? offset.left : offset.right;
var lastX = firstX + stampSize.outerWidth;
var firstCol = Math.floor( firstX / this.columnWidth );
firstCol = Math.max( 0, firstCol );
var lastCol = Math.floor( lastX / this.columnWidth );
// lastCol should not go over if multiple of columnWidth #425
lastCol -= lastX % this.columnWidth ? 0 : 1;
lastCol = Math.min( this.cols - 1, lastCol );
// set colYs to bottom of the stamp
 
var isOriginTop = this._getOption('originTop');
var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
stampSize.outerHeight;
for ( var i = firstCol; i <= lastCol; i++ ) {
this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
}
};
 
proto._getContainerSize = function() {
this.maxY = Math.max.apply( Math, this.colYs );
var size = {
height: this.maxY
};
 
if ( this._getOption('fitWidth') ) {
size.width = this._getContainerFitWidth();
}
 
return size;
};
 
proto._getContainerFitWidth = function() {
var unusedCols = 0;
// count unused columns
var i = this.cols;
while ( --i ) {
if ( this.colYs[i] !== 0 ) {
break;
}
unusedCols++;
}
// fit container to columns that have been used
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
};
 
proto.needsResizeLayout = function() {
var previousWidth = this.containerWidth;
this.getContainerWidth();
return previousWidth != this.containerWidth;
};
 
return Masonry;
 
}));
 
/branches/v3.01-serpe/widget/modules/photo/squelettes/js/WidgetPhoto.js
New file
0,0 → 1,47
function WidgetPhoto( proprietes ) {
if ( this.valOk( proprietes ) ) {
this.id = proprietes.id;
this.galerieId = proprietes.galerieId;
}
}
 
WidgetPhoto.prototype = new WidgetPhotoCommun();
 
WidgetPhoto.prototype.initTpl = function() {
$('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
gutter: 10,
percentPosition: true
});
 
};
 
WidgetPhoto.prototype.initEvts = function() {
const lthis = this;
const $thisGalerie = $( '#cel-photo-contenu' + this.id );
var url = '',
focus = $( '#print_content' );
 
$thisGalerie.on( 'click', 'a.cel-img, a.cel-img-contact', function( event ) {
event.preventDefault();
var lienImage = this.href;
 
if ( !/contact/.test( this.className ) ) {
url = '?mode=popup&url_image=' + lienImage + '&galerie_id=' + lthis.galerieId;
url += '&popup_url=' + encodeURIComponent( url );
} else {
url = lienImage;
}
lthis.chargerContenuModale( url );
});
$( '.bouton-plus-filtres', $thisGalerie ).on( 'click', function( event ) {
event.preventDefault();
$( '.autres-filtres, .plus, .moins', $thisGalerie ).toggleClass( 'hidden' );
});
$( '.bouton-fermer-filtres', $thisGalerie ).on( 'click', function( event ) {
event.preventDefault();
$( '.autres-filtres, .bouton-plus-filtres .moins', $thisGalerie ).addClass( 'hidden' );
$( '.bouton-plus-filtres .plus', $thisGalerie ).removeClass( 'hidden' );
});
};
/branches/v3.01-serpe/widget/modules/photo/squelettes/js/WidgetPhotoPopup.js
New file
0,0 → 1,685
function WidgetPhotoPopup( proprietes ) {
if( this.valOk( proprietes ) ) {
this.urlWidget = proprietes.urlWidget;
this.urls = proprietes.urls;
this.infosImages = proprietes.infosImages;
this.urlImage = proprietes.urlImage;
this.indexPremiereImage = proprietes.indexPremiereImage;
this.indexImage = this.indexPremiereImage;
this.tailleMax = proprietes.tailleMax;
this.popupUrl = proprietes.popupUrl;
this.urlBaseTelechargement = proprietes.urlBaseTelechargement;
this.urlServiceRegenererMiniature = proprietes.urlServiceRegenererMiniature;
}
 
this.mettreAJourInfosImage();
}
 
WidgetPhotoPopup.prototype = new WidgetPhotoCommun();
 
WidgetPhotoPopup.prototype.initTpl = function() {
this.redimensionnerGalerie();
$( '#info-img-galerie' ).find( '.active' ).removeClass( 'active' );
$( '#img-cadre-' + this.indexImage + ',#indicateur-img-' + this.indexImage ).addClass( 'active' );
 
this.mettreAJourPopup();
 
this.redimentionnerModaleCarousel();
};
 
WidgetPhotoPopup.prototype.initEvts = function() {
const lthis = this;
 
this.initEvtsDefilerImage();
this.initEvtsContact();
$( window ).on( 'resize', lthis.redimentionnerModaleCarousel.bind( lthis ) );
this.initEvtsFonctionsPhoto();
this.initEvtsRetourGalerieResponsive();
this.initEvtsTagsPF();
};
 
WidgetPhotoPopup.prototype.mettreAJourPopup = function() {
this.mettreAJourInfosImage();
this.afficherTitreImage();
this.traiterMetas();
this.regenererMiniature();
this.fournirLienIdentiplante();
};
 
WidgetPhotoPopup.prototype.mettreAJourInfosImage = function() {
this.item = this.infosImages[this.urls[this.indexImage]];
this.titreImage = this.item['titre'];
this.urlLienEflore = this.item['lien'];
this.idImage = this.item['id_photo'];
this.urlThisImage = this.item['url_photo']+'.jpg';
this.obs = this.item['obs'];
this.nn = '[nn' + this.obs['nom_sel_nn']+']';
this.urlIP = this.obs['url_ip'];
this.tagsImage = this.tagsToArray( this.item['tags_photo'] );
this.tagsObs = this.tagsToArray( this.obs['tags_obs'] );
this.auteur = this.item['utilisateur']['nom_utilisateur'];
this.date = this.item['date'];
};
 
WidgetPhotoPopup.prototype.tagsToArray = function( tags ) {
if(!this.valOk(tags)) {
return [];
}
tags = tags.replace( new RegExp('\\.'), '' ).split( ',' );
 
let cleanTags = [],
nbTags = tags.length,
tag = '',
tagsSansEspaces = '',
cleanTagIndex = 0;
 
for(let i = 0; i < nbTags; i++) {
tag = tags[i];
tagsSansEspaces = tag.replace( ' ', '');
if( '' !== tagsSansEspaces ) {
cleanTags.push( tag.trim() );
}
}
 
return cleanTags;
};
 
WidgetPhotoPopup.prototype.initEvtsDefilerImage = function() {
const lthis = this;
 
$( '#precedent, #suivant' ).on( 'click', function() {
lthis.defilerImage( this.id );
});
 
$( '#print_content:not(saisir-tag)' ).on( 'keydown', function( event ) {
 
const determinerSens = function( enventKey, left, right ) {
switch ( enventKey ) {
case left:
return 'suivant';
case right:
return 'precedent';
default:
break;
}
 
return;
}
 
event = (event || window.event);
// event.keyCode déprécié, on tente d'abord event.key
let sens = ( 'key' in event ) ? determinerSens( event.key, 'ArrowLeft', 'ArrowRight' ) : determinerSens( event.keyCode, 37, 39 );;
 
if ( lthis.valOk( sens ) ) {
lthis.defilerImage( sens );
}
});
};
 
WidgetPhotoPopup.prototype.initEvtsContact = function() {
const lthis = this;
 
$( '#bloc-infos-img' ).on( 'click', '.lien_contact', function( event ) {
event.preventDefault();
lthis.chargerContenuModale( this.href );
});
};
 
WidgetPhotoPopup.prototype.initEvtsFonctionsPhoto = function() {
const lthis = this;
 
$( '#boutons-footer #bloc-fct a, #retour-metas' ).on( 'click', function( event ){
event.preventDefault();
var voletAOuvrir = $( this ).data( 'volet' ),
voletAFermer = $( '.bloc-volet:not(.hidden)' ).data( 'volet' );
 
lthis.ouvrirVoletFct( voletAOuvrir, voletAFermer );
if ( window.matchMedia( '(max-width: 991px)' ).matches ) {
$( '#info-img-galerie' ).addClass( 'hidden' );
$( '#volet, #retour-galerie' ).removeClass( 'hidden' );
}
});
};
 
WidgetPhotoPopup.prototype.initEvtsRetourGalerieResponsive = function() {
$( '#retour-galerie' ).on( 'click', function( event ) {
event.preventDefault();
$( '#info-img-galerie' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
if ( window.matchMedia( '(max-width: 991px)' ).matches ) {
$( '#volet' ).addClass( 'hidden' );
$( '.bouton-fct.actif' ).removeClass( 'actif' );
}
});
};
 
WidgetPhotoPopup.prototype.initEvtsTagsPF = function() {
//recupérer tags en ajax (voir pictoflora, peut-être dans le php?)
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
// _GET
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
this.tagsPfCustom();
$( '#bloc-tags' ).on( 'click', '.tag', function( event ) {
event.preventDefault();
$( this ).toggleClass( 'actif' );
});
$( '#bloc-tags' ).on( 'click', '.custom-tag.actif .fermer', function( event ) {
event.preventDefault();
// Supprimer un custom-tag
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/38368
// _paramètres
// L'id du tag à la fin de l'url
// _DELETE
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/38368
// _réponse:
// ""
// Mettre à jour les mots cles
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
// _GET
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
$( this ).parent( '.custom-tag' ).remove();
});
 
$( '#bloc-tags' ).on( 'keyup', '.custom-tag.actif', function( event ) {
let supprimerTag = false;
 
event = ( event || window.event );
// event.keyCode déprécié, on tente d'abord event.key
if ( 'key' in event ) {
supprimerTag = ( 'Delete' === event.key || 'Backspace' === event.key );
} else {
supprimerTag = ( 46 === event.keyCode || 8 === event.keyCode );
}
if ( supprimerTag ) {
// Supprimer un custom-tag
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/38368
// _paramètres
// L'id du tag à la fin de l'url
// _DELETE
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/38368
// _réponse:
// ""
// Mettre à jour les mots cles
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
// _GET
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
$( this ).parent( '.custom-tag' ).remove();
}
});
};
 
WidgetPhotoPopup.prototype.defilerImage = function( sens ) {
if ( 'suivant' === sens ) {
this.indexImage++ ;
if( this.indexImage >= this.urls.length ) {
this.indexImage = 0;
}
} else if ( 'precedent' === sens ) {
this.indexImage--;
if( this.indexImage <= 0 ) {
this.indexImage = this.urls.length -1;
}
}
// @TODO: Modifier l'attr content de 'meta[property=og:image]' et y mettre l'url de l'image
this.mettreAJourPopup();
};
 
WidgetPhotoPopup.prototype.afficherTitreImage = function() {
let lienContact =
this.urlWidget +'?mode=contact&nn=' + this.nn +
'&nom_sci=' + this.obs['nom_sel'] +
'&date=' + this.date +
'&localisation=' + this.obs['localisation'] +
'&id_image=' + this.idImage +
'&auteur=' + this.auteur;
 
if ( this.valOk( this.popupUrl ) ) {
if (! this.popupUrl.match( new RegExp( 'img:' + this.idImage ) ) ) {
this.popupUrl = this.actualiserPopupUrl( this.popupUrl, this.urlThisImage );
}
lienContact += '&popup_url=' + encodeURIComponent( this.popupUrl );
}
 
$( '#bloc-infos-img' ).html(
this.afficherLien( this.urlLienEflore, this.obs['nom_sel'] )+
' par '+
'<a class="lien_contact" href="' + lienContact + '">' + this.auteur + '</a> '+
' le ' + this.date + ' - ' + this.obs['localisation']
);
};
 
WidgetPhotoPopup.prototype.actualiserPopupUrl = function( queryString, remplacement ) {
let queryStringParsee = queryString.substring(1).split('&');
 
$.each( queryStringParsee, function( i, param ) {
if( /url_image/.test( param ) ) {
queryString = queryString.replace( param, 'url_image=' + remplacement );
return false;
}
});
return queryString;
};
 
WidgetPhotoPopup.prototype.redimentionnerModaleCarousel = function() {
this.redimensionnerGalerie();
if ( window.matchMedia( '(max-width: 991px)' ).matches ) {
$( '#volet, #retour-galerie' ).addClass( 'hidden' );
$( '#info-img-galerie' ).removeClass( 'hidden' );
$( '.bouton-fct.actif' ).removeClass( 'actif' );
$( '.nettoyage-volet.haut' ).text( $( '#bloc-infos-img' ).text() );
$( '#boutons-footer, #info-img-galerie' ).removeClass( 'col-lg-8' );
$( '#bloc-infos-img, #volet' ).removeClass( 'col-lg-4' );
} else {
$( '#volet, #info-img-galerie' ).removeClass( 'hidden' );
if ( this.valOk( $( '.bloc-volet:not(.hidden)' ) ) ) {
$( '.bouton-fct.' + $( '.bloc-volet:not(.hidden)' ).data( 'volet' ) ).addClass( 'actif' );
}
$( '.nettoyage-volet.bas' ).text( $( '#bloc-infos-img' ).text() );
$( '#boutons-footer, #info-img-galerie' ).addClass( 'col-lg-8' );
$( '#bloc-infos-img, #volet' ).addClass( 'col-lg-4' );
$( '#retour-galerie' ).addClass( 'hidden' );
}
};
 
WidgetPhotoPopup.prototype.redimensionnerGalerie = function() {
var maxSize = ( $( window ).width() / $( window ).height() ) < 1 ? $( window ).width() : $( window ).height();
 
maxSize -= 30;
$( '.carousel-item img' ).each( function( index, image ) {
var proportion = image.dataset.width / image.dataset.height,
cssResize = {};
 
if ( proportion >= 1 ) {
cssResize['width'] = maxSize;
}
if ( proportion <= 1) {
cssResize['height'] = maxSize;
}
$( image ).css( cssResize );
});
};
 
WidgetPhotoPopup.prototype.ouvrirVoletFct = function( voletAOuvrir, voletAFermer ) {
if( voletAOuvrir !== voletAFermer ) {
$( '#boutons-footer .' + voletAFermer ).removeClass( 'actif' );
$( '#boutons-footer .' + voletAOuvrir ).addClass( 'actif' );
$( '#bloc-' + voletAFermer ).addClass( 'hidden' );
$( '#bloc-' + voletAOuvrir ).removeClass( 'hidden' );
$( '#volet' ).scrollTop(0);
$( '#retour-metas' ).removeClass( 'hidden', 'meta' === voletAOuvrir );
}
};
 
WidgetPhotoPopup.prototype.tagsPfCustom = function() {
const lthis = this;
 
$( '#saisir-tag' ).on( 'blur keyup', function( event ) {
event = ( event || window.event );
 
var ajouterTag = ( 'blur' === event.type );
 
// event.keyCode déprécié, on tente d'abord event.key
if ( 'key' in event ) {
if ( 'Enter' === event.key ) {
ajouterTag = true;
}
} else if ( 13 === event.keyCode ) {
ajouterTag = true;
}
if ( ajouterTag ) {
var nouveauTag = $( this ).val(),
nouveauTagAttr = lthis.chaineValableAttributsHtml( nouveauTag.toLowerCase() );
 
if( lthis.valOk( nouveauTagAttr ) && !lthis.valOk( $( '#' + nouveauTagAttr + '.tag' ) ) ) {
// Envoyer tags en ajax :
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/
// _paramètres :
//rien
// _PUT
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles/
// _paramètres :
// image=197938&mot_cle=motcleperso&auteur.id=44084
// Mettre à jour les mots cles
// _OPTIONS
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
// _GET
// https://api-test.tela-botanica.org/service:del:0.1/mots-cles?image=197938
$( '#tags-pf-supp' ).append(
'<a id="' + nouveauTagAttr + '" class="btn tag custom-tag actif">' +
nouveauTag + '&nbsp;<i class="fas fa-times-circle fermer"></i>' +
'</a>'
);
$( '#form-tags-auteur' )[0].reset();
$( this ).val( '' );
}
}
});
};
 
WidgetPhotoPopup.prototype.traiterMetas = function() {
this.afficherMetas();
this.afficherPopupLocalisation();
this.afficherMetasPlus();
this.fournirLienTelechargement();
};
 
WidgetPhotoPopup.prototype.afficherMetas = function() {
const lthis = this;
const META_CONTENUS = {
'nom' : this.afficherLien( this.urlLienEflore, this.obs['nom_sel'] ),
'localisation' : this.obs['localisation'],
'auteur' : this.auteur,
'date-obs' : this.date,
'commentaire' : this.obs['commentaire'],
'certitude' : this.obs['certitude'],
'fiabilite' : this.obs['fiabilite'],
'num-photo' : this.idImage,
'titre-original' : this.item['nom_original'],
'date-photo' : this.formaterDate( this.item['date_photo'] ),
'attribution-copy' : this.item['attribution'],
'url-copy' : this.urlThisImage
};
 
$.each( META_CONTENUS, function( attrId, contenu ) {
let $metaContainer = $( '#bloc-meta #'+attrId );
 
if ( lthis.valOk( contenu ) ) {
switch( attrId ) {
case 'attribution-copy' :
case 'url-copy' :
$metaContainer.val( contenu );
lthis.copieAutoChamp( $metaContainer );
break;
case 'nom' :
$( '.contenu', $metaContainer ).html( contenu );
$( '.bouton', $metaContainer ).attr( 'href', lthis.urlLienEflore );
break;
case 'auteur' :
$( '.bouton', $metaContainer ).attr( 'href', lthis.item['urlProfil'] );
default:
$( '.contenu', $metaContainer ).text( contenu );
break;
}
}
});
};
 
WidgetPhotoPopup.prototype.copieAutoChamp = function( $champACopier ) {
$champACopier.off( 'click' ).on( 'click', function() {
$( '#attribution-copy, #url-copy' ).removeClass( 'hidden' )
.find( '.copy-message' ).remove();
 
$( this ).select();
document.execCommand( 'copy' );
 
$( this ).after(
'<p class="copy-message alert-success" style="width: 100%; height:' + $( this ).outerHeight() + 'px; margin: 0; display:flex;">'+
'<span style="margin:auto; font-size:1rem;">Copié dans le presse papier</span>'+
'</p>'
).addClass( 'hidden' );
 
setTimeout( function() {
$( '.copy-message' ).remove();
$champACopier.removeClass( 'hidden' );
}, 1000 );
});
};
 
WidgetPhotoPopup.prototype.afficherMetasPlus = function() {
const lthis = this;
const META_LABELS = {
'id_obs' : 'observation n°',
'projet' : 'projet',
'nom_referentiel' : 'réferentiel',
'date_obs' : 'date d´observation',
'nom_sel': 'nom scientifique',
'nom_sel_nn' : 'nom scientifique n°',
'nom_ret' : 'nom retenu',
'nom_ret_nn' : 'nom retenu n°',
'famille' : 'famille',
'tags_obs' : 'tags de l´observation',
'lieudit' : 'lieu dit',
'station' : 'station',
'milieu' : 'milieu',
'latitude' : 'latitude',
'longitude' : 'longitude',
'altitude' : 'altitude',
'localisation_precision': 'précision de la localisation',
'code_insee' : 'code insee de la commune',
'dept' : 'département',
'pays' : 'pays',
'est_ip_valide' : 'validée sur identiplante',
'score_ip' : 'score identiplante',
'url_ip' : 'url identiplante',
'abondance' : 'abondance',
'phenologie' : 'phénologie',
'spontaneite' : 'spontaneite',
'type_donnees' : 'type de donnees',
'biblio' : 'bibliographie',
'source' : 'source',
'herbier' : 'herbier',
'observateur' : 'observateur',
'observateur_structure' : 'structure'
};
 
const $contenuPlusMeta = $( '#contenu-meta-plus' );
let degres = $contenuPlusMeta.is( ':visible' ) ? '180' : '0';
 
this.rotationFleche( degres );
$contenuPlusMeta.empty();
 
$.each( META_LABELS, function( cle, label ) {
let idAttr = cle.replace( '_', '-' ),
contenu = lthis.obs[cle];
 
switch( cle ) {
case 'nom_sel':
contenu = lthis.afficherLien( lthis.urlLienEflore, contenu );
break;
 
case 'nom_ret':
let urlEfloreNomRetenu = lthis.urlLienEflore.replace( lthis.obs['nom_sel_nn'], lthis.obs['nom_ret_nn'] );
 
contenu = lthis.afficherLien( urlEfloreNomRetenu, contenu );
break;
 
case 'url_ip':
contenu = lthis.afficherLien( contenu, contenu );
break;
 
case 'est_ip_valide':
case 'herbier':
if( '0' === contenu ) {
contenu = 'non';
}
break;
 
case 'date_obs':
contenu = lthis.formaterDate( contenu );
break;
 
case 'tags_obs':
let tagsObsLength = lthis.tagsObs.length;
contenu = lthis.tagsObs.join( '<br>' );
break;
 
default:
break;
}
 
if ( lthis.valOk( contenu ) ) {
$contenuPlusMeta.append(
'<li id="' + idAttr + '-meta-plus" class="row">'+
'<div class="col-5 label">' + label.charAt( 0 ).toUpperCase() + label.slice( 1 ) + '</div>'+
'<div class="col-7 contenu">' + contenu + '</div>'+
'</li>'
);
}
});
 
if( !$contenuPlusMeta.hasClass( 'actif' ) ) {
$contenuPlusMeta.hide();
}
 
let estVisible = false;
 
$( '#plus-meta' ).off( 'click' ).on( 'click', function( event ) {
event.preventDefault();
$contenuPlusMeta.toggle( 200, function() {
estVisible = $contenuPlusMeta.is( ':visible' );
degres = estVisible ? '180' : '0';
$( this ).toggleClass( 'actif', estVisible );
lthis.rotationFleche( degres );
});
});
};
 
WidgetPhotoPopup.prototype.rotationFleche = function( degres ) {
$( '#plus-meta i' ).css({
'-webkit-transform' : 'rotate('+ degres +'deg)',
'-moz-transform' : 'rotate('+ degres +'deg)',
'-ms-transform' : 'rotate('+ degres +'deg)',
'transform' : 'rotate('+ degres +'deg)'
});
};
 
WidgetPhotoPopup.prototype.fournirLienTelechargement = function() {
const lthis = this;
 
$( '#formats' ).on( 'change', function() {
let format = ( $( this ).val() || 'O' ),
lienTelechargement = lthis.urlBaseTelechargement + lthis.idImage + '?methode=telecharger&format=' + format;
 
$( '#telecharger' ).attr( 'href', lienTelechargement );
});
 
$( '#formats' ).trigger( 'change' );
};
 
 
WidgetPhotoPopup.prototype.afficherPopupLocalisation = function() {
const lthis = this;
 
$( '#localisation a.bouton' ).on( 'click', function( event ){
event.preventDefault();
 
$( this ).after(
'<div id="localisation-map-container">'+
'<button id="map-close" type="button" class="bouton btn btn-sm btn-outline-secondary" aria-label="Close">'+
'<span aria-hidden="true">×</span>'+
'</button>'+
'<div id="localisation-map"></div>'+
'</div>'
);
 
let lat = lthis.obs['latitude'],
lng = lthis.obs['longitude'],
map = L.map( 'localisation-map', {
zoomControl: true,
dragging: false,
scrollWheelZoom: 'center'
} ).setView( [lat, lng], 12 );
 
map.markers = [];
 
L.tileLayer(
'https://osm.tela-botanica.org/tuiles/osmfr/{z}/{x}/{y}.png',
{
attribution: 'Data © <a href="http://osm.org/copyright">OpenStreetMap</a>',
maxZoom: 18
}
).addTo( map );
 
map.addLayer( new L.FeatureGroup() );
 
let marker = new L.Marker(
{
'lat': lat,
'lng': lng
},
{
draggable: false,
}
);
 
 
map.addLayer( marker );
map.markers.push( marker );
 
$( '#map-close' ).on( 'click', function( event ){
$( '#localisation-map-container' ).remove();
});
});
 
$( '#fenetre-modal' ).on( 'click', function( event ) {
if(
!$( event.target ).closest( '#localisation-map-container' ).length
&& !$( event.target ).closest( '#obs-localisation' ).length
) {
$( '#localisation-map-container' ).remove();
}
});
};
 
 
WidgetPhotoPopup.prototype.regenererMiniature = function() {
const lthis = this;
$( '#regenerer-miniature' ).off( 'click' ).on( 'click', function( event ) {
event.preventDefault();
 
let url = lthis.urlServiceRegenererMiniature + lthis.idImage;
 
$.get( url, function( data ) {
console.log( data );
}
).fail( function() {
console.log( 'La régénérétion d´image ne s´est pas faite' );
});
});
};
 
WidgetPhotoPopup.prototype.formaterDate = function( sqlDate ) {
dateFormatee = sqlDate
.substring( 0, 10 )
.split( '-' )
.reverse()
.join('/');
 
return dateFormatee;
};
 
WidgetPhotoPopup.prototype.afficherLien = function( url, nom ) {
if( !/https?:\/\//.test( url ) ) {
url = 'https://' + url;
}
return '<a href="' + url + '" target="_blank">' + nom + '</a> ';
};
 
WidgetPhotoPopup.prototype.fournirLienIdentiplante = function() {
const lthis = this;
$( '.signaler-erreur-obs' ).each( function() {
$( this ).attr( 'href', lthis.urlIP );
});
};
 
// WidgetPhotoPopup.prototype.afficherTags = function() {
// const lthis = this;
// const TAGS_BASE = [
// 'port',
// 'fleur',
// 'fruit',
// 'feuille',
// 'ecorce',
// 'rameau',
// 'planche',
// 'insecte'
// ];
 
// };
/branches/v3.01-serpe/widget/modules/photo/squelettes/popup_nl.tpl.html
New file
0,0 → 1,145
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="<?=$url_css?>popup.css" media="screen" />
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6/jquery-1.6.min.js"></script>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
var urls = [<?= '"'.implode($urls, '","').'"'; ?>];
var infos_images = <?= json_encode($infos_images); ?>;
var indexImage = 0;
var urlImage = "<?= $url_image; ?>";
var tailleMax = 580;
 
function redimensionnerImage(objet) {
 
objet.removeAttr("width");
objet.removeAttr("height");
 
var hauteurImage = objet.height();
var largeurImage = objet.width();
var rapport = 1;
if(hauteurImage > largeurImage && hauteurImage > tailleMax) {
rapport = largeurImage/hauteurImage;
hauteurImage = 580;
 
largeurImage = hauteurImage*rapport;
$('#illustration').attr("height", hauteurImage);
$('#illustration').attr("width", largeurImage);
}
hauteurFleches = ((hauteurImage+90)/2);
$('#info-img-galerie .conteneur-precedent').attr("top", hauteurFleches);
$('#info-img-galerie .conteneur-suivant').attr("top", hauteurFleches);
 
window.resizeTo(largeurImage+120,hauteurImage+120);
}
 
function imageSuivante() {
indexImage++;
if(indexImage >= urls.length) {
indexImage = 0;
}
afficherTitreImage();
$('#illustration').attr('src', urls[indexImage]);
}
 
function imagePrecedente() {
indexImage--;
if(indexImage <= 0) {
indexImage = urls.length - 1;
}
afficherTitreImage();
$('#illustration').attr('src', urls[indexImage]);
}
 
function afficherTitreImage() {
item = infos_images[urls[indexImage]];
var titre = item['titre'];
var infos = decouperTitre(titre);
var lienContact = '<?= $url_widget ?>?mode=contact&nn='+infos.nn+
'&nom_sci='+infos.nom_sci+
'&date='+infos.date+
'&id_image='+item['guid'];
titre = '<a href="'+item['lien']+'">'+infos.nom_sci+'</a> '+
' door <a class="lien_contact" href="'+lienContact+'">'+infos.auteur+'</a> '+
' op '+infos.date+' ';
$('#bloc-infos-img').html(titre);
}
 
function decouperTitre(titre) {
var tab_titre = titre.split('[nn');
var nom_sci = tab_titre[0];
var tab_titre_suite = tab_titre[1].split(' door ');
var nn = '[nn'+tab_titre_suite[0];
var tab_titre_fin = tab_titre_suite[1].split(' op ');
var utilisateur = tab_titre_fin[0];
var date = tab_titre_fin[1];
 
var titre_decoupe = {'nom_sci' : nom_sci, 'nn' : nn, 'date' : date, 'auteur' : utilisateur};
return titre_decoupe;
}
 
function ouvrirFenetreContact(lienImage) {
var url = lienImage.attr("href");
window.open(url, '_blank', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, width='+(400)+', height='+(550));
}
 
$(document).ready(function() {
$('#precedent').click(function() {
imagePrecedente();
});
 
$('#suivant').click(function() {
imageSuivante();
});
 
if(urlImage != "null" && urlImage != "") {
indexImage = Array.indexOf(urls, urlImage);
$('#illustration').attr('src', urls[indexImage]);
afficherTitreImage();
}
 
$('#illustration').load(function() {
redimensionnerImage($(this));
});
 
$("body").keydown(function(e) {
if(e.keyCode == 37) { // gauche
imagePrecedente();
}
else if(e.keyCode == 39) { // droite
imageSuivante();
}
});
 
$('.lien_contact').live('click', function(event) {
event.preventDefault();
ouvrirFenetreContact($(this));
});
});
//]]>
</script>
 
<div id="info-img-galerie">
<div class="conteneur-precedent">
<a id="precedent" href="#" title="Klik hier of maak gebruik van het pijltje naar links om de vorige afbeelding weer te geven">
<img style="border:none" src="https://www.tela-botanica.org/sites/commun/generique/images/flecheGauche.jpg" alt="&lt;" />
</a>
</div>
<div class="img-cadre">
<img id="illustration" src="<?=$urls[0]?>" alt="" /><br />
</div>
<div class="conteneur-suivant">
<a id="suivant" href="#" title="Klik hier of maak gebruik van het pijltje naar rechts om de volgende afbeelding weer te geven">
<img style="border:none" src="https://www.tela-botanica.org/sites/commun/generique/images/flecheDroite.jpg" alt="&gt;" />
</a>
</div>
<hr class="nettoyage" />
<div id="bloc-infos-img"></div>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/photo/squelettes/photo_retrocompatibilite_ajax.tpl.html
New file
0,0 → 1,8
<!-- Retrocompatibilité avec l'ancien mode ajax-->
<script type="text/javascript">
function resizeIframe(iframe) {
iframe.height = (iframe.contentWindow.document.body.scrollHeight+20)+'px';
window.requestAnimationFrame(() => resizeIframe(iframe));
}
</script>
<iframe id="ajax-widget-photo<?php echo $id;?>" src="<?php echo $url_widget; ?>" onload="resizeIframe(this);" frameBorder="0" style="width: 100%;"></iframe>
/branches/v3.01-serpe/widget/modules/photo/squelettes/photo_nl.tpl.html
New file
0,0 → 1,208
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Publieke foto's CEL - Tela Botanica</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, foto, CEL" />
<meta name="description" content="Presentatiewidget van de meest recente foto’s die op de ‘Carnet en Ligne’ van Tela Botanica werden gepubliceerd" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgetfoto CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Minifotoreeks publieke waarnemingen van de ‘Carnet en Ligne’" />
<?php
if (isset($items[0])) {
$iz = $items[0];
$izUrl = sprintf($iz['url_tpl'], 'CRS');
echo '<meta property="og:image" content="' . $izUrl . '" />';
} else {
echo '<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />'
.'<meta property="og:image:type" content="image/png" />'
.'<meta property="og:image:width" content="256" />'
.'<meta property="og:image:height" content="256" />';
}
?>
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
 
<!-- Feuilles de styles -->
<link rel="stylesheet" type="text/css" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?=$url_css?>photo.css" media="screen" />
<style type="text/css">
html {
overflow:hidden;
}
body{
overflow:hidden;
padding:0;
margin:0;
width:100%;
height:100%;
background-color:#DDDDDD;
color:black;
}
#cel-photo-contenu<?=$id?>, #cel-galerie-photo<?=$id?>{
width:<?=(($colonne * 69))?>px;
}
#cel-galerie-photo<?=$id?> #cel-photo-extra<?=$id?> img{
width:<?=(($colonne * 69)-6)?>px;
}
</style>
 
<!-- Javascript : bibliothèques -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6/jquery-1.6.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.js"></script>
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
<body>
<!-- WIDGET:CEL:PHOTO - DEBUT -->
<div id="cel-photo-contenu<?=$id?>" class="cel-photo-contenu">
<?php if (isset($erreurs) || isset($informations)) : ?>
<h1>Fouten en informatie</h1>
<p>Kan flow niet weergeven</p>
<!-- Affichage des erreurs et messages d'information : -->
<?php if ($erreurs) : ?>
<?php foreach ($erreurs as $erreur) : ?>
<p class="erreur"><?=$erreur;?></p>
<?php endforeach; ?>
<?php endif; ?>
 
<?php if ($informations) : ?>
<?php foreach ($informations as $information) : ?>
<p class="info"><?=$information;?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php else : ?>
<h1>
<? if (!empty($titre)) : ?>
<?=$titre?>
<? endif ; ?>
<? if($icone_rss) : ?>
<a href="<?=$flux_rss_url?>"
class="cel-photo-flux"
title="Afbeeldingen volgen"
onclick="window.open(this.href);return false;">
<img src="https://www.tela-botanica.org/sites/commun/generique/images/rss.png" alt="Afbeeldingen volgen" />
</a>
<? endif; ?>
</h1>
<div id="cel-galerie-photo<?=$id?>">
<?php foreach ($items as $item) : ?>
<div class="cel-photo">
<a href="<?=sprintf($item['url_tpl'], 'XL')?>" class="cel-img" title="<?=$item['titre']?> - Gepubliceerd op <?=$item['date']?> - GUID : <?=$item['guid']?>" rel="galerie-princ<?=$id?>">
<img src="<?=sprintf($item['url_tpl'], 'CRX2S')?>" alt="<?=$item['titre']?>"/>
</a>
<div id="cel-info-<?=$item['guid']?>" class="cel-infos">
<strong>
<?php if ($item['eflore_url'] != '#' && $item['eflore_url'] != '') { ?>
<a class="cel-img-titre" href="<?=$item['eflore_url']?>"
onclick="window.open(this.href);return false;"
title="Klik hier om toegang te krijgen tot de eFlore fiche">
<?=$item['infos']['nom_sci']?>
</a> door
<a class="cel-img-contact"
href="?mode=contact&nn=<?= urlencode($item['infos']['nn']) ;?>&nom_sci=<?= urlencode($item['infos']['nom_sci']) ;?>&date=<?= urlencode($item['infos']['date']) ;?>&id_image=<?= $item['guid']; ?>&lang=nl"
title="Klik hier om contact op te nemen met de auteur van de foto">
<?=$item['infos']['auteur']?>
</a>
te <?= $item['infos']['localite'] ?>
op <?=$item['infos']['date']?>
<?php } else { ?>
<?=$item['titre']?>
<?php } ?>
</strong><br />
<span class="cel-img-date">Gepubliceerd op <?=$item['date']?></span>
</div>
</div>
<?php endforeach; ?>
<?php if ($extra_actif) : ?>
<div id="cel-photo-extra<?=$id?>" class="cel-photo-extra cel-photo">
<a href="<?=sprintf($extra['url_tpl'], 'XL')?>" class="cel-img" title="<?=$extra['titre']?> - Gepubliceerd op <?=$extra['date']?> - GUID : <?=$extra['guid']?>" rel="galerie-princ<?=$id?>">
<img src="<?=sprintf($extra['url_tpl'], 'CRS')?>" alt="<?=$extra['titre']?>"/>
</a>
</div>
</div>
<?php endif ?>
<p class="cel-photo-pieds discretion nettoyage">
<span class="cel-photo-source">
Bron :
<a href="http://www.tela-botanica.org/page:cel" title="Carnet en Ligne" onclick="window.open(this.href);return false;">
CEL
</a>
</span>
<span class="cel-photo-date-generation">Au <?=strftime('%A %d %B %Y te %H:%M:%S')?></span>
</p>
<script type="text/Javascript">
//<![CDATA[
var utiliseFancybox = "<?= $utilise_fancybox; ?>";
if(utiliseFancybox) {
$('a.cel-img').attr('rel', 'galerie-princ<?=$id?>').fancybox({
transitionIn:'elastic',
transitionOut:'elastic',
speedIn :600,
speedOut:200,
overlayShow:true,
titleShow:true,
titlePosition:'inside',
titleFormat:function (titre, currentArray, currentIndex, currentOpts) {
var motif = /GUID : ([0-9]+)$/;
motif.exec(titre);
var guid = RegExp.$1;
var info = $('#cel-info-'+guid).clone().html();
var tpl =
'<div class="cel-legende">'+
'<p class="cel-legende-vei">'+'Beeld nr.' + (currentIndex + 1) + ' op ' + currentArray.length +'<\/p>'+
(titre && titre.length ? '<p>'+info+'<\/p>' : '' )+
'<\/div>';
return tpl;
}
});
} else {
$('a.cel-img').click(function(event) {
ouvrirFenetrePopup($(this));
event.preventDefault();
});
}
 
$(document).ready(function() {
$('a.cel-img-contact').live('click', function(event) {
event.preventDefault();
ouvrirFenetreContact($(this));
});
});
 
function ouvrirFenetrePopup(lienImage) {
var url = "?mode=popup&url_image="+lienImage.attr('href')+'&galerie_id=<?= $galerie_id ?>';
window.open(url, '', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, width='+(700)+', height='+(650));
}
 
function ouvrirFenetreContact(lienImage) {
var url = lienImage.attr("href");
window.open(url, '_blank', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, width='+(400)+', height='+(550));
}
//]]>
</script>
<?php endif; ?>
</div>
<!-- WIDGET:CEL:PHOTO - FIN -->
</body>
</html>
/branches/v3.01-serpe/widget/modules/photo/squelettes/popup.tpl.html
New file
0,0 → 1,314
<div id="bloc-infos-img"></div>
<div id="volet" class="col-lg-4 col-12">
<div id="volets-fct">
<a id="retour-metas" class="btn hidden" data-volet="meta"><i class="fas fa-info-circle"></i>&nbsp;<i class="fas fa-angle-double-left"></i></a>
<div class="nettoyage-volet haut"></div>
<div id="bloc-tags" class="bloc-volet tags hidden todo" data-volet="tags">
<h2>Tags</h2>
<h3>Tags CEL (propres à l'auteur)</h3>
<form id="form-tags-auteur">
<input type="text" name="null" id="tags-auteur" placeholder="Aucun tag ajouté par l'auteur de l'observation" disabled>
</form>
<h3>Tags Pictoflora</h3>
<div id="tags-pf">
<a id="port" class="btn tag">Port</a><!--
--><a id="fleur" class="btn tag">Fleur</a><!--
--><a id="fruit" class="btn tag">Fruit</a><!--
--><a id="feuille" class="btn tag">Feuille</a><!--
--><a id="ecorce" class="btn tag">Ecorce</a><!--
--><a id="rameau" class="btn tag">Rameau</a><!--
--><a id="planche" class="btn tag">Planche</a><!--
--><a id="insecte" class="btn tag">Insecte</a>
</div>
<label for="saisir-tag">Saisir un tag</label>
<input type="text" class="form-control" id="saisir-tag" name="saisir-tag">
<div id="tags-pf-supp"></div>
<a id="signaler-photo" class="btn btn-sm btn-warning"><i class="fas fa-exclamation-triangle"></i>&nbsp;Signaler une photo inappropriée</a>
<a id="signaler-erreur-id-bis" class="btn btn-sm btn-warning signaler-erreur-obs" title="Signaler une mauvaise identification ou en proposer une autre via l'outil identiplante" target="_blank"><i class="fas fa-exclamation-triangle"></i>&nbsp;Signaler une erreur d'identification</a>
</div>
<div id="bloc-noter" class="bloc-volet noter hidden todo" data-volet="noter">
<h2>Protocoles</h2>
<select name="protocole" id="protocole" class="form-control custom-select">
<option value="" selected hidden>Choix du protocole</option>
<option id="capitalisation_image" value="capitalisation_image">Capitalisation d'images</option>
<option id="aide_identification" value="aide_identification">Aide à l'identification</option>
<option id="defi_photo" value="defi_photo">Défi photo</option>
<option id="gentiane_azure" value="gentiane_azure">Enquête Gentiane-azuré</option>
<option id="arbres_tetards" value="arbres_tetards">Arbres têtards</option>
</select>
<p id="message-protocole" class="message">
Choisissez un protocole pour pouvoir noter la photo
<!-- le message change en fonction du protocole -->
</p>
<div id="bloc-notes-protocole" class="hidden">
<ul id="notes-protocole-fct">
<li id="plus-infos-protocole" class="row">
<div class="col-10 label">Plus d'infos sur le wiki</div>
<a class="bouton btn btn-sm btn-outline-secondary" target="_blank"><i class="fas fa-question-circle"></i></a>
</li>
<li id="note">
<div class="col-5 label">Notez</div>
<div class="col-5 contenu"><!-- étoiles --></div>
<a class="bouton btn btn-sm btn-outline-secondary"><i class="fas fa-backspace"></i></a>
</li>
<li id="note-moyenne">
<div class="col-5 label">Note Moyenne</div>
<div class="col-5 contenu" style="text-align:right;"></div>
</li>
<li id="note">
<div class="col-5 label">Nombre de votes</div>
<div class="col-5 contenu" style="text-align:right;"></div>
</li>
</ul>
</div>
</div>
<div id="bloc-signaler" class="bloc-volet signaler hidden todo" data-volet="signaler">
<h2>Signaler</h2>
<h3>Signaler une photo inappropriée</h3>
<p id="message-signaler" class="message">
En signalant cette photo vous participez à la qualification des données d'observation botaniques. Les photos qualifiées d'inappropriées pour l'une des raison ci-dessous ne seront pas affichées parmi les autres illustrations sur eFlore, voire pourront être dépubliées.
</p>
<li id="exemple-inapproprie" class="row">
<div class="col-10 label">Exemple de photos inappropriées</div>
<a class="bouton btn btn-sm btn-outline-secondary"><i class="fas fa-question-circle"></i></a>
</li>
<li id="plus-infos-signaler" class="row">
<div class="col-10 label">Plus d'infos sur le wiki</div>
<a class="bouton btn btn-sm btn-outline-secondary" target="_blank"><i class="fas fa-question-circle"></i></a>
</li>
<form id="type-inapprorie">
<div class="list-label">
En quoi cette photo est-elle inappropriée ?
</div>
<div class="list">
<div class="form-check">
<input type="checkbox" id="non-vegetale" name="type-inapprorie" class="non-vegetale form-check-input" value="non-vegetale">
<label for="non-vegetale" class="non-vegetale form-check-label">Photo non végétale</label>
</div>
<div class="form-check">
<input type="checkbox" id="ecran" name="type-inapprorie" class="ecran form-check-input" value="ecran">
<label for="ecran" class="ecran form-check-label">Photo d'écran</label>
</div>
<div class="form-check">
<input type="checkbox" id="floue-pixelisee" name="type-inapprorie" class="floue-pixelisee form-check-input" value="floue-pixelisee">
<label for="floue-pixelisee" class="floue-pixelisee form-check-label">Photo floue ou pixelisée</label>
</div>
<div class="form-check">
<input type="checkbox" id="cultivee-pot" name="type-inapprorie" class="cultivee-pot form-check-input" value="cultivee-pot">
<label for="cultivee-pot" class="cultivee-pot form-check-label">Plante cultivée / en pot</label>
</div>
</div>
</form>
<a id="signaler-erreur-id-signaler" class="btn btn-sm btn-warning signaler-erreur-obs" title="Signaler une mauvaise identification ou en proposer une autre via l'outil identiplante" target="_blank"><i class="fas fa-exclamation-triangle"></i>&nbsp;Signaler une erreur d'identification</a>
</div>
 
 
<!-- pas pour la version 1 -->
<div id="bloc-revision" class="bloc-volet revision hidden todo" data-volet="revision">
<h2>Révision</h2>
<h3>Proposition de détermination</h3>
 
</div>
 
 
 
<div id="bloc-meta" class="bloc-volet meta" data-volet="meta">
<h2>Métadonnées</h2>
<ul id="contenu-meta">
<li id="nom" class="row">
<div class="col-5 label">Nom</div>
<div class="col-5 contenu"></div>
<a class="bouton btn btn-sm btn-outline-secondary" target="_blank"><i class="fas fa-search"></i></a>
</li>
<li id="localisation" class="row">
<div class="col-5 label">Localisation</div>
<div class="col-5 contenu"></div>
<a id="obs-localisation" class="bouton btn btn-sm btn-outline-secondary"><i class="fas fa-map-marker-alt"></i></a>
</li>
<li id="auteur" class="row">
<div class="col-5 label">Auteur</div>
<div class="col-5 contenu"></div>
<a class="bouton btn btn-sm btn-outline-secondary" target="_blank"><i class="fas fa-user"></i></a>
</li>
<li id="date-obs" class="row">
<div class="col-5 label">Date d'observation</div>
<div class="col-5 contenu"></div>
</li>
<li id="commentaire" class="row">
<div class="col-5 label">Commentaires</div>
<div class="col-5 contenu"></div>
</li>
<li id="certitude" class="row">
<div class="col-5 label">Certitude de l'identification</div>
<div class="col-5 contenu"></div>
</li>
<li id="fiabilite" class="row">
<div class="col-5 label">Grade</div>
<div class="col-5 contenu"></div>
<a class="bouton btn btn-sm btn-outline-secondary todo"><i class="fas fa-question-circle"></i></a>
</li>
</ul>
<a id="plus-meta" class="afficher-plus"><i class="fas fa-angle-down"></i>&nbsp;Afficher plus de metadonnées sur l'observation</a>
<ul id="contenu-meta-plus"></ul>
<ul id="contenu-meta-suite">
<li id="num-photo" class="row">
<div class="col-5 label">Photo n°</div>
<div class="col-5 contenu"></div>
</li>
<li id="licence" class="row">
<div class="col-5 label">Licence</div>
<div class="col-5 contenu">
<a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.0/fr/">CC-BY-SA 2.0 FR</a>
</div>
</li>
</ul>
 
<a id="signaler-erreur-id" class="btn btn-sm btn-warning signaler-erreur-obs" title="Signaler une mauvaise identification ou en proposer une autre via l'outil identiplante" target="_blank" href="https://www.tela-botanica.org/appli:identiplante"><i class="fas fa-exclamation-triangle"></i>&nbsp;Signaler une erreur d'identification</a>
 
<h2>Téléchargement</h2>
<ul id="contenu-telechargement">
<li id="titre-original" class="row">
<div class="col-5 label">Titre original</div>
<div class="col-7 contenu"></div>
</li>
<li id="date-photo" class="row">
<div class="col-5 label">Date de la photo</div>
<div class="col-7 contenu"></div>
</li>
<li id="Licence-bis" class="row">
<div class="col-5 label">Licence</div>
<div class="col-7 contenu">
<a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.0/fr/">CC-BY-SA 2.0 FR</a>
</div>
</li>
<li id="attribution" class="row">
<div class="col-12 label">Attribution</div>
<div class="col-12 contenu">
<input id="attribution-copy" type="text" name="attribution-copy" rows="4" class="form-control" readonly="readonly" style="width: 100%; height: 100%;">
</div>
</li>
<li id="url" class="row">
<div class="col-12 label">Url</div>
<div class="col-12 contenu">
<input id="url-copy" type="text" name="url-copy" rows="2" class="form-control" readonly="readonly" style="width: 100%; height: 100%;">
</div>
</li>
</ul>
<ul id="contenu-telechargement-suite" class="mb-0">
<li id="autres-formats" class="row">
<div class="col-12 label">Autres formats</div>
<div class="col-12 contenu">
<select name="formats" id="formats" class="form-control custom-select">
<?php foreach ($formats_description as $format => $description):?>
<option value="<?php echo $format; ?>" <?php echo $format === 'O' ? 'selected' : ''; ?>><?php echo $description; ?></option>
<?php endforeach; ?>
</select>
</div>
</li>
</ul>
<a href="" data-url-base-telechargement="<?php echo $url_base_telechargement; ?>" id="telecharger" class="btn btn-success mt-0"><i class="fas fa-upload"></i>&nbsp;Télécharger</a>
<h2 class="todo">Partagez !</h2>
<p class="message todo">
Partagez cette photo sur les réseaux sociaux
</p>
<div id="boutons-reseaux-sociaux" class="todo">
<a id="facebook" class="btn btn-outline-secondary btn-lg"><i class="fab fa-facebook-f"></i></a>
<a id="twitter" class="btn btn-outline-secondary btn-lg"><i class="fab fa-twitter"></i></a>
<a id="mail" class="btn btn-outline-secondary btn-lg"><i class="fas fa-envelope"></i></a>
</div>
</div>
<div id="bloc-modif" class="bloc-volet modif hidden" data-volet="modif">
<h2>Modifier la photo</h2>
<h3 class="todo">Faire pivoter la photo</h3>
<div id="pivoter-photo" class="d-flex justify-content-around todo">
<div id="bloc-pivoter-droite" class="d-flex flex-column">
<label for="pivoter-droite">Pivoter à droite</label>
<a id="pivoter-droite" class="btn btn-success btn-lg"><i class="fas fa-redo"></i></a>
</div>
<div id="bloc-pivoter-gauche" class="d-flex flex-column">
<label for="pivoter-gauche">Pivoter à gauche</label>
<a id="pivoter-gauche" class="btn btn-success btn-lg"><i class="fas fa-undo"></i></a>
</div>
</div>
<h3>Régénérer miniature</h3>
<p id="message-regenerer" class="message">
Vous avez remarqué un problème dans l'affichage de la miniature de cette photo ? Vous pouvez la régénérer ci-dessous !
</p>
<a id="regenerer-miniature" class="btn btn-warning btn-lg"><i class="fas fa-recycle"></i>&nbsp;Régénérer la miniature</a>
</div>
<div id="bloc-aide" class="bloc-volet aide hidden todo" data-volet="aide">
<h2>Aide</h2>
<p id="texte-aide" class="message">
Auxerunt haec vulgi sordidioris audaciam, quod cum ingravesceret penuria commeatuum, famis et furoris inpulsu Eubuli cuiusdam inter suos clari domum ambitiosam ignibus subditis inflammavit rectoremque ut sibi iudicio imperiali addictum calcibus incessens et pugnis conculcans seminecem laniatu miserando discerpsit. post cuius lacrimosum interitum in unius exitio quisque imaginem periculi sui considerans documento recenti similia formidabat.
 
Novitates autem si spem adferunt, ut tamquam in herbis non fallacibus fructus appareat, non sunt illae quidem repudiandae, vetustas tamen suo loco conservanda; maxima est enim vis vetustatis et consuetudinis. Quin in ipso equo, cuius modo feci mentionem, si nulla res impediat, nemo est, quin eo, quo consuevit, libentius utatur quam intractato et novo. Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus.
 
Erat autem diritatis eius hoc quoque indicium nec obscurum nec latens, quod ludicris cruentis delectabatur et in circo sex vel septem aliquotiens vetitis certaminibus pugilum vicissim se concidentium perfusorumque sanguine specie ut lucratus ingentia laetabatur.
</p>
<ul id="aide-plus">
<li id="plus-infos" class="row">
<div class="col-10 label">Plus d'infos sur le wiki</div>
<a class="bouton btn btn-sm btn-outline-secondary" target="_blank"><i class="fas fa-question-circle"></i></a>
</li>
<li id="autres-questions" class="row">
<div class="col-10 label">D'autres questions ? Écrivez-nous !</div>
<a class="bouton btn btn-sm btn-outline-secondary"><i class="fas fa-envelope"></i></a>
</li>
</ul>
 
</div>
 
<div class="nettoyage-volet bas"></div>
</div>
 
</div>
<div id="info-img-galerie" class="carousel col-lg-8 col-12" data-ride="carousel" data-interval="false">
<div class="carousel-inner h-100 w-100">
<?php $urls = array_keys($infos_images); ?>
<?php for($index = 0; $index < count($urls); $index++):?>
<div id="img-cadre-<?php echo $index; ?>" class="carousel-item">
<img id="illustration-<?php echo $index;?>" class="d-block align-middle" src="<?php echo $urls[$index];?>" alt="" data-width="<?php echo $infos_image[$urls[$index]]['width'];?>" data-height="<?php echo $infos_image[$urls[$index]]['height'];?>">
</div>
<?php endfor; ?>
<a id="precedent" class="carousel-control-prev carousel-control" href="#info-img-galerie" role="button" data-slide="prev">
<i class="fas fa-chevron-circle-left"></i>
<span class="sr-only">Precedent</span>
</a>
<a id="suivant" class="carousel-control-next carousel-control" href="#info-img-galerie" role="button" data-slide="next">
<i class="fas fa-chevron-circle-right"></i>
<span class="sr-only">Suivant</span>
</a>
</div>
</div>
<div id="boutons-footer">
<div id="bloc-fct" class="">
<a id="bouton-tags" class="btn bouton-fct tags todo" data-volet="tags"><i class="fas fa-tags"></i></a>
<a id="bouton-noter" class="btn bouton-fct noter todo" data-volet="noter"><i class="far fa-star"></i></a>
<a id="bouton-signaler" class="btn bouton-fct signaler todo" data-volet="signaler"><i class="fas fa-exclamation-triangle"></i></a>
<a id="bouton-revision" class="btn bouton-fct revision todo" data-volet="revision"><i class="fas fa-edit"></i></a>
<a id="bouton-meta" class="btn bouton-fct meta actif" data-volet="meta"><i class="fas fa-info-circle"></i></a>
<a id="bouton-modif" class="btn bouton-fct modif" data-volet="modif"><i class="fas fa-redo-alt"></i></a>
<a id="bouton-aide" class="btn bouton-fct aide todo" data-volet="aide"><i class="fas fa-question-circle"></i></a>
</div>
<a id="retour-galerie" class="btn btn-outline-dark btn-lg bouton-fct hidden"><i class="fa fa-angle-double-down" aria-hidden="true"></i></a>
</div>
<script type="text/Javascript">
//<![CDATA[
var widgetProp = {
'keys':[<?php echo '"'.implode($keys, '","').'"'; ?>],
'urlWidget' : "<?php echo $url_widget; ?>",
'urls' : [<?php echo '"'.implode($urls, '","').'"'; ?>],
'infosImages' : <?php echo json_encode($infos_images); ?>,
'urlImage' : "<?php echo $url_image; ?>",
'indexPremiereImage' : <?php echo array_search($url_image, $urls); ?>,
'tailleMax' : 580,
'popupUrl' : "<?php echo $popup_url; ?>",
'urlBaseTelechargement' : "<?php echo $url_base_telechargement; ?>",
'urlServiceRegenererMiniature' : "<?php echo $url_ws_regenerer_img; ?>"
};
$( document ).ready( function() {
popup = new WidgetPhotoPopup( widgetProp );
popup.init();
});
//]]>
</script>
/branches/v3.01-serpe/widget/modules/photo/squelettes/contact_nl.tpl.html
New file
0,0 → 1,131
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Neem contact op met de auteur van de afbeelding</title>
<link rel="stylesheet" type="text/css" href="<?=$url_css?>contact.css" media="screen" />
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<link type="text/css" rel="stylesheet" href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.css">
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.8.1/messages_fr.js"></script>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
 
var donnees = new Array();
function envoyerCourriel() {
//console.log('Formulaire soumis');
if ($("#form-contact").valid()) {
var destinataireId = $("#fc_destinataire_id").attr('value');
var typeEnvoi = $("#fc_type_envoi").attr('value');
// l'envoi aux non inscrits passe par le service intermédiaire du cel
// qui va récupérer le courriel associé à l'image indiquée
var urlMessage = "https://www.tela-botanica.org/service:cel:celMessage/image/"+destinataireId;
var erreurMsg = "";
console.log($(this));
$.each($("#form-contact").serializeArray(), function (index, champ) {
var cle = champ.name;
cle = cle.replace(/^fc_/, '');
 
if (cle == 'sujet') {
champ.value += " - Carnet en ligne - Tela Botanica";
}
if (cle == 'message') {
champ.value += "\n--\n"+
"Dit bericht wordt u toegestuurd via de fotowidget van de ‘Carnet en Ligne’ van het Tela Botanica netwerk.\n"+
"http://www.tela-botanica.org/widget:cel:photo";
}
 
donnees[index] = {'name':cle,'value':champ.value};
});
$.ajax({
type : "POST",
cache : false,
url : urlMessage,
data : donnees,
beforeSend : function() {
$(".msg").remove();
},
success : function(data) {
$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
},
error : function(jqXHR, textStatus, errorThrown) {
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
reponse = jQuery.parseJSON(jqXHR.responseText);
if (reponse != null) {
$.each(reponse, function (cle, valeur) {
erreurMsg += valeur + "\n";
});
}
},
complete : function(jqXHR, textStatus) {
var debugMsg = '';
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
if (debugInfos != null) {
$.each(debugInfos, function (cle, valeur) {
debugMsg += valeur + "\n";
});
}
}
if (erreurMsg != '') {
$("#fc-zone-dialogue").append('<p class="msg">'+
'Er is een fout opgetreden bij het versturen van uw bericht.'+'<br />'+
'U kunt de storing melden bij <a href="'+
'mailto:cel@tela-botanica.org'+'?'+
'subject=Disfonctionnement du widget carto'+
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
'">cel@tela-botanica.org</a>.'+
'</p>');
}
}
});
}
return false;
}
 
function initialiserFormulaireContact() {
$("#form-contact").validate({
rules: {
fc_sujet : "required",
fc_message : "required",
fc_utilisateur_courriel : {
required : true,
email : true}
}
});
$("#form-contact").live("submit", function(event) {
event.preventDefault();
envoyerCourriel();
});
$("#fc_annuler").live("click", function() {window.close();});
}
 
$(document).ready(function() {
initialiserFormulaireContact();
});
//]]>
</script>
<!-- Squelette du formulaire de contact -->
<div id="tpl-form-contact">
<form id="form-contact" method="post" action="">
<div id="fc-zone-dialogue"></div>
<div>
<div><label for="fc_sujet">Onderwerp</label></div>
<div><input id="fc_sujet" name="fc_sujet" value="<?= $donnees['sujet'] ?>"/></div>
<div><label for="fc_message">Bericht</label></div>
<div><textarea id="fc_message" name="fc_message"><?= $donnees['message'] ?></textarea></div>
<div><label for="fc_utilisateur_courriel" title="Gebruik het e-mailadres waarmee u bent aangemeld bij Tela Botanica">Jouw e-mailadres</label></div>
<div><input id="fc_utilisateur_courriel" name="fc_utilisateur_courriel"/></div>
</div>
<p>
<input id="fc_destinataire_id" name="fc_destinataire_id" type="hidden" value="<?= $donnees['id_image'] ?>" />
<input type="hidden" name="fc_type_envoi" id="fc_type_envoi" value="non-inscrit" />
<input id="fc_annuler" type="button" value="Annuleren">
<input id="fc_effacer" type="reset" value="Wissen">
<input id="fc_envoyer" type="submit" value="Verzenden" />
</form>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/photo/squelettes/css/popup.css
New file
0,0 → 1,410
@CHARSET "UTF-8";
 
#info-img-galerie {
display: flex;
justify-content: center;
height: 100vh;
}
 
.modal-open .modal {
/*overflow: hidden;*/
}
 
.modal-header {
padding: 1rem;
border: none;
position: fixed;
top: 20px;
right: 20px;
color: #fff;
font-size: 1.5rem;
z-index: 10;
}
 
.modal-header .close {
text-shadow: none;
background-color: rgba(0, 0, 0, 0.2);
color: #fff;
font-size: 1rem;
padding: 1px;
margin: 0;
position: fixed;
top: 2px;
right: 2px;
opacity: 1;
}
 
.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
color: #918a6f;
background-color: rgba(0, 0, 0, 0.2);
box-shadow: none;
}
 
.modal-body {
padding: 0;
margin: 0;
min-height: 100vh;
}
 
.modal-dialog {
width: 100vw;
height: 100vh;
max-width: 100vw;
max-height: 100vh;
margin: 0;
padding: 0;
}
 
.modal-content {
max-height: 100vh;
min-height: 100vh;
border-radius: 0;
margin: 0;
padding: 0;
background-color: rgba(0, 0, 0, 0.8);
border:none;
}
 
.carousel-inner {
display: flex;
align-items: center;
justify-content: center;
}
 
.carousel-item.active {
text-align: center;
}
 
.carousel-item.active img {
margin: auto;
}
 
.carousel-item img {
padding: 1rem;
max-height: 100vh;
max-width: 100vh;
}
 
.carousel-control {
background-color: rgba(0,0,0,0.2);
width: initial;
padding: 0 2%;
}
 
.carousel-control,
#info-img-galerie a {
font-size: 1.5rem;
color: #fff;
opacity: 1;
}
 
.carousel-control:hover,
#info-img-galerie a:hover {
color: #918a6f;
}
 
hr.nettoyage {
visibility: hidden;
}
 
#boutons-footer {
position: absolute;
bottom: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.5);
}
 
#boutons-footer #bloc-fct .bouton-fct.actif {
color: #c3d45d;
}
 
#bloc-fct {
padding: 1rem;
display: flex;
justify-content: center;
}
 
#bloc-fct .bouton-fct {
background-color: rgba(0, 0, 0, 0.2);
color: #fff;
margin: 0;
}
 
#bloc-fct .bouton-fct:not(:last-child) {
margin-right: 5px;
}
 
#bloc-fct .bouton-fct:hover {
color: #918a6f;
}
 
#pivoter-photo a {
max-width: inherit;
padding: 1rem;
}
 
#volets-fct .btn#retour-metas {
position: fixed;
top: 2px;
left: 2px;
z-index: 10;
padding: 1px 5px;
font-size: 0.8rem;
margin: 0;
opacity: 1;
color: #fff;
background-color: rgba(0, 0, 0, 0.2);
text-shadow: none;
}
 
#volets-fct .btn#retour-metas:hover {
color: #918a6f;
}
 
#retour-galerie {
width: 100%;
margin: 0;
border: none !important;
border-radius: 0;
color: #fff;
background-color: rgba(0, 0, 0, 0.2);
}
 
#retour-galerie:hover {
color: #918a6f;
}
 
/*----------------------------------------------------------------------------------------------------------*/
 
#volet {
position: relative;
background-color: #fff;
justify-content: center;
display: flex;
height: 100vh;
overflow: scroll;
}
 
#bloc-infos-img {
position: fixed;
top: unset;
bottom: 0;
left: 0;
padding: 1.5rem;
z-index: 9;
text-align: center;
background-color: rgba(0, 0, 0, 0.5);
color: #fff !important;
font-weight: 400;
}
 
#bloc-infos-img a {
color: #fff;
bottom: unset;
left: unset;
}
 
#bloc-infos-img a:hover {
background-color: #918a6f;
}
 
/*----------------------------------------------------------------------------------------------------------*/
 
#volets-fct {
padding: 0 1rem;
width: calc(100% - 1rem);
overflow-wrap: break-word;
}
 
#volets-fct h2 {
text-align: center;
padding: 1rem;
}
 
#volets-fct h2:not(:first-child) {
margin-top: 1rem;
}
 
#volets-fct li {
position: relative;
padding: 0.5rem 0;
}
 
#print_content #volet #volets-fct .btn.btn-outline-secondary:not(#plus-meta),
#print_content #volet #volets-fct .btn.btn-success,
#print_content #volet #volets-fct .btn.btn-warning {
border: 0 none !important;
}
 
#volets-fct .bouton {
position: absolute;
right: 0.5rem;
top: 0.25rem;
margin: 0;
}
 
#volets-fct .afficher-plus {
cursor: pointer;
border-bottom: 1px solid;
border-bottom: .1rem solid;
color: #918a6f;
font-weight: 400;
}
 
#volets-fct .afficher-plus:hover {
color: #000;
}
 
#volets-fct .btn:not(.btn-outline-secondary),
#volets-fct .btn-outline-secondary:hover {
color: #fff;
}
 
#volets-fct #boutons-reseaux-sociaux {
display: flex;
justify-content: space-evenly;
}
 
#volets-fct #boutons-reseaux-sociaux a {
border: none;
}
 
#volets-fct #boutons-reseaux-sociaux a:not(:last-child) {
margin-right: 5px;
}
 
#tags-pf-supp {
min-height: 5rem;
}
 
#volets-fct #bloc-tags .tag {
color: #606060;
border: 1px solid transparent;
border-radius: 2rem;
-moz-box-shadow: 0.5px 1.5px 1.5px #606060;
-webkit-box-shadow: 0.5px 1.5px 1.5px #606060;
box-shadow: 0.5px 1.5px 1.5px #606060;
-webkit-transition: all 0.2s ease-in-out 0s;
-moz-transition: all 0.2s ease-in-out 0s;
-o-transition: all 0.2s ease-in-out 0s;
-ms-transition: all 0.2s ease-in-out 0s;
transition: all 0.2s ease-in-out 0s;
margin-right: 5px;
}
 
#volets-fct #bloc-tags .tag:hover,
#volets-fct #bloc-tags .tag:active,
#volets-fct #bloc-tags .tag:focus,
#volets-fct #bloc-tags .tag.actif {
color: #92ad27;
border:1px solid #d9d9d9;
-moz-box-shadow: 0 0 0 transparent;
-webkit-box-shadow: 0 0 0 transparent;
box-shadow: 0 0 0 transparent;
}
 
#volets-fct #bloc-tags .tag.actif {
color: #fff;
background-color: #c3d45d;
}
 
#volets-fct #bloc-tags .tag.actif:hover,
#volets-fct #bloc-tags .tag.actif:active,
#volets-fct #bloc-tags .tag.actif:focus {
background-color: #92ad27;
-moz-box-shadow: 0;
-webkit-box-shadow: 0;
box-shadow: 0;
}
 
#volets-fct #bloc-tags .tag:not(.actif) .fermer {
color: transparent;
display: none;
}
 
#volets-fct #bloc-tags .tag.actif .fermer {
color:#fff;
display: inline;
}
 
#volets-fct #bloc-tags .tag.actif:hover .fermer,
#volets-fct #bloc-tags .tag.actif:active .fermer,
#volets-fct #bloc-tags .tag.actif:focus .fermer {
color: #c3d45d;
}
 
#tags-auteur {
min-height: 3rem;
border:1px dotted #606060;
padding: 1rem;
margin-bottom: 1rem;
border-radius: 0.2rem
}
 
.nettoyage-volet {
padding: 1.5rem;
width: 100%;
opacity: 0;
text-align: center;
font-weight: 400;
}
 
.nettoyage-volet.bas {
margin-top: 1rem;
}
 
/************************************************************************************************************/
 
#localisation-map-container {
position: absolute;
z-index: 100;
top: 30px;
right: 5%;
left: 5%;
height: 302px;
border: 1px solid #606060;
overflow: hidden;
}
 
#localisation-map {
width: 100%;
height: 300px;
background-color: #fff;
}
 
#map-close {
z-index: 10000;
}
 
/*----------------------------------------------------------------------------------------------------------*/
@media screen and ( max-width: 991px ) {
#bloc-infos-img {
top: 0;
width: 100vw;
bottom: unset;
}
 
#boutons-footer {
width: 100vw;
right: unset;
}
 
#boutons-footer .bouton-fct {
font-size: 0.8rem;
}
 
.nettoyage-volet.bas {
min-height: 5.5rem;
}
#bloc-fct {
padding: 0.5rem;
}
}
 
 
@media screen and ( max-width: 768px ) {
#info-img-galerie a {
font-size: 0.8rem;
}
}
/branches/v3.01-serpe/widget/modules/photo/squelettes/css/photoCommun.css
New file
0,0 → 1,109
@CHARSET "UTF-8";
 
*,
*:active,
*:focus {
outline:none !important;
}
 
html {
font-size: 100%;
}
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
color: #606060;
}
 
.h2, h2 {
font-size: 1.15rem;
}
 
.h3, h3 {
font-size: 1.05rem;
}
 
.label, label, .list-label {
font-weight: 700;
}
 
.list label, .list .label {
font-weight: 400;
}
 
ul {
padding: 0;
}
 
.hidden {
display: none !important;
}
 
.btn {
margin: 1rem 0;
}
 
.btn:not(.btn-outline-secondary),
.btn-outline-secondary:hover {
color:#fff;
}
 
.btn.btn-warning {
background-color: #e16e38;
}
 
.btn.btn-warning:hover {
background-color: #e6885b;
}
 
.btn.btn-success {
background-color: #a2b93b;
}
 
.btn.btn-success:hover {
background-color: #b3c954;
}
 
select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #606060;
}
 
.cel-photo-source a {
color: #006979;
font-weight: 400;
}
 
.cel-infos a,
.cel-photo-source a,
#bloc-infos-img a {
border-bottom: 1px solid;
border-bottom: .1rem solid;
text-decoration: none !important;
-webkit-transition: background .2s ease;
-o-transition: background .2s ease;
transition: background .2s ease;
cursor: pointer;
}
 
.cel-infos a:hover,
.cel-photo-source a:hover {
background-color: rgba(0,105,121,.1);
}
 
.modal-header,
.modal-footer {
border : none;
}
 
/*.todo {
display: none !important;
}*/
 
@media screen and ( max-width: 340px ) {
html {
font-size: 80%;
}
}
/branches/v3.01-serpe/widget/modules/photo/squelettes/css/photo.css
New file
0,0 → 1,190
@charset "UTF-8";
 
.grid {
max-width: 100vw;
}
 
/* clearfix */
.grid:after {
content: '';
display: block;
clear: both;
}
 
.grid-item {
float: left;
position: relative;
margin: 0.5vw;
}
 
.cel-photo .cel-infos {
position: absolute;
bottom: 0;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 1rem;
background: rgba(255,255,255,0.5);
text-align: center;
font-weight: 400 !important;
font-size: 0.5rem;
}
 
.cel-infos,
.cel-infos a {
color: #606060;
}
 
.cel-photo-contenu h1 {
text-align: center;
padding: 15px;
}
 
.cel-photo a,
.cel-photo a img {
height: 100%;
width: 100%;
}
 
.cel-photo-contenu {
margin: 0 auto;
max-width: 100%;
}
 
.cel-photo-contenu .discretion {
color: grey;
font-size: 0.8rem;
font-weight: 700;
}
 
.cel-photo-contenu .nettoyage {
clear: both;
}
 
.cel-photo-pieds {
padding: 1rem;
}
 
.cel-photo-contenu .cel-photo .cel-infos .close,
.cel-photo .bouton-afficher-infos {
position: absolute;
top: 3px;
right: 3px;
height: initial;
width: initial;
padding: 0.1rem 0.2rem;
}
 
.cel-photo-contenu .cel-photo .cel-infos .close,
.cel-photo-contenu .cel-photo .cel-infos .close:hover {
font-size: 0.5rem;
text-decoration: none;
border: none;
color: #606060;
}
 
.cel-photo .bouton-afficher-infos {
font-size: 1rem;
}
 
.cel-photo .bouton-afficher-infos i {
color:#ffc107;
}
 
.cel-photo .bouton-afficher-infos:hover i {
background-color: #ffc107;
color: #fff;
}
 
/*---------------------------------------------*/
 
.form-recherche {
position: relative;
}
 
.form-recherche .bloc-recherche .recherche {
width: auto;
display: inline-block;
}
 
.form-recherche .bloc-recherche .bouton-rechercher,
.form-recherche .bloc-recherche .bouton-plus-filtres,
#bouton-photos-precedentes,
#bouton-photos-precedentes:hover,
#bouton-photos-suivantes,
#bouton-photos-suivantes:hover {
border: 0 none;
}
 
.form-recherche .bloc-recherche .bouton-rechercher,
.form-recherche .bloc-recherche .bouton-rechercher:hover,
.form-recherche .bloc-recherche .bouton-plus-filtres:hover,
#bouton-photos-precedentes,
#bouton-photos-precedentes:hover,
#bouton-photos-suivantes,
#bouton-photos-suivantes:hover {
color: #fff;
}
 
#bouton-photos-precedentes,
#bouton-photos-precedentes:hover,
#bouton-photos-suivantes,
#bouton-photos-suivantes:hover {
margin: 5px auto;
}
 
 
.form-recherche .autres-filtres {
position: absolute;
padding: 0.5rem;
margin: 0.5rem 0;
background-color: rgba(0, 0, 0, 0.8);
border-radius: 0.25rem;
top: 80%;
z-index: 9;
}
 
.form-recherche .autres-filtres .bloc-filtre {
padding: 0.5rem;
margin: 0.5rem;
color: #fff;
}
 
.form-recherche .autres-filtres .btn.bouton-fermer-filtres {
position: absolute;
top: 0;
right: 0;
margin: 0;
color: #fff;
cursor: pointer;
z-index: 10;
}
 
@media screen and ( max-width: 991px ) {
.form-recherche .autres-filtres {
position: fixed;
border-radius: 0;
margin: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 9;
overflow: scroll;
}
 
.form-recherche .bloc-recherche .recherche {
width: 100vw;
}
 
.form-recherche .bouton-plus-filtres .moins {
display: none;
}
}
 
@media screen and ( max-width: 768px ) {
.cel-photo .cel-infos {
display: none;
}
}
/branches/v3.01-serpe/widget/modules/photo/squelettes/css/contact.css
New file
0,0 → 1,80
.error {
color: red;
}
 
#tpl-form-contact {
width: 350px;
max-height: 100vh;
padding: 15px;
margin: auto;
border-radius: 0.25rem;
background-color: #fff;
overflow: auto;
}
 
#tpl-form-contact #fc_message,
#tpl-form-contact .form-group input {
font-size: 0.8rem;
}
 
#tpl-form-contact .form-group input.btn,
#tpl-form-contact .form-group #fc_annuler {
border: 0 none;
font-size: 1rem;
font-weight: 400;
text-shadow: none;
opacity: 1;
color: #fff;
margin: 0;
margin-bottom: 0.25rem;
box-shadow: none;
}
 
#tpl-form-contact .form-group #fc_annuler {
background-color: #ff5d55;
transition: background .2s ease;
}
 
#tpl-form-contact .form-group #fc_annuler:hover {
background-color: #ff847e;
}
 
#tpl-form-contact #fc_message {
min-height: 200px;
}
 
@media screen and ( max-width: 991px ) {
#tpl-form-contact {
max-height: 100vh;
width: 100vw;
position: fixed;
border-radius: 0;
background-color: transparent;
top: 0;
right: 0;
left: 0;
z-index: 9;
overflow: scroll;
margin: auto;
padding-top: 5vh;
}
 
#tpl-form-contact h2 {
max-width: 100%;
margin: 0 auto;
width: 350px;
color: #fff;
text-align: center;
}
 
#tpl-form-contact #form-contact {
max-width: 100%;
width: 350px;
margin: auto;
padding: 15px;
}
 
#tpl-form-contact #form-contact label {
color: #fff;
}
}
/branches/v3.01-serpe/widget/modules/photo/squelettes/photo.tpl.html
New file
0,0 → 1,320
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Photographies publiques du CEL - Tela Botanica</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, photographie, CEL" />
<meta name="description" content="Widget de présentation des dernières photo publiées sur le Carnet en Ligne de Tela Botanica" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widget photo du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Mini-galerie photo des observations publiques du Carnet en Ligne" />
<?php if (isset($items[0])) : ?>
<meta property="og:image" content="<?php echo sprintf($items[0]['url_tpl'], 'CRS'); ?>" />
<?php else : ?>
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<?php endif; ?>
<meta property="og:locale" content="fr_FR" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous" />
<!-- Leaflet -->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin=""/>
 
<!-- Feuilles de styles -->
<link rel="stylesheet" type="text/css" href="<?php echo $url_css; ?>photo.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?php echo $url_css; ?>popup.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?php echo $url_css; ?>contact.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?php echo $url_css; ?>photoCommun.css" media="screen" />
<style type="text/css">
<?php $dimention_basique = floor(93/$colonne);?>
#cel-photo-contenu<?php echo $id; ?> .grid-sizer,
#cel-photo-contenu<?php echo $id; ?> .grid-item {
width: <?php echo $dimention_basique; ?>vw;
}
 
#cel-photo-contenu<?php echo $id; ?> .grid-item {
height: <?php echo $dimention_basique; ?>vw;
}
 
#cel-photo-contenu<?php echo $id; ?> .grid-item--width2 {
width: <?php echo ($dimention_basique*2)+1; ?>vw;
}
 
#cel-photo-contenu<?php echo $id; ?> .grid-item--height2 {
height: <?php echo number_format((($dimention_basique*2)+0.99),2); ?>vw;
}
</style>
<!-- Javascript : bibliothèques -->
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<!-- Masonry -->
<script src="<?php echo $url_js; ?>masonry.pkgd.js"></script>
<!-- Leaflet -->
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
 
<!-- Script WidgetPhoto -->
<script type="text/Javascript" src="<?php echo $url_js; ?>WidgetPhotoCommun.js"></script>
<script type="text/Javascript" src="<?php echo $url_js; ?>WidgetPhoto.js"></script>
<script type="text/javascript" src="<?php echo $url_js; ?>WidgetPhotoPopup.js"></script>
<script type="text/javascript" src="<?php echo $url_js; ?>WidgetPhotoContact.js"></script>
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
<body style="margin: 0">
<!-- WIDGET:CEL:PHOTO - DEBUT -->
<div id="cel-photo-contenu<?php echo $id; ?>" class="cel-photo-contenu">
<?php if (isset($erreurs) || isset($informations)) : ?>
<h1>Erreur &amp; informations</h1>
<p>Impossible d'afficher le flux.</p>
<!-- Affichage des erreurs et messages d'information : -->
<?php if ($erreurs) : ?>
<?php foreach ($erreurs as $erreur) : ?>
<p class="erreur"><?php echo $erreur; ?></p>
<?php endforeach; ?>
<?php endif; ?>
 
<?php if ($informations) : ?>
<?php foreach ($informations as $information) : ?>
<p class="info"><?php echo $information; ?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php else : ?>
<h1>
<?php if (!empty($titre)) : ?>
<?php echo $titre; ?>
<?php endif ; ?>
<?php if($icone_rss) : ?>
<a href="<?php echo $flux_rss_url; ?>"
class="cel-photo-flux"
title="Suivre les images"
onclick="window.open(this.href);return false;">
<img src="https://www.tela-botanica.org/sites/commun/generique/images/rss.png" alt="Suivre les images" />
</a>
<?php endif; ?>
</h1>
<?php if (!empty($champ_recherche)) : ?>
<form id="form-recherche<?php echo $id; ?>" class="form-recherche container" action="">
<div id="bloc-recherche<?php echo $id; ?>" class="bloc-recherche form-inline d-flex justify-content-center w-100">
<input type="text" id="champ-recherche<?php echo $id; ?>" name="champ-recherche<?php echo $id; ?>" class="recherche form-control mr-1" placeholder="Votre recherche">
<input type="hidden" id="filtres<?php echo $id; ?>" name="filtres<?php echo $id; ?>">
<a id="bouton-rechercher<?php echo $id; ?>" class="btn btn-success bouton-rechercher mr-1"><i class="fas fa-search"></i>&nbsp;Rechercher</a>
<a id="bouton-plus-filtres<?php echo $id; ?>" class="btn btn-outline-secondary bouton-plus-filtres">
<span class="plus">
<i class="fas fa-chevron-down"></i>&nbsp;Plus&nbsp;de&nbsp;filtres
</span>
<span class="moins hidden">
<i class="fas fa-chevron-up"></i>&nbsp;Fermer&nbsp;les&nbsp;filtres
</span>
</a>
</div>
<div id="autres-filtres<?php echo $id; ?>" class="autres-filtres row hidden">
<a id="bouton-fermer-filtres<?php echo $id; ?>" class="btn bouton-fermer-filtres"><i class="fas fa-times"></i></a>
<div id="bloc-filtres-gauche" class="bloc-filtres bloc-filtres-gauche col-lg-6">
<div class="row bloc-taxon bloc-filtre">
<label for="taxon">Taxon</label>
<input type="text" id="taxon" name="taxon" class="form-control">
</div>
<div class="row bloc-referentiel bloc-filtre">
<label for="referentiel">Référentiel</label>
<select name="referentiel" id="referentiel" class="custom-select form-control referentiel">
<option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine">Métropole (index réduit)</option>
<option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
<option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
<option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
<option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
<option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
<option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
<option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
<option value="lbf" title="Liban">Liban (LBF)</option>
<option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
</select>
</div>
<div class="bloc-periode bloc-filtre">
<label for="periode" class="d-block">Date (début-fin)</label>
<div class="form-row">
<div class="form-group mb-lg-0 mb-1 col">
<input type="date" id="periode-debut" name="periode-debut" class="form-control">
</div>
<div class="form-group mb-0 col">
<input type="date" id="periode-fin" name="periode-fin" class="form-control">
</div>
</div>
<input type="hidden" id="periode" name="periode">
</div>
<div class="row bloc-localite bloc-filtre">
<label for="localite">Localité</label>
<input type="text" id="localite" name="localite" class="form-control">
</div>
<div class="row bloc- bloc-filtre">
<label for="departement">Département</label>
<input type="text" id="departement" name="departement" class="form-control" placeholder="Numéros (séparés par des virgules)">
</div>
<div class="row bloc- bloc-filtre">
<label for="pays">Pays</label>
<input type="text" id="pays" name="pays" class="form-control">
</div>
</div>
<div id="bloc-filtres-droite" class="bloc-filtres bloc-filtres-droite col-lg-6">
<div class="row bloc- bloc-filtre">
<label for="auteur">Auteur</label>
<input type="text" id="auteur" name="auteur" class="form-control" placeholder="Nom, email">
</div>
<div class="row bloc- bloc-filtre">
<label for="programme">Programme</label>
<input type="text" id="programme" name="programme" class="form-control">
</div>
<div class="row bloc- bloc-filtre">
<label for="tags">Tags (tous)</label>
<input type="text" id="tags" name="tags" class="form-control">
</div>
<div class="list bloc-photos-affichees bloc-filtre mt-3">
<div class="form-check mt-3">
<input type="checkbox" id="non-standards" name="photos-affichees" class="non-standards form-check-input" value="non-standards">
<label for="non-standards" class="non-standards form-check-label">Afficher les photos des observations non "standards"</label>
</div>
<div class="form-check mt-3">
<input type="checkbox" id="indesirables" name="photos-affichees" class="indesirables form-check-input" value="indesirables">
<label for="indesirables" class="indesirables form-check-label">Afficher les photos signalées comme indésirables</label>
</div>
<div class="form-check mt-3">
<input type="checkbox" id="smartphone-anonyme" name="photos-affichees" class="smartphone-anonyme form-check-input" value="smartphone-anonyme">
<label for="smartphone-anonyme" class="smartphone-anonyme form-check-label">Afficher les photos des observations smartphone anonyme</label>
</div>
</div>
</div>
</div>
</form>
<?php endif ; ?>
<div id="cel-galerie-photo<?php echo $id; ?>" class="cel-galerie-photo">
<div class="grid-sizer"></div>
<?php foreach ($items as $i => $item) : ?>
<?php
$dimention_img = 'CRS';
$class_extra = '';
?>
<?php if ( $i === 0 && $extra_actif ) : ?>
<?php
$dimention_img = 'CRL';
$class_extra = ' grid-item--width2 grid-item--height2';
?>
<?php endif; ?>
<div class="cel-photo grid-item <?php echo $class_extra; ?>">
<a href="<?php echo sprintf($item['url_tpl'], 'O'); ?>" class="cel-img" title="<?php echo $item['titre']; ?> - Publiée le <?php echo $item['date_redige']; ?> - GUID : <?php echo $item['id_photo_formate']; ?>" rel="galerie-princ<?php echo $id; ?>">
<img src="<?php echo sprintf($item['url_tpl'], $dimention_img); ?>" alt="<?php echo $item['titre']; ?>">
</a>
<div id="cel-info-<?php echo $item['id_photo_formate']; ?>" class="cel-infos">
<strong>
<?php if (!empty($item['lien'])) : ?>
<a class="cel-img-titre" href="<?php echo $item['lien']; ?>"
onclick="window.open(this.href);return false;"
title="Cliquez pour accéder à la fiche eFlore">
<?php echo $item['obs']['nom_sel']; ?>
</a><br />
par
<a class="cel-img-contact"
href="?mode=contact&nn=<?php echo urlencode($item['obs']['nom_sel_nn']); ?>&nom_sci=<?php echo urlencode($item['obs']['nom_sel']); ?>&date=<?php echo urlencode($item['date']); ?>&id_image=<?php echo $item['id_photo_formate']; ?>&auteur=<?php echo $item['utilisateur']['nom_utilisateur']; ?>"
title="Cliquez pour contacter l'auteur de la photo">
<?php echo $item['utilisateur']['nom_utilisateur']; ?>
</a>
<?php else : ?>
<?php echo $item['titre']; ?>
<?php endif; ?>
</strong>
</div>
</div>
<?php endforeach; ?>
<div id="next-previous-buttons">
<?php if (0 < $start): ?>
<a id="bouton-photos-precedentes" href="<?php echo $url_widget_photos_precedente;?>" class="btn btn-success"><i class="fas fa-backward"></i>&nbsp;Photos precedentes</a>
<?php endif;?>
 
<?php if ($total > ($start + $limit)): ?>
<a id="bouton-photos-suivantes" href="<?php echo $url_widget_photos_suivantes;?>" class="btn btn-success"><i class="fas fa-forward"></i>&nbsp;Photos suivantes</a>
<?php else :?>
<div class="alert alert-secondary mt-0 ml-1" role="alert" style="display: inline-block;">Toutes les photos disponibles, correspondant à vos critères, ont été affichées</div>
<?php endif;?>
</div>
</div>
<p class="cel-photo-pieds discretion nettoyage">
<span class="cel-photo-source">
Source :
<a href="http://www.tela-botanica.org/page:cel" title="Carnet en Ligne" onclick="window.open(this.href);return false;">
CEL
</a>
</span>
<span class="cel-photo-date-generation">Au <?php echo strftime('%A %d %B %Y à %H:%M:%S'); ?></span>
</p>
 
<?php endif; ?>
</div>
<!-- modale -->
<div id="fenetre-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fenetre-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fenetre-modal-label"></h5>
<button type="button" class="close btn btn-sm btn-secondary" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body row" id="print_content"></div>
<div class="modal-footer hidden"></div>
</div>
</div>
</div>
<!-- WIDGET:CEL:PHOTO - FIN -->
<script type="text/Javascript">
//<![CDATA[
var widgetProp = {
'id' : "<?php echo $id; ?>",
'galerieId' : "<?php echo $galerie_id; ?>"
};
 
$( document ).ready( function() {
photo = new WidgetPhoto( widgetProp );
photo.init();
});
//]]>
</script>
</body>
</html>
/branches/v3.01-serpe/widget/modules/photo/Photo.php
New file
0,0 → 1,360
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Photo extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'photo';
const VIGNETTE_DEFAULT = '4,3';
const WS_IMG_LIST = 'celImage';
const IMAGE_FORMATS = [
'CRX2S' => '63px (Carrée, rognée)',
'CRXS' => '100px (Carrée, rognée)',
'CXS' => '100px (Carrée)',
'CS' => '300px (Carrée)',
'CRS' => '300px (Carrée, rognée)',
'XS' => '150px',
'S' => '400px',
'M' => '600px',
'L' => '800px',
'CRL' => '600px (Carrée, rognée)',
'XL' => '1024px',
'X2L' => '1280px',
'X3L' => '1600px',
'O' => 'Format original (Taille inconnue)'
];
const START_DEFAUT = 0;
const LIMIT_DEFAUT = 100;
private $url_widget = null;
private $eflore_url_tpl = null;
private $service_images_url = null;
private $flux_rss_url = null;
 
// Suffixe de template pour la langue (vide par défaut, correspond à "fr" au français)
private $suffixeLangue = '';
 
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
$this->url_widget = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'photo');
$this->eflore_url_tpl = $this->config['photo']['efloreUrlTpl'];
$this->service_images_url = $this->config['photo']['celUrlImages'];
$this->flux_rss_url = $this->config['photo']['fluxRssUrl'];
 
$cache_activation = $this->config['photo.cache']['activation'];
$cache_stockage = $this->config['photo.cache']['stockageDossier'];
$ddv = $this->config['photo.cache']['dureeDeVie'];
$cache = new Cache($cache_stockage, $ddv, $cache_activation);
$id_cache = 'photo-'.hash('adler32', print_r($this->parametres, true));
$contenu = $cache->charger($id_cache);
 
if (!$contenu) {
$methode = $this->traiterNomMethodeExecuter($mode);
 
if (method_exists($this, $methode)) {
$retour = $this->$methode();
 
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
 
}
// Suffixe de template pour la langue - fr par défaut @TODO configurer ça un jour
if (isset($this->parametres['lang']) && $this->parametres['lang'] !== 'fr') {
$this->suffixeLangue = '_' . $this->parametres['lang'];
 
}
 
$contenu = '';
 
if (is_null($retour)) {
$this->messages[] = 'Aucune image';
 
} else {
 
if (isset($retour['donnees'])) {
$squelette = dirname(__FILE__) .self::DS. 'squelettes' .self::DS. $retour['squelette'].$this->suffixeLangue.'.tpl.html';
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
$cache->sauver($id_cache, $contenu);
 
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
 
}
}
}
if (isset($_GET['callback'])) {
$this->envoyerJsonp(['contenu' => $contenu]);
 
} else {
$this->envoyer($contenu);
 
}
}
 
// maintenir la retrocompatibilité avec l'ancien mode ajax
private function executerAjax() {
unset($this->parametres['mode']);
 
$chaineRequete = http_build_query($this->parametres);
$chaineRequete = $chaineRequete ? '?'.$chaineRequete : '';
$widget['donnees']['url_widget'] = $this->url_widget.$chaineRequete;
 
$id = '-'.(isset($this->parametres['id']) ? $this->parametres['id'] : '1');
$widget['donnees']['id'] = $id;
 
$widget['squelette'] = 'photo_retrocompatibilite_ajax';
 
return $widget;
}
 
private function executerPopup() {
session_start();
 
$galerie_id = $_GET['galerie_id'];
$widget['donnees']['url_image'] = $_GET['url_image'];
$widget['donnees']['infos_images'] = $_SESSION[$galerie_id]['infos_images'];
$widget['donnees']['url_widget'] = $this->url_widget;
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/');
$widget['donnees']['max_photo'] = $_SESSION[$galerie_id]['max_photo'];
$widget['donnees']['start'] = $_SESSION[$galerie_id]['start'];
$widget['donnees']['url_ws_regenerer_img'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/regenerer-miniatures?ids-img=';
$widget['donnees']['popup_url'] = isset( $_GET['popup_url'] ) ? $_GET['popup_url'] : null;
$widget['donnees']['url_base_telechargement'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat/');
$widget['donnees']['formats_description'] = self::IMAGE_FORMATS;
 
$widget['squelette'] = 'popup' . $this->suffixeLangue;
 
return $widget;
}
 
private function executerContact() {
session_start();
 
$widget['donnees']['url_widget'] = $this->url_widget;
$widget['donnees']['id_image'] = $_GET['id_image'];
$widget['donnees']['nom_sci'] = $_GET['nom_sci'];
$widget['donnees']['nn'] = $_GET['nn'];
$widget['donnees']['date'] = $_GET['date'];
$widget['donnees']['auteur'] = $_GET['auteur'];
$widget['donnees']['popup_url'] = isset( $_GET['popup_url'] ) ? $_GET['popup_url'] : null;
 
if (isset($_GET['lang']) && 'nl' === $_GET['lang']) {
$widget['donnees']['sujet'] = "Afbeelding #".$_GET['id_image']." op ".$_GET['nom_sci'];
$widget['donnees']['message'] = "\n\n\n\n\n\n\n\n--\nBetreft de foto \"".$_GET['nom_sci'].'" van "'.$_GET['date'];
 
} else {
$widget['donnees']['sujet'] = "Image #".$_GET['id_image']." de ".$_GET['nom_sci'];
$widget['donnees']['message'] = "\n\n\n\n\n\n\n\n--\nConcerne l'image de \"".$_GET['nom_sci'].'" du "'.$_GET['date'];
 
}
 
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/');
$widget['squelette'] = 'contact';
 
return $widget;
}
 
 
private function executerPhoto() {
$widget = null;
 
$this->parametres['start'] = $this->parametres['start'] ?? self::START_DEFAUT;
$this->parametres['limit'] = $this->parametres['limit'] ?? self::LIMIT_DEFAUT;
 
extract($this->parametres);
 
$hasTriedValueInConfig = false;
while (!isset($vignette) || !preg_match('/^[0-9]+,[0-9]+$/', $vignette)) {
$vignette = (!$hasTriedValueInConfig) ? $this->config['photo']['vignette'] : self::VIGNETTE_DEFAULT;
$hasTriedValueInConfig = true;
}
$id = '-'.(isset($id) ? $id : '1');
$titre = isset($titre) ? htmlentities(rawurldecode($titre)) : '';
 
$icone_rss = (isset($_GET['rss']) && $_GET['rss'] != 1) ? false : true;
$utilise_fancybox = (isset($_GET['mode_zoom']) && $_GET['mode_zoom'] != 'fancybox') ? false : true;
 
list($colonne, $ligne) = explode(',', $vignette);
$extra = (isset($extra) && $extra == 0) ? false : (!$this->config['photo']['extraActif'] ? false : ($colonne == 1 || $ligne == 1 ? false : true));
 
$champ_recherche = $champ_recherche ? $this->obtenirBooleen($champ_recherche) : ($this->config['photo']['champRecherche'] ? $this->obtenirBooleen($this->config['photo']['champRecherche']) : false) ;
$max_photo = $colonne * $ligne;
if ( $extra && 2 == $colonne ) {
$max_photo = $max_photo - 1;
} elseif ( $extra && 2 < $colonne ) {
$max_photo = $max_photo - 3;
}
$limit = $limit < $max_photo ? $limit : $max_photo;
$this->parametres['limit'] = $limit;
$parametresTraites = $this->traiterParametres();
$this->flux_rss_url .= $parametresTraites;
$url = $this->service_images_url.(!empty($parametresTraites) ? $parametresTraites.'&' : '?');
$json = $this->getDao()->consulter($url);
 
 
if (empty($json) || !strpos($json,'images') ) {
$this->messages[] = "L'URI suivante est invalide : $this->service_images_url.\n".
"Veuillez vérifier les paramêtres indiqués et la présence d'images associées.";
 
} else {
$tableau = json_decode($json, true);
 
if (empty($tableau['total']) || empty($tableau['images'])) {
$this->messages[] = 'Aucune photo ne correspond à vos critères';
} else {
 
$parametres_photo_suivante = $parametres_photo_precedente = $this->parametres;
$parametres_photo_suivante['start'] = $start + $limit;
$parametres_photo_precedente['start'] = 0 < $start - $limit ? $start - $limit : 0;
 
$widget['donnees']['total'] = $tableau['total'];
$widget['donnees']['id'] = $id;
$widget['donnees']['titre'] = $titre;
$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
$widget['donnees']['url_widget'] = $this->url_widget;
$widget['donnees']['url_widget_photos_suivantes'] = $this->url_widget.'?'.http_build_query($parametres_photo_suivante);
$widget['donnees']['url_widget_photos_precedente'] = $this->url_widget.'?'.http_build_query($parametres_photo_precedente);
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/');
$widget['donnees']['colonne'] = $colonne;
$widget['donnees']['ligne'] = $ligne;
$widget['donnees']['extra_actif'] = $extra;
$widget['donnees']['icone_rss'] = $icone_rss;
$widget['donnees']['champ_recherche'] = $champ_recherche;
$widget['donnees']['start'] = $start;
$widget['donnees']['limit'] = $limit;
$widget['donnees']['utilise_fancybox'] = $utilise_fancybox;
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] === 'prod');
 
$num = 0;
$galerie_id = md5(http_build_query($_GET));
$widget['donnees']['galerie_id'] = $galerie_id;
 
session_start();
$_SESSION[$galerie_id]['max_photo'] = $max_photo;
$_SESSION[$galerie_id]['start'] = $start;
 
foreach ($tableau['images'] as $key => $image) {
if ($key == $max_photo) {
break;
}
$item = $image;
// Formatage date
$item['date_photo'] = $image['date_photo'] ?? $image['obs']['date_obs'];
$item['date_redige'] = strftime('%A %d %B %Y', $item['date_photo']);
$item['date'] = date_format(date_create($item['date_photo']),"d/m/Y");
$item['lien'] = sprintf($this->eflore_url_tpl, $image['obs']['nom_referentiel'], $image['obs']['nom_sel_nn']);
$item['url_tpl'] = preg_replace('/(O|XS|[SML]|X(?:[23]|)L|CR(?:|X2)S|C(?:|X)S)$/', '%s.jpg', $image['url_photo']);
// Formatage titre
$item['titre'] = $image['obs']['nom_sel'].' [nn'.$image['obs']['nom_sel_nn'].'] par '.$image['utilisateur']['nom_utilisateur'].' le '.date_format(date_create($image['obs']['date_obs']),"d/m/Y").' - '.$image['obs']['localisation'];
$item['id_photo_formate'] = sprintf('%09d', $image['id_photo']);
$item['urlProfil'] = sprintf($this->config['photo']['tbProfilUrlTpl'], $image['utilisateur']['id_utilisateur'] );
// Ajout aux items et si première photo à extra
if ($key == 0) {
$widget['donnees']['extra'] = $item;
 
}
 
$widget['donnees']['items'][$num++] = $item;
$url_galerie_popup = sprintf($item['url_tpl'],'O');
$image_size = getimagesize($url_galerie_popup);
$item['width'] = $image_size[0];
$item['height'] = $image_size[1];
 
$_SESSION[$galerie_id]['infos_images'][$url_galerie_popup] = $item;
}
 
$widget['squelette'] = 'photo';
}
}
 
return $widget;
}
 
private function traiterParametres() {
$parametres_flux = '?';
$criteres = [
'taxon',
'referentiel',
'date_deb',
'date_fin',
'commune',
'dept',
'pays',
'auteur',
'programme',
'tag',
'non_standard',
'indesirable',
//on dégage smartphone anonyme PN
'recherche',
'date',
'motcle',
'projet',
'num_taxon',
'num_nom',
'start',
'limit'
];
 
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$valeur_critere = str_replace(' ', '%20', $valeur_critere);
$parametres_flux .= $nom_critere.'='.$valeur_critere.'&';
 
}
}
if ($parametres_flux === '?') {
$parametres_flux = '';
 
} else {
$parametres_flux = rtrim($parametres_flux, '&');
 
}
 
return $parametres_flux;
}
 
private function obtenirBooleen($var) {
switch ($var) {
case 'false' :
case 'null' :
case 'non' :
case 'no' :
return false;
default:
return boolval($var);
}
}
}
?>
/branches/v3.01-serpe/widget/modules/photo/config.defaut.ini
New file
0,0 → 1,25
[photo]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; URL ou chemin du flux RSS contenant les liens vers les photos - ne pas oublier de changer motif_guid en même temps!
fluxRssUrl = "https://api.tela-botanica.org/service:cel:CelSyndicationImage/multicriteres/atom/M"
; Squelette d'url pour accéder à la fiche eFlore
efloreUrlTpl = "https://www.tela-botanica.org/%s-nn-%s"
; Nombre de vignette à afficher : nombre de vignettes par ligne et nombre de lignes séparés par une vigule (ex. : 4,3).
vignette = 4,3
; Afficher/Cacher l'affichage en grand de la dernière image ajoutée
extraActif = true
; url service widget image
celUrlImages = "https://api.tela-botanica.org/service:cel:CelWidgetImage/*"
; url profil utilisateur
tbProfilUrlTpl = "https://www.tela-botanica.org/profil-par-id/%s"
; afficher le champ de recherche
champRecherche = true
 
[photo.cache]
; Active/Désactive le cache
activation = true
; Dossier où stocker les fichiers de cache du widget
stockageDossier = "/tmp"
; Durée de vie du fichier de cache
dureeDeVie = 86400
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/XmlFeedParser.php
New file
0,0 → 1,304
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Key gateway class for XML_Feed_Parser package
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL
* @version CVS: $Id: Parser.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This is the core of the XML_Feed_Parser package. It identifies feed types
* and abstracts access to them. It is an iterator, allowing for easy access
* to the entire feed.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParser implements Iterator {
/**
* This is where we hold the feed object
* @var Object
*/
private $feed;
 
/**
* To allow for extensions, we make a public reference to the feed model
* @var DOMDocument
*/
public $model;
/**
* A map between entry ID and offset
* @var array
*/
protected $idMappings = array();
 
/**
* A storage space for Namespace URIs.
* @var array
*/
private $feedNamespaces = array(
'rss2' => array(
'http://backend.userland.com/rss',
'http://backend.userland.com/rss2',
'http://blogs.law.harvard.edu/tech/rss'));
/**
* Detects feed types and instantiate appropriate objects.
*
* Our constructor takes care of detecting feed types and instantiating
* appropriate classes. For now we're going to treat Atom 0.3 as Atom 1.0
* but raise a warning. I do not intend to introduce full support for
* Atom 0.3 as it has been deprecated, but others are welcome to.
*
* @param string $feed XML serialization of the feed
* @param bool $strict Whether or not to validate the feed
* @param bool $suppressWarnings Trigger errors for deprecated feed types?
* @param bool $tidy Whether or not to try and use the tidy library on input
*/
function __construct($feed, $strict = false, $suppressWarnings = true, $tidy = true) {
$this->model = new DOMDocument;
if (! $this->model->loadXML($feed)) {
if (extension_loaded('tidy') && $tidy) {
$tidy = new tidy;
$tidy->parseString($feed, array('input-xml' => true, 'output-xml' => true));
$tidy->cleanRepair();
if (! $this->model->loadXML((string) $tidy)) {
throw new XmlFeedParserException("Entrée invalide : le flux n'est pas du XML valide");
}
} else {
throw new XmlFeedParserException("Entrée invalide : le flux n'est pas du XML valide");
}
}
 
/* detect feed type */
$doc_element = $this->model->documentElement;
$error = false;
 
switch (true) {
case ($doc_element->namespaceURI == 'http://www.w3.org/2005/Atom'):
$class = 'XmlFeedParserAtom';
break;
case ($doc_element->namespaceURI == 'http://purl.org/atom/ns#'):
$class = 'XmlFeedParserAtom';
$error = "Atom 0.3 est déprécié, le parseur en version 1.0 sera utilisé mais toutes les options ne seront pas disponibles.";
break;
case ($doc_element->namespaceURI == 'http://purl.org/rss/1.0/'
|| ($doc_element->hasChildNodes() && $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://purl.org/rss/1.0/')):
$class = 'XmlFeedParserRss1';
break;
case ($doc_element->namespaceURI == 'http://purl.org/rss/1.1/'
|| ($doc_element->hasChildNodes()
&& $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://purl.org/rss/1.1/')):
$class = 'XmlFeedParserRss11';
break;
case (($doc_element->hasChildNodes()
&& $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://my.netscape.com/rdf/simple/0.9/')
|| $doc_element->namespaceURI == 'http://my.netscape.com/rdf/simple/0.9/'):
$class = 'XmlFeedParserRss09';
break;
case ($doc_element->tagName == 'rss'
and $doc_element->hasAttribute('version')
&& $doc_element->getAttribute('version') == 0.91):
$error = 'RSS 0.91 has been superceded by RSS2.0. Using RSS2.0 parser.';
$class = 'XmlFeedParserRss2';
break;
case ($doc_element->tagName == 'rss'
and $doc_element->hasAttribute('version')
&& $doc_element->getAttribute('version') == 0.92):
$error = 'RSS 0.92 has been superceded by RSS2.0. Using RSS2.0 parser.';
$class = 'XmlFeedParserRss2';
break;
case (in_array($doc_element->namespaceURI, $this->feedNamespaces['rss2'])
|| $doc_element->tagName == 'rss'):
if (! $doc_element->hasAttribute('version') || $doc_element->getAttribute('version') != 2) {
$error = 'RSS version not specified. Parsing as RSS2.0';
}
$class = 'XmlFeedParserRss2';
break;
default:
throw new XmlFeedParserException('Type de flux de syndicaton inconnu');
break;
}
 
if (! $suppressWarnings && ! empty($error)) {
trigger_error($error, E_USER_WARNING);
}
 
/* Instantiate feed object */
$this->feed = new $class($this->model, $strict);
}
 
/**
* Proxy to allow feed element names to be used as method names
*
* For top-level feed elements we will provide access using methods or
* attributes. This function simply passes on a request to the appropriate
* feed type object.
*
* @param string $call - the method being called
* @param array $attributes
*/
function __call($call, $attributes) {
$attributes = array_pad($attributes, 5, false);
list($a, $b, $c, $d, $e) = $attributes;
return $this->feed->$call($a, $b, $c, $d, $e);
}
 
/**
* Proxy to allow feed element names to be used as attribute names
*
* To allow variable-like access to feed-level data we use this
* method. It simply passes along to __call() which in turn passes
* along to the relevant object.
*
* @param string $val - the name of the variable required
*/
function __get($val) {
return $this->feed->$val;
}
 
/**
* Provides iteration functionality.
*
* Of course we must be able to iterate... This function simply increases
* our internal counter.
*/
function next() {
if (isset($this->current_item) &&
$this->current_item <= $this->feed->numberEntries - 1) {
++$this->current_item;
} else if (! isset($this->current_item)) {
$this->current_item = 0;
} else {
return false;
}
}
 
/**
* Return XML_Feed_Type object for current element
*
* @return XML_Feed_Parser_Type Object
*/
function current() {
return $this->getEntryByOffset($this->current_item);
}
 
/**
* For iteration -- returns the key for the current stage in the array.
*
* @return int
*/
function key() {
return $this->current_item;
}
 
/**
* For iteration -- tells whether we have reached the
* end.
*
* @return bool
*/
function valid() {
return $this->current_item < $this->feed->numberEntries;
}
 
/**
* For iteration -- resets the internal counter to the beginning.
*/
function rewind() {
$this->current_item = 0;
}
 
/**
* Provides access to entries by ID if one is specified in the source feed.
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by offset. This method can be quite slow
* if dealing with a large feed that hasn't yet been processed as it
* instantiates objects for every entry until it finds the one needed.
*
* @param string $id Valid ID for the given feed format
* @return XML_Feed_Parser_Type|false
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->getEntryByOffset($this->idMappings[$id]);
}
 
/*
* Since we have not yet encountered that ID, let's go through all the
* remaining entries in order till we find it.
* This is a fairly slow implementation, but it should work.
*/
return $this->feed->getEntryById($id);
}
 
/**
* Retrieve entry by numeric offset, starting from zero.
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by ID.
*
* @param int $offset The position of the entry within the feed, starting from 0
* @return XML_Feed_Parser_Type|false
*/
function getEntryByOffset($offset) {
if ($offset < $this->feed->numberEntries) {
if (isset($this->feed->entries[$offset])) {
return $this->feed->entries[$offset];
} else {
try {
$this->feed->getEntryByOffset($offset);
} catch (Exception $e) {
return false;
}
$id = $this->feed->entries[$offset]->getID();
$this->idMappings[$id] = $offset;
return $this->feed->entries[$offset];
}
} else {
return false;
}
}
 
/**
* Retrieve version details from feed type class.
*
* @return void
* @author James Stewart
*/
function version() {
return $this->feed->version;
}
/**
* Returns a string representation of the feed.
*
* @return String
**/
function __toString() {
return $this->feed->__toString();
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss1.php
New file
0,0 → 1,267
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS1.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS1.0 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Find a Relax NG URI we can use
*/
class XmlFeedParserRss1 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss10.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss1Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'textinput' => array('TextInput'),
'updatePeriod' => array('Text'),
'updateFrequency' => array('Text'),
'updateBase' => array('Date'),
'rights' => array('Text'), # dc:rights
'description' => array('Text'), # dc:description
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date') # dc:contributor
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'),
'author' => array('creator'),
'updated' => array('date'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'rss' => 'http://purl.org/rss/1.0/',
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/',
'sy' => 'http://web.resource.org/rss/1.0/modules/syndication/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Allows retrieval of an entry by ID where the rdf:about attribute is used
*
* This is not really something that will work with RSS1 as it does not have
* clear restrictions on the global uniqueness of IDs. We will employ the
* _very_ hit and miss method of selecting entries based on the rdf:about
* attribute. If DOMXPath::evaluate is available, we also use that to store
* a reference to the entry in the array used by getEntryByOffset so that
* method does not have to seek out the entry if it's requested that way.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//rss:item[@rdf:about='$id']");
if ($entries->length > 0) {
$classname = $this->itemClass;
$entry = new $classname($entries->item(0), $this);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::rss:item)", $entries->item(0));
$this->entries[$offset] = $entry;
}
$this->idMappings[$id] = $entry;
return $entry;
}
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'link' => $image->getElementsByTagName('link')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details, array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) and
$input->attributes->getNamedItem('resource')) {
$results['link'] =
$input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
 
/**
* Employs various techniques to identify the author
*
* Dublin Core provides the dc:creator, dc:contributor, and dc:publisher
* elements for defining authorship in RSS1. We will try each of those in
* turn in order to simulate the atom author element and will return it
* as text.
*
* @return array|false
*/
function getAuthor() {
$options = array('creator', 'contributor', 'publisher');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length > 0) {
return $test->item(0)->value;
}
}
return false;
}
/**
* Retrieve a link
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss11.php
New file
0,0 → 1,266
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1.1 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS11.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS1.1 feeds. RSS1.1 is documented at:
* http://inamidst.com/rss1.1/
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Support for RDF:List
* @todo Ensure xml:lang is accessible to users
*/
class XmlFeedParserRss11 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss11.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss11Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'updatePeriod' => array('Text'),
'updateFrequency' => array('Text'),
'updateBase' => array('Date'),
'rights' => array('Text'), # dc:rights
'description' => array('Text'), # dc:description
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date') # dc:contributor
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'),
'author' => array('creator'),
'updated' => array('date'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together. We will retain support for some common RSS1.0 modules
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'rss' => 'http://purl.org/net/rss1.1#',
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/',
'sy' => 'http://web.resource.org/rss/1.0/modules/syndication/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Attempts to identify an element by ID given by the rdf:about attribute
*
* This is not really something that will work with RSS1.1 as it does not have
* clear restrictions on the global uniqueness of IDs. We will employ the
* _very_ hit and miss method of selecting entries based on the rdf:about
* attribute. Please note that this is even more hit and miss with RSS1.1 than
* with RSS1.0 since RSS1.1 does not require the rdf:about attribute for items.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//rss:item[@rdf:about='$id']");
if ($entries->length > 0) {
$classname = $this->itemClass;
$entry = new $classname($entries->item(0), $this);
return $entry;
}
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
if ($image->getElementsByTagName('link')->length > 0) {
$details['link'] =
$image->getElementsByTagName('link')->item(0)->value;
}
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details,
array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) and
$input->attributes->getNamedItem('resource')) {
$results['link'] = $input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
 
/**
* Attempts to discern authorship
*
* Dublin Core provides the dc:creator, dc:contributor, and dc:publisher
* elements for defining authorship in RSS1. We will try each of those in
* turn in order to simulate the atom author element and will return it
* as text.
*
* @return array|false
*/
function getAuthor() {
$options = array('creator', 'contributor', 'publisher');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length > 0) {
return $test->item(0)->value;
}
}
return false;
}
/**
* Retrieve a link
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss2.php
New file
0,0 → 1,323
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Class representing feed-level data for an RSS2 feed
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS2.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS2 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss2 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss20.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 2.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss2Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'ttl' => array('Text'),
'pubDate' => array('Date'),
'lastBuildDate' => array('Date'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'),
'language' => array('Text'),
'copyright' => array('Text'),
'managingEditor' => array('Text'),
'webMaster' => array('Text'),
'category' => array('Text'),
'generator' => array('Text'),
'docs' => array('Text'),
'ttl' => array('Text'),
'image' => array('Image'),
'skipDays' => array('skipDays'),
'skipHours' => array('skipHours'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'rights' => array('copyright'),
'updated' => array('lastBuildDate'),
'subtitle' => array('description'),
'date' => array('pubDate'),
'author' => array('managingEditor'));
 
protected $namespaces = array(
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XmlFeedParserException('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($this->model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Retrieves an entry by ID, if the ID is specified with the guid element
*
* This is not really something that will work with RSS2 as it does not have
* clear restrictions on the global uniqueness of IDs. But we can emulate
* it by allowing access based on the 'guid' element. If DOMXPath::evaluate
* is available, we also use that to store a reference to the entry in the array
* used by getEntryByOffset so that method does not have to seek out the entry
* if it's requested that way.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS2Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//item[guid='$id']");
if ($entries->length > 0) {
$entry = new $this->itemElement($entries->item(0), $this);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::item)", $entries->item(0));
$this->entries[$offset] = $entry;
}
$this->idMappings[$id] = $entry;
return $entry;
}
}
 
/**
* Get a category from the element
*
* The category element is a simple text construct which can occur any number
* of times. We allow access by offset or access to an array of results.
*
* @param string $call for compatibility with our overloading
* @param array $arguments - arg 0 is the offset, arg 1 is whether to return as array
* @return string|array|false
*/
function getCategory($call, $arguments = array()) {
$categories = $this->model->getElementsByTagName('category');
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$array = empty($arguments[1]) ? false : true;
if ($categories->length <= $offset) {
return false;
}
if ($array) {
$list = array();
foreach ($categories as $category) {
array_push($list, $category->nodeValue);
}
return $list;
}
return $categories->item($offset)->nodeValue;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->xpath->query("//image");
if ($images->length > 0) {
$image = $images->item(0);
$desc = $image->getElementsByTagName('description');
$description = $desc->length ? $desc->item(0)->nodeValue : false;
$heigh = $image->getElementsByTagName('height');
$height = $heigh->length ? $heigh->item(0)->nodeValue : false;
$widt = $image->getElementsByTagName('width');
$width = $widt->length ? $widt->item(0)->nodeValue : false;
return array(
'title' => $image->getElementsByTagName('title')->item(0)->nodeValue,
'link' => $image->getElementsByTagName('link')->item(0)->nodeValue,
'url' => $image->getElementsByTagName('url')->item(0)->nodeValue,
'description' => $description,
'height' => $height,
'width' => $width);
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness...
*
* @return array|false
*/
function getTextInput() {
$inputs = $this->model->getElementsByTagName('input');
if ($inputs->length > 0) {
$input = $inputs->item(0);
return array(
'title' => $input->getElementsByTagName('title')->item(0)->value,
'description' =>
$input->getElementsByTagName('description')->item(0)->value,
'name' => $input->getElementsByTagName('name')->item(0)->value,
'link' => $input->getElementsByTagName('link')->item(0)->value);
}
return false;
}
 
/**
* Utility function for getSkipDays and getSkipHours
*
* This is a general function used by both getSkipDays and getSkipHours. It simply
* returns an array of the values of the children of the appropriate tag.
*
* @param string $tagName The tag name (getSkipDays or getSkipHours)
* @return array|false
*/
protected function getSkips($tagName) {
$hours = $this->model->getElementsByTagName($tagName);
if ($hours->length == 0) {
return false;
}
$skipHours = array();
foreach($hours->item(0)->childNodes as $hour) {
if ($hour instanceof DOMElement) {
array_push($skipHours, $hour->nodeValue);
}
}
return $skipHours;
}
 
/**
* Retrieve skipHours data
*
* The skiphours element provides a list of hours on which this feed should
* not be checked. We return an array of those hours (integers, 24 hour clock)
*
* @return array
*/
function getSkipHours() {
return $this->getSkips('skipHours');
}
 
/**
* Retrieve skipDays data
*
* The skipdays element provides a list of days on which this feed should
* not be checked. We return an array of those days.
*
* @return array
*/
function getSkipDays() {
return $this->getSkips('skipDays');
}
 
/**
* Return content of the little-used 'cloud' element
*
* The cloud element is rarely used. It is designed to provide some details
* of a location to update the feed.
*
* @return array an array of the attributes of the element
*/
function getCloud() {
$cloud = $this->model->getElementsByTagName('cloud');
if ($cloud->length == 0) {
return false;
}
$cloudData = array();
foreach ($cloud->item(0)->attributes as $attribute) {
$cloudData[$attribute->name] = $attribute->value;
}
return $cloudData;
}
/**
* Get link URL
*
* In RSS2 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them. We maintain the
* parameter used by the atom getLink method, though we only use the offset
* parameter.
*
* @param int $offset The position of the link within the feed. Starts from 0
* @param string $attribute The attribute of the link element required
* @param array $params An array of other parameters. Not used.
* @return string
*/
function getLink($offset, $attribute = 'href', $params = array()) {
$links = $this->model->getElementsByTagName('link');
 
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserAtomElement.php
New file
0,0 → 1,254
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* AtomElement class for XML_Feed_Parser package
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: AtomElement.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class provides support for atom entries. It will usually be called by
* XML_Feed_Parser_Atom with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserAtomElement extends XmlFeedParserAtom {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_Atom
*/
protected $parent;
 
/**
* When performing XPath queries we will use this prefix
* @var string
*/
private $xpathPrefix = '';
/**
* xml:base values inherited by the element
* @var string
*/
protected $xmlBase;
 
/**
* Here we provide a few mappings for those very special circumstances in
* which it makes sense to map back to the RSS2 spec or to manage other
* compatibilities (eg. with the Univeral Feed Parser). Key is the other version's
* name for the command, value is an array consisting of the equivalent in our atom
* api and any attributes needed to make the mapping.
* @var array
*/
protected $compatMap = array(
'guid' => array('id'),
'links' => array('link'),
'tags' => array('category'),
'contributors' => array('contributor'));
/**
* Our specific element map
* @var array
*/
protected $map = array(
'author' => array('Person', 'fallback'),
'contributor' => array('Person'),
'id' => array('Text', 'fail'),
'published' => array('Date'),
'updated' => array('Date', 'fail'),
'title' => array('Text', 'fail'),
'rights' => array('Text', 'fallback'),
'summary' => array('Text'),
'content' => array('Content'),
'link' => array('Link'),
'enclosure' => array('Enclosure'),
'category' => array('Category'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_Atom $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
$this->xmlBase = $xmlBase;
$this->xpathPrefix = "//atom:entry[atom:id='" . $this->id . "']/";
$this->xpath = $this->parent->xpath;
}
 
/**
* Provides access to specific aspects of the author data for an atom entry
*
* Author data at the entry level is more complex than at the feed level.
* If atom:author is not present for the entry we need to look for it in
* an atom:source child of the atom:entry. If it's not there either, then
* we look to the parent for data.
*
* @param array
* @return string
*/
function getAuthor($arguments) {
/* Find out which part of the author data we're looking for */
if (isset($arguments['param'])) {
$parameter = $arguments['param'];
} else {
$parameter = 'name';
}
$test = $this->model->getElementsByTagName('author');
if ($test->length > 0) {
$item = $test->item(0);
return $item->getElementsByTagName($parameter)->item(0)->nodeValue;
}
$source = $this->model->getElementsByTagName('source');
if ($source->length > 0) {
$test = $this->model->getElementsByTagName('author');
if ($test->length > 0) {
$item = $test->item(0);
return $item->getElementsByTagName($parameter)->item(0)->nodeValue;
}
}
return $this->parent->getAuthor($arguments);
}
 
/**
* Returns the content of the content element or info on a specific attribute
*
* This element may or may not be present. It cannot be present more than
* once. It may have a 'src' attribute, in which case there's no content
* If not present, then the entry must have link with rel="alternate".
* If there is content we return it, if not and there's a 'src' attribute
* we return the value of that instead. The method can take an 'attribute'
* argument, in which case we return the value of that attribute if present.
* eg. $item->content("type") will return the type of the content. It is
* recommended that all users check the type before getting the content to
* ensure that their script is capable of handling the type of returned data.
* (data carried in the content element can be either 'text', 'html', 'xhtml',
* or any standard MIME type).
*
* @return string|false
*/
protected function getContent($method, $arguments = array()) {
$attribute = empty($arguments[0]) ? false : $arguments[0];
$tags = $this->model->getElementsByTagName('content');
 
if ($tags->length == 0) {
return false;
}
 
$content = $tags->item(0);
 
if (! $content->hasAttribute('type')) {
$content->setAttribute('type', 'text');
}
if (! empty($attribute)) {
return $content->getAttribute($attribute);
}
 
$type = $content->getAttribute('type');
 
if (! empty($attribute)) {
if ($content->hasAttribute($attribute))
{
return $content->getAttribute($attribute);
}
return false;
}
 
if ($content->hasAttribute('src')) {
return $content->getAttribute('src');
}
 
return $this->parseTextConstruct($content);
}
 
/**
* For compatibility, this method provides a mapping to access enclosures.
*
* The Atom spec doesn't provide for an enclosure element, but it is
* generally supported using the link element with rel='enclosure'.
*
* @param string $method - for compatibility with our __call usage
* @param array $arguments - for compatibility with our __call usage
* @return array|false
*/
function getEnclosure($method, $arguments = array()) {
$offset = isset($arguments[0]) ? $arguments[0] : 0;
$query = "//atom:entry[atom:id='" . $this->getText('id', false) .
"']/atom:link[@rel='enclosure']";
 
$encs = $this->parent->xpath->query($query);
if ($encs->length > $offset) {
try {
if (! $encs->item($offset)->hasAttribute('href')) {
return false;
}
$attrs = $encs->item($offset)->attributes;
$length = $encs->item($offset)->hasAttribute('length') ?
$encs->item($offset)->getAttribute('length') : false;
return array(
'url' => $attrs->getNamedItem('href')->value,
'type' => $attrs->getNamedItem('type')->value,
'length' => $length);
} catch (Exception $e) {
return false;
}
}
return false;
}
/**
* Get details of this entry's source, if available/relevant
*
* Where an atom:entry is taken from another feed then the aggregator
* is supposed to include an atom:source element which replicates at least
* the atom:id, atom:title, and atom:updated metadata from the original
* feed. Atom:source therefore has a very similar structure to atom:feed
* and if we find it we will return it as an XML_Feed_Parser_Atom object.
*
* @return XML_Feed_Parser_Atom|false
*/
function getSource() {
$test = $this->model->getElementsByTagName('source');
if ($test->length == 0) {
return false;
}
$source = new XML_Feed_Parser_Atom($test->item(0));
}
 
/**
* Get the entry as an XML string
*
* Return an XML serialization of the feed, should it be required. Most
* users however, will already have a serialization that they used when
* instantiating the object.
*
* @return string XML serialization of element
*/
function __toString() {
$simple = simplexml_import_dom($this->model);
return $simple->asXML();
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss09Element.php
New file
0,0 → 1,59
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS0.9 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS09Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 0.9 entries. It will usually be called by
* XML_Feed_Parser_RSS09 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss09Element extends XmlFeedParserRss09 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS09
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Link'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserException.php
New file
0,0 → 1,36
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Keeps the exception class for XML_Feed_Parser.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL
* @version CVS: $Id: Exception.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
/**
* XML_Feed_Parser_Exception is a simple extension of PEAR_Exception, existing
* to help with identification of the source of exceptions.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserException extends Exception {
 
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserAtom.php
New file
0,0 → 1,358
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Atom feed class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: Atom.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This is the class that determines how we manage Atom 1.0 feeds
*
* How we deal with constructs:
* date - return as unix datetime for use with the 'date' function unless specified otherwise
* text - return as is. optional parameter will give access to attributes
* person - defaults to name, but parameter based access
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserAtom extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'atom.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
public $xpath;
 
/**
* When performing XPath queries we will use this prefix
* @var string
*/
private $xpathPrefix = '//';
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'Atom 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserAtomElement';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'entry';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'author' => array('Person'),
'contributor' => array('Person'),
'icon' => array('Text'),
'logo' => array('Text'),
'id' => array('Text', 'fail'),
'rights' => array('Text'),
'subtitle' => array('Text'),
'title' => array('Text', 'fail'),
'updated' => array('Date', 'fail'),
'link' => array('Link'),
'generator' => array('Text'),
'category' => array('Category'),
'content' => array('Text'));
 
/**
* Here we provide a few mappings for those very special circumstances in
* which it makes sense to map back to the RSS2 spec. Key is RSS2 version
* value is an array consisting of the equivalent in atom and any attributes
* needed to make the mapping.
* @var array
*/
protected $compatMap = array(
'guid' => array('id'),
'links' => array('link'),
'tags' => array('category'),
'contributors' => array('contributor'));
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($this->model);
$this->xpath->registerNamespace('atom', 'http://www.w3.org/2005/Atom');
$this->numberEntries = $this->count('entry');
}
 
/**
* Implement retrieval of an entry based on its ID for atom feeds.
*
* This function uses XPath to get the entry based on its ID. If DOMXPath::evaluate
* is available, we also use that to store a reference to the entry in the array
* used by getEntryByOffset so that method does not have to seek out the entry
* if it's requested that way.
*
* @param string $id any valid Atom ID.
* @return XML_Feed_Parser_AtomElement
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//atom:entry[atom:id='$id']");
 
if ($entries->length > 0) {
$xmlBase = $entries->item(0)->baseURI;
$entry = new $this->itemClass($entries->item(0), $this, $xmlBase);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::atom:entry)", $entries->item(0));
$this->entries[$offset] = $entry;
}
 
$this->idMappings[$id] = $entry;
 
return $entry;
}
}
 
/**
* Retrieves data from a person construct.
*
* Get a person construct. We default to the 'name' element but allow
* access to any of the elements.
*
* @param string $method The name of the person construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string|false
*/
protected function getPerson($method, $arguments) {
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$parameter = empty($arguments[1]['param']) ? 'name' : $arguments[1]['param'];
$section = $this->model->getElementsByTagName($method);
if ($parameter == 'url') {
$parameter = 'uri';
}
 
if ($section->length <= $offset) {
return false;
}
 
$param = $section->item($offset)->getElementsByTagName($parameter);
if ($param->length == 0) {
return false;
}
return $param->item(0)->nodeValue;
}
 
/**
* Retrieves an element's content where that content is a text construct.
*
* Get a text construct. When calling this method, the two arguments
* allowed are 'offset' and 'attribute', so $parser->subtitle() would
* return the content of the element, while $parser->subtitle(false, 'type')
* would return the value of the type attribute.
*
* @todo Clarify overlap with getContent()
* @param string $method The name of the text construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string
*/
protected function getText($method, $arguments = Array()) {
$offset = empty($arguments[0]) ? 0: $arguments[0];
$attribute = empty($arguments[1]) ? false : $arguments[1];
$tags = $this->model->getElementsByTagName($method);
 
if ($tags->length <= $offset) {
return false;
}
 
$content = $tags->item($offset);
 
if (! $content->hasAttribute('type')) {
$content->setAttribute('type', 'text');
}
$type = $content->getAttribute('type');
 
if (! empty($attribute) and
! ($method == 'generator' and $attribute == 'name')) {
if ($content->hasAttribute($attribute)) {
return $content->getAttribute($attribute);
} else if ($attribute == 'href' and $content->hasAttribute('uri')) {
return $content->getAttribute('uri');
}
return false;
}
 
return $this->parseTextConstruct($content);
}
/**
* Extract content appropriately from atom text constructs
*
* Because of different rules applied to the content element and other text
* constructs, they are deployed as separate functions, but they share quite
* a bit of processing. This method performs the core common process, which is
* to apply the rules for different mime types in order to extract the content.
*
* @param DOMNode $content the text construct node to be parsed
* @return String
* @author James Stewart
**/
protected function parseTextConstruct(DOMNode $content) {
if ($content->hasAttribute('type')) {
$type = $content->getAttribute('type');
} else {
$type = 'text';
}
 
if (strpos($type, 'text/') === 0) {
$type = 'text';
}
 
switch ($type) {
case 'text':
case 'html':
return $content->textContent;
break;
case 'xhtml':
$container = $content->getElementsByTagName('div');
if ($container->length == 0) {
return false;
}
$contents = $container->item(0);
if ($contents->hasChildNodes()) {
/* Iterate through, applying xml:base and store the result */
$result = '';
foreach ($contents->childNodes as $node) {
$result .= $this->traverseNode($node);
}
return $result;
}
break;
case preg_match('@^[a-zA-Z]+/[a-zA-Z+]*xml@i', $type) > 0:
return $content;
break;
case 'application/octet-stream':
default:
return base64_decode(trim($content->nodeValue));
break;
}
return false;
}
/**
* Get a category from the entry.
*
* A feed or entry can have any number of categories. A category can have the
* attributes term, scheme and label.
*
* @param string $method The name of the text construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string
*/
function getCategory($method, $arguments) {
$offset = empty($arguments[0]) ? 0: $arguments[0];
$attribute = empty($arguments[1]) ? 'term' : $arguments[1];
$categories = $this->model->getElementsByTagName('category');
if ($categories->length <= $offset) {
$category = $categories->item($offset);
if ($category->hasAttribute($attribute)) {
return $category->getAttribute($attribute);
}
}
return false;
}
 
/**
* This element must be present at least once with rel="feed". This element may be
* present any number of further times so long as there is no clash. If no 'rel' is
* present and we're asked for one, we follow the example of the Universal Feed
* Parser and presume 'alternate'.
*
* @param int $offset the position of the link within the container
* @param string $attribute the attribute name required
* @param array an array of attributes to search by
* @return string the value of the attribute
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
if (is_array($params) and !empty($params)) {
$terms = array();
$alt_predicate = '';
$other_predicate = '';
 
foreach ($params as $key => $value) {
if ($key == 'rel' && $value == 'alternate') {
$alt_predicate = '[not(@rel) or @rel="alternate"]';
} else {
$terms[] = "@$key='$value'";
}
}
if (!empty($terms)) {
$other_predicate = '[' . join(' and ', $terms) . ']';
}
$query = $this->xpathPrefix . 'atom:link' . $alt_predicate . $other_predicate;
$links = $this->xpath->query($query);
} else {
$links = $this->model->getElementsByTagName('link');
}
if ($links->length > $offset) {
if ($links->item($offset)->hasAttribute($attribute)) {
$value = $links->item($offset)->getAttribute($attribute);
if ($attribute == 'href') {
$value = $this->addBase($value, $links->item($offset));
}
return $value;
} else if ($attribute == 'rel') {
return 'alternate';
}
}
return false;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss09.php
New file
0,0 → 1,215
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS0.9 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS09.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS0.9 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Find a Relax NG URI we can use
*/
class XmlFeedParserRss09 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = '';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 0.9';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss09Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'textinput' => array('TextInput'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
 
/**
* Our constructor does nothing more than its parent.
*
* @todo RelaxNG validation
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Included for compatibility -- will not work with RSS 0.9
*
* This is not something that will work with RSS0.9 as it does not have
* clear restrictions on the global uniqueness of IDs.
*
* @param string $id any valid ID.
* @return false
*/
function getEntryById($id) {
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'link' => $image->getElementsByTagName('link')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details,
array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) &&
$input->attributes->getNamedItem('resource')) {
$results['link'] = $input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
/**
* Get details of a link from the feed.
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
 
/**
* Not implemented - no available validation.
*/
public function relaxNGValidate() {
return true;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserType.php
New file
0,0 → 1,455
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Abstract class providing common methods for XML_Feed_Parser feeds.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: Type.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This abstract class provides some general methods that are likely to be
* implemented exactly the same way for all feed types.
*
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
*/
abstract class XmlFeedParserType {
/**
* Where we store our DOM object for this feed
* @var DOMDocument
*/
public $model;
 
/**
* For iteration we'll want a count of the number of entries
* @var int
*/
public $numberEntries;
 
/**
* Where we store our entry objects once instantiated
* @var array
*/
public $entries = array();
 
/**
* Store mappings between entry IDs and their position in the feed
*/
public $idMappings = array();
 
/**
* Proxy to allow use of element names as method names
*
* We are not going to provide methods for every entry type so this
* function will allow for a lot of mapping. We rely pretty heavily
* on this to handle our mappings between other feed types and atom.
*
* @param string $call - the method attempted
* @param array $arguments - arguments to that method
* @return mixed
*/
function __call($call, $arguments = array()) {
if (! is_array($arguments)) {
$arguments = array();
}
 
if (isset($this->compatMap[$call])) {
$tempMap = $this->compatMap;
$tempcall = array_pop($tempMap[$call]);
if (! empty($tempMap)) {
$arguments = array_merge($arguments, $tempMap[$call]);
}
$call = $tempcall;
}
 
/* To be helpful, we allow a case-insensitive search for this method */
if (! isset($this->map[$call])) {
foreach (array_keys($this->map) as $key) {
if (strtoupper($key) == strtoupper($call)) {
$call = $key;
break;
}
}
}
 
if (empty($this->map[$call])) {
return false;
}
 
$method = 'get' . $this->map[$call][0];
if ($method == 'getLink') {
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$attribute = empty($arguments[1]) ? 'href' : $arguments[1];
$params = isset($arguments[2]) ? $arguments[2] : array();
return $this->getLink($offset, $attribute, $params);
}
if (method_exists($this, $method)) {
return $this->$method($call, $arguments);
}
 
return false;
}
 
/**
* Proxy to allow use of element names as attribute names
*
* For many elements variable-style access will be desirable. This function
* provides for that.
*
* @param string $value - the variable required
* @return mixed
*/
function __get($value) {
return $this->__call($value, array());
}
 
/**
* Utility function to help us resolve xml:base values
*
* We have other methods which will traverse the DOM and work out the different
* xml:base declarations we need to be aware of. We then need to combine them.
* If a declaration starts with a protocol then we restart the string. If it
* starts with a / then we add on to the domain name. Otherwise we simply tag
* it on to the end.
*
* @param string $base - the base to add the link to
* @param string $link
*/
function combineBases($base, $link) {
if (preg_match('/^[A-Za-z]+:\/\//', $link)) {
return $link;
} else if (preg_match('/^\//', $link)) {
/* Extract domain and suffix link to that */
preg_match('/^([A-Za-z]+:\/\/.*)?\/*/', $base, $results);
$firstLayer = $results[0];
return $firstLayer . "/" . $link;
} else if (preg_match('/^\.\.\//', $base)) {
/* Step up link to find place to be */
preg_match('/^((\.\.\/)+)(.*)$/', $link, $bases);
$suffix = $bases[3];
$count = preg_match_all('/\.\.\//', $bases[1], $steps);
$url = explode("/", $base);
for ($i = 0; $i <= $count; $i++) {
array_pop($url);
}
return implode("/", $url) . "/" . $suffix;
} else if (preg_match('/^(?!\/$)/', $base)) {
$base = preg_replace('/(.*\/).*$/', '$1', $base) ;
return $base . $link;
} else {
/* Just stick it on the end */
return $base . $link;
}
}
 
/**
* Determine whether we need to apply our xml:base rules
*
* Gets us the xml:base data and then processes that with regard
* to our current link.
*
* @param string
* @param DOMElement
* @return string
*/
function addBase($link, $element) {
if (preg_match('/^[A-Za-z]+:\/\//', $link)) {
return $link;
}
 
return $this->combineBases($element->baseURI, $link);
}
 
/**
* Get an entry by its position in the feed, starting from zero
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by ID.
*
* @param int $offset
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryByOffset($offset) {
if (! isset($this->entries[$offset])) {
$entries = $this->model->getElementsByTagName($this->itemElement);
if ($entries->length > $offset) {
$xmlBase = $entries->item($offset)->baseURI;
$this->entries[$offset] = new $this->itemClass(
$entries->item($offset), $this, $xmlBase);
if ($id = $this->entries[$offset]->id) {
$this->idMappings[$id] = $this->entries[$offset];
}
} else {
throw new XML_Feed_Parser_Exception('No entries found');
}
}
 
return $this->entries[$offset];
}
 
/**
* Return a date in seconds since epoch.
*
* Get a date construct. We use PHP's strtotime to return it as a unix datetime, which
* is the number of seconds since 1970-01-01 00:00:00.
*
* @link http://php.net/strtotime
* @param string $method The name of the date construct we want
* @param array $arguments Included for compatibility with our __call usage
* @return int|false datetime
*/
protected function getDate($method, $arguments) {
$time = $this->model->getElementsByTagName($method);
if ($time->length == 0 || empty($time->item(0)->nodeValue)) {
return false;
}
return strtotime($time->item(0)->nodeValue);
}
 
/**
* Get a text construct.
*
* @param string $method The name of the text construct we want
* @param array $arguments Included for compatibility with our __call usage
* @return string
*/
protected function getText($method, $arguments = array()) {
$tags = $this->model->getElementsByTagName($method);
if ($tags->length > 0) {
$value = $tags->item(0)->nodeValue;
return $value;
}
return false;
}
 
/**
* Apply various rules to retrieve category data.
*
* There is no single way of declaring a category in RSS1/1.1 as there is in RSS2
* and Atom. Instead the usual approach is to use the dublin core namespace to
* declare categories. For example delicious use both:
* <dc:subject>PEAR</dc:subject> and: <taxo:topics><rdf:Bag>
* <rdf:li resource="http://del.icio.us/tag/PEAR" /></rdf:Bag></taxo:topics>
* to declare a categorisation of 'PEAR'.
*
* We need to be sensitive to this where possible.
*
* @param string $call for compatibility with our overloading
* @param array $arguments - arg 0 is the offset, arg 1 is whether to return as array
* @return string|array|false
*/
protected function getCategory($call, $arguments) {
$categories = $this->model->getElementsByTagName('subject');
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$array = empty($arguments[1]) ? false : true;
if ($categories->length <= $offset) {
return false;
}
if ($array) {
$list = array();
foreach ($categories as $category) {
array_push($list, $category->nodeValue);
}
return $list;
}
return $categories->item($offset)->nodeValue;
}
 
/**
* Count occurrences of an element
*
* This function will tell us how many times the element $type
* appears at this level of the feed.
*
* @param string $type the element we want to get a count of
* @return int
*/
protected function count($type) {
if ($tags = $this->model->getElementsByTagName($type)) {
return $tags->length;
}
return 0;
}
 
/**
* Part of our xml:base processing code
*
* We need a couple of methods to access XHTML content stored in feeds.
* This is because we dereference all xml:base references before returning
* the element. This method handles the attributes.
*
* @param DOMElement $node The DOM node we are iterating over
* @return string
*/
function processXHTMLAttributes($node) {
$return = '';
foreach ($node->attributes as $attribute) {
if ($attribute->name == 'src' or $attribute->name == 'href') {
$attribute->value = $this->addBase(htmlentities($attribute->value, NULL, 'utf-8'), $attribute);
}
if ($attribute->name == 'base') {
continue;
}
$return .= $attribute->name . '="' . htmlentities($attribute->value, NULL, 'utf-8') .'" ';
}
if (! empty($return)) {
return ' ' . trim($return);
}
return '';
}
 
/**
* Convert HTML entities based on the current character set.
*
* @param String
* @return String
*/
function processEntitiesForNodeValue($node) {
if (function_exists('iconv')) {
$current_encoding = $node->ownerDocument->encoding;
$value = iconv($current_encoding, 'UTF-8', $node->nodeValue);
} else if ($current_encoding == 'iso-8859-1') {
$value = utf8_encode($node->nodeValue);
} else {
$value = $node->nodeValue;
}
 
$decoded = html_entity_decode($value, NULL, 'UTF-8');
return htmlentities($decoded, NULL, 'UTF-8');
}
 
/**
* Part of our xml:base processing code
*
* We need a couple of methods to access XHTML content stored in feeds.
* This is because we dereference all xml:base references before returning
* the element. This method recurs through the tree descending from the node
* and builds our string.
*
* @param DOMElement $node The DOM node we are processing
* @return string
*/
function traverseNode($node) {
$content = '';
 
/* Add the opening of this node to the content */
if ($node instanceof DOMElement) {
$content .= '<' . $node->tagName .
$this->processXHTMLAttributes($node) . '>';
}
 
/* Process children */
if ($node->hasChildNodes()) {
foreach ($node->childNodes as $child) {
$content .= $this->traverseNode($child);
}
}
 
if ($node instanceof DOMText) {
$content .= $this->processEntitiesForNodeValue($node);
}
 
/* Add the closing of this node to the content */
if ($node instanceof DOMElement) {
$content .= '</' . $node->tagName . '>';
}
 
return $content;
}
 
/**
* Get content from RSS feeds (atom has its own implementation)
*
* The official way to include full content in an RSS1 entry is to use
* the content module's element 'encoded', and RSS2 feeds often duplicate that.
* Often, however, the 'description' element is used instead. We will offer that
* as a fallback. Atom uses its own approach and overrides this method.
*
* @return string|false
*/
protected function getContent($method, $arguments = array()) {
$options = array('encoded', 'description');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length == 0) {
continue;
}
if ($test->item(0)->hasChildNodes()) {
$value = '';
foreach ($test->item(0)->childNodes as $child) {
if ($child instanceof DOMText) {
$value .= $child->nodeValue;
} else {
$simple = simplexml_import_dom($child);
$value .= $simple->asXML();
}
}
return $value;
} else if ($test->length > 0) {
return $test->item(0)->nodeValue;
}
}
return false;
}
 
/**
* Checks if this element has a particular child element.
*
* @param String
* @param Integer
* @return bool
**/
function hasKey($name, $offset = 0) {
$search = $this->model->getElementsByTagName($name);
return $search->length > $offset;
}
 
/**
* Return an XML serialization of the feed, should it be required. Most
* users however, will already have a serialization that they used when
* instantiating the object.
*
* @return string XML serialization of element
*/
function __toString() {
$simple = simplexml_import_dom($this->model);
return $simple->asXML();
}
/**
* Get directory holding RNG schemas. Method is based on that
* found in Contact_AddressBook.
*
* @return string PEAR data directory.
* @access public
* @static
*/
static function getSchemaDir() {
return dirname(__FILE__).'/../schemas';
}
 
public function relaxNGValidate() {
$dir = self::getSchemaDir();
$path = $dir . '/' . $this->relax;
return $this->model->relaxNGValidate($path);
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss1Element.php
New file
0,0 → 1,111
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS1Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 1.0 entries. It will usually be called by
* XML_Feed_Parser_RSS1 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss1Element extends XmlFeedParserRss1 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS1
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'id' => array('Id'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'), # or dc:description
'category' => array('Category'),
'rights' => array('Text'), # dc:rights
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date'), # dc:date
'content' => array('Content')
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS1.
* @var array
*/
protected $compatMap = array(
'content' => array('content'),
'updated' => array('lastBuildDate'),
'published' => array('date'),
'subtitle' => array('description'),
'updated' => array('date'),
'author' => array('creator'),
'contributor' => array('contributor')
);
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* If an rdf:about attribute is specified, return it as an ID
*
* There is no established way of showing an ID for an RSS1 entry. We will
* simulate it using the rdf:about attribute of the entry element. This cannot
* be relied upon for unique IDs but may prove useful.
*
* @return string|false
*/
function getId() {
if ($this->model->attributes->getNamedItem('about')) {
return $this->model->attributes->getNamedItem('about')->nodeValue;
}
return false;
}
 
/**
* How RSS1 should support for enclosures is not clear. For now we will return
* false.
*
* @return false
*/
function getEnclosure() {
return false;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss11Element.php
New file
0,0 → 1,145
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS11Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 1.1 entries. It will usually be called by
* XML_Feed_Parser_RSS11 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss11Element extends XmlFeedParserRss11 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS1
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'id' => array('Id'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'), # or dc:description
'category' => array('Category'),
'rights' => array('Text'), # dc:rights
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date'), # dc:date
'content' => array('Content')
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS1.
* @var array
*/
protected $compatMap = array(
'content' => array('content'),
'updated' => array('lastBuildDate'),
'published' => array('date'),
'subtitle' => array('description'),
'updated' => array('date'),
'author' => array('creator'),
'contributor' => array('contributor')
);
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* If an rdf:about attribute is specified, return that as an ID
*
* There is no established way of showing an ID for an RSS1 entry. We will
* simulate it using the rdf:about attribute of the entry element. This cannot
* be relied upon for unique IDs but may prove useful.
*
* @return string|false
*/
function getId() {
if ($this->model->attributes->getNamedItem('about')) {
return $this->model->attributes->getNamedItem('about')->nodeValue;
}
return false;
}
 
/**
* Return the entry's content
*
* The official way to include full content in an RSS1 entry is to use
* the content module's element 'encoded'. Often, however, the 'description'
* element is used instead. We will offer that as a fallback.
*
* @return string|false
*/
function getContent() {
$options = array('encoded', 'description');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length == 0) {
continue;
}
if ($test->item(0)->hasChildNodes()) {
$value = '';
foreach ($test->item(0)->childNodes as $child) {
if ($child instanceof DOMText) {
$value .= $child->nodeValue;
} else {
$simple = simplexml_import_dom($child);
$value .= $simple->asXML();
}
}
return $value;
} else if ($test->length > 0) {
return $test->item(0)->nodeValue;
}
}
return false;
}
/**
* How RSS1.1 should support for enclosures is not clear. For now we will return
* false.
*
* @return false
*/
function getEnclosure() {
return false;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss2Element.php
New file
0,0 → 1,166
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Class representing entries in an RSS2 feed.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS2Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class provides support for RSS 2.0 entries. It will usually be
* called by XML_Feed_Parser_RSS2 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss2Element extends XmlFeedParserRss2 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS2
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'title' => array('Text'),
'guid' => array('Guid'),
'description' => array('Text'),
'author' => array('Text'),
'comments' => array('Text'),
'enclosure' => array('Enclosure'),
'pubDate' => array('Date'),
'source' => array('Source'),
'link' => array('Text'),
'content' => array('Content'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'id' => array('guid'),
'updated' => array('lastBuildDate'),
'published' => array('pubdate'),
'guidislink' => array('guid', 'ispermalink'),
'summary' => array('description'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS2 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* Get the value of the guid element, if specified
*
* guid is the closest RSS2 has to atom's ID. It is usually but not always a
* URI. The one attribute that RSS2 can posess is 'ispermalink' which specifies
* whether the guid is itself dereferencable. Use of guid is not obligatory,
* but is advisable. To get the guid you would call $item->id() (for atom
* compatibility) or $item->guid(). To check if this guid is a permalink call
* $item->guid("ispermalink").
*
* @param string $method - the method name being called
* @param array $params - parameters required
* @return string the guid or value of ispermalink
*/
protected function getGuid($method, $params) {
$attribute = (isset($params[0]) and $params[0] == 'ispermalink') ?
true : false;
$tag = $this->model->getElementsByTagName('guid');
if ($tag->length > 0) {
if ($attribute) {
if ($tag->hasAttribute("ispermalink")) {
return $tag->getAttribute("ispermalink");
}
}
return $tag->item(0)->nodeValue;
}
return false;
}
 
/**
* Access details of file enclosures
*
* The RSS2 spec is ambiguous as to whether an enclosure element must be
* unique in a given entry. For now we will assume it needn't, and allow
* for an offset.
*
* @param string $method - the method being called
* @param array $parameters - we expect the first of these to be our offset
* @return array|false
*/
protected function getEnclosure($method, $parameters) {
$encs = $this->model->getElementsByTagName('enclosure');
$offset = isset($parameters[0]) ? $parameters[0] : 0;
if ($encs->length > $offset) {
try {
if (! $encs->item($offset)->hasAttribute('url')) {
return false;
}
$attrs = $encs->item($offset)->attributes;
return array(
'url' => $attrs->getNamedItem('url')->value,
'length' => $attrs->getNamedItem('length')->value,
'type' => $attrs->getNamedItem('type')->value);
} catch (Exception $e) {
return false;
}
}
return false;
}
 
/**
* Get the entry source if specified
*
* source is an optional sub-element of item. Like atom:source it tells
* us about where the entry came from (eg. if it's been copied from another
* feed). It is not a rich source of metadata in the same way as atom:source
* and while it would be good to maintain compatibility by returning an
* XML_Feed_Parser_RSS2 element, it makes a lot more sense to return an array.
*
* @return array|false
*/
protected function getSource() {
$get = $this->model->getElementsByTagName('source');
if ($get->length) {
$source = $get->item(0);
$array = array(
'content' => $source->nodeValue);
foreach ($source->attributes as $attribute) {
$array[$attribute->name] = $attribute->value;
}
return $array;
}
return false;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/atom.rng
New file
0,0 → 1,598
<?xml version="1.0" encoding="UTF-8"?>
<!--
-*- rnc -*-
RELAX NG Compact Syntax Grammar for the
Atom Format Specification Version 11
-->
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:s="http://www.ascc.net/xml/schematron" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<choice>
<ref name="atomFeed"/>
<ref name="atomEntry"/>
</choice>
</start>
<!-- Common attributes -->
<define name="atomCommonAttributes">
<optional>
<attribute name="xml:base">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="xml:lang">
<ref name="atomLanguageTag"/>
</attribute>
</optional>
<zeroOrMore>
<ref name="undefinedAttribute"/>
</zeroOrMore>
</define>
<!-- Text Constructs -->
<define name="atomPlainTextConstruct">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<choice>
<value>text</value>
<value>html</value>
</choice>
</attribute>
</optional>
<text/>
</define>
<define name="atomXHTMLTextConstruct">
<ref name="atomCommonAttributes"/>
<attribute name="type">
<value>xhtml</value>
</attribute>
<ref name="xhtmlDiv"/>
</define>
<define name="atomTextConstruct">
<choice>
<ref name="atomPlainTextConstruct"/>
<ref name="atomXHTMLTextConstruct"/>
</choice>
</define>
<!-- Person Construct -->
<define name="atomPersonConstruct">
<ref name="atomCommonAttributes"/>
<interleave>
<element name="atom:name">
<text/>
</element>
<optional>
<element name="atom:uri">
<ref name="atomUri"/>
</element>
</optional>
<optional>
<element name="atom:email">
<ref name="atomEmailAddress"/>
</element>
</optional>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</define>
<!-- Date Construct -->
<define name="atomDateConstruct">
<ref name="atomCommonAttributes"/>
<data type="dateTime"/>
</define>
<!-- atom:feed -->
<define name="atomFeed">
<element name="atom:feed">
<s:rule context="atom:feed">
<s:assert test="atom:author or not(atom:entry[not(atom:author)])">An atom:feed must have an atom:author unless all of its atom:entry children have an atom:author.</s:assert>
</s:rule>
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<optional>
<ref name="atomGenerator"/>
</optional>
<optional>
<ref name="atomIcon"/>
</optional>
<ref name="atomId"/>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomLogo"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSubtitle"/>
</optional>
<ref name="atomTitle"/>
<ref name="atomUpdated"/>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
<zeroOrMore>
<ref name="atomEntry"/>
</zeroOrMore>
</element>
</define>
<!-- atom:entry -->
<define name="atomEntry">
<element name="atom:entry">
<s:rule context="atom:entry">
<s:assert test="atom:link[@rel='alternate'] or atom:link[not(@rel)] or atom:content">An atom:entry must have at least one atom:link element with a rel attribute of 'alternate' or an atom:content.</s:assert>
</s:rule>
<s:rule context="atom:entry">
<s:assert test="atom:author or ../atom:author or atom:source/atom:author">An atom:entry must have an atom:author if its feed does not.</s:assert>
</s:rule>
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<optional>
<ref name="atomContent"/>
</optional>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<ref name="atomId"/>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomPublished"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSource"/>
</optional>
<optional>
<ref name="atomSummary"/>
</optional>
<ref name="atomTitle"/>
<ref name="atomUpdated"/>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</element>
</define>
<!-- atom:content -->
<define name="atomInlineTextContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<choice>
<value>text</value>
<value>html</value>
</choice>
</attribute>
</optional>
<zeroOrMore>
<text/>
</zeroOrMore>
</element>
</define>
<define name="atomInlineXHTMLContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<attribute name="type">
<value>xhtml</value>
</attribute>
<ref name="xhtmlDiv"/>
</element>
</define>
<define name="atomInlineOtherContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="atomOutOfLineContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<attribute name="src">
<ref name="atomUri"/>
</attribute>
<empty/>
</element>
</define>
<define name="atomContent">
<choice>
<ref name="atomInlineTextContent"/>
<ref name="atomInlineXHTMLContent"/>
<ref name="atomInlineOtherContent"/>
<ref name="atomOutOfLineContent"/>
</choice>
</define>
<!-- atom:author -->
<define name="atomAuthor">
<element name="atom:author">
<ref name="atomPersonConstruct"/>
</element>
</define>
<!-- atom:category -->
<define name="atomCategory">
<element name="atom:category">
<ref name="atomCommonAttributes"/>
<attribute name="term"/>
<optional>
<attribute name="scheme">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="label"/>
</optional>
<ref name="undefinedContent"/>
</element>
</define>
<!-- atom:contributor -->
<define name="atomContributor">
<element name="atom:contributor">
<ref name="atomPersonConstruct"/>
</element>
</define>
<!-- atom:generator -->
<define name="atomGenerator">
<element name="atom:generator">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="uri">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="version"/>
</optional>
<text/>
</element>
</define>
<!-- atom:icon -->
<define name="atomIcon">
<element name="atom:icon">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:id -->
<define name="atomId">
<element name="atom:id">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:logo -->
<define name="atomLogo">
<element name="atom:logo">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:link -->
<define name="atomLink">
<element name="atom:link">
<ref name="atomCommonAttributes"/>
<attribute name="href">
<ref name="atomUri"/>
</attribute>
<optional>
<attribute name="rel">
<choice>
<ref name="atomNCName"/>
<ref name="atomUri"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<optional>
<attribute name="hreflang">
<ref name="atomLanguageTag"/>
</attribute>
</optional>
<optional>
<attribute name="title"/>
</optional>
<optional>
<attribute name="length"/>
</optional>
<ref name="undefinedContent"/>
</element>
</define>
<!-- atom:published -->
<define name="atomPublished">
<element name="atom:published">
<ref name="atomDateConstruct"/>
</element>
</define>
<!-- atom:rights -->
<define name="atomRights">
<element name="atom:rights">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:source -->
<define name="atomSource">
<element name="atom:source">
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<optional>
<ref name="atomGenerator"/>
</optional>
<optional>
<ref name="atomIcon"/>
</optional>
<optional>
<ref name="atomId"/>
</optional>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomLogo"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSubtitle"/>
</optional>
<optional>
<ref name="atomTitle"/>
</optional>
<optional>
<ref name="atomUpdated"/>
</optional>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</element>
</define>
<!-- atom:subtitle -->
<define name="atomSubtitle">
<element name="atom:subtitle">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:summary -->
<define name="atomSummary">
<element name="atom:summary">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:title -->
<define name="atomTitle">
<element name="atom:title">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:updated -->
<define name="atomUpdated">
<element name="atom:updated">
<ref name="atomDateConstruct"/>
</element>
</define>
<!-- Low-level simple types -->
<define name="atomNCName">
<data type="string">
<param name="minLength">1</param>
<param name="pattern">[^:]*</param>
</data>
</define>
<!-- Whatever a media type is, it contains at least one slash -->
<define name="atomMediaType">
<data type="string">
<param name="pattern">.+/.+</param>
</data>
</define>
<!-- As defined in RFC 3066 -->
<define name="atomLanguageTag">
<data type="string">
<param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
</data>
</define>
<!--
Unconstrained; it's not entirely clear how IRI fit into
xsd:anyURI so let's not try to constrain it here
-->
<define name="atomUri">
<text/>
</define>
<!-- Whatever an email address is, it contains at least one @ -->
<define name="atomEmailAddress">
<data type="string">
<param name="pattern">.+@.+</param>
</data>
</define>
<!-- Simple Extension -->
<define name="simpleExtensionElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<text/>
</element>
</define>
<!-- Structured Extension -->
<define name="structuredExtensionElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<choice>
<group>
<oneOrMore>
<attribute>
<anyName/>
</attribute>
</oneOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</group>
<group>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<group>
<optional>
<text/>
</optional>
<oneOrMore>
<ref name="anyElement"/>
</oneOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</group>
</group>
</choice>
</element>
</define>
<!-- Other Extensibility -->
<define name="extensionElement">
<choice>
<ref name="simpleExtensionElement"/>
<ref name="structuredExtensionElement"/>
</choice>
</define>
<define name="undefinedAttribute">
<attribute>
<anyName>
<except>
<name>xml:base</name>
<name>xml:lang</name>
<nsName ns=""/>
</except>
</anyName>
</attribute>
</define>
<define name="undefinedContent">
<zeroOrMore>
<choice>
<text/>
<ref name="anyForeignElement"/>
</choice>
</zeroOrMore>
</define>
<define name="anyElement">
<element>
<anyName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="anyForeignElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<!-- XHTML -->
<define name="anyXHTML">
<element>
<nsName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyXHTML"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="xhtmlDiv">
<element name="xhtml:div">
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyXHTML"/>
</choice>
</zeroOrMore>
</element>
</define>
</grammar>
<!-- EOF -->
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/README
New file
0,0 → 1,9
Most of these schemas are only available in RNC (RelaxNG, Compact) format.
 
libxml (and therefor PHP) only supports RelaxNG - the XML version.
 
To update these, you will need a conversion utility, like trang (http://www.thaiopensource.com/relaxng/trang.html).
 
 
 
clockwerx@clockwerx-desktop:~/trang$ java -jar trang.jar -I rnc -O rng http://atompub.org/2005/08/17/atom.rnc atom.rng
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss10.rng
New file
0,0 → 1,113
<?xml version='1.0' encoding='UTF-8'?>
<!-- http://www.xml.com/lpt/a/2002/01/23/relaxng.html -->
<!-- http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html -->
<!-- http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_wildcards_st8.html -->
 
<grammar xmlns='http://relaxng.org/ns/structure/1.0'
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
ns='http://purl.org/rss/1.0/'
datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'>
 
<start>
<element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<ref name='RDFContent'/>
</element>
</start>
 
<define name='RDFContent' ns='http://purl.org/rss/1.0/'>
<interleave>
<element name='channel'>
<ref name='channelContent'/>
</element>
<optional>
<element name='image'><ref name='imageContent'/></element>
</optional>
<oneOrMore>
<element name='item'><ref name='itemContent'/></element>
</oneOrMore>
</interleave>
</define>
 
<define name='channelContent' combine="interleave">
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<element name='description'><data type='string'/></element>
<element name='image'>
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</element>
<element name='items'>
<ref name='itemsContent'/>
</element>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
<define name="itemsContent">
<element name="Seq" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<oneOrMore>
<element name="li" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<choice>
<attribute name='resource'> <!-- Why doesn't RDF/RSS1.0 ns qualify this attribute? -->
<data type='anyURI'/>
</attribute>
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</choice>
</element>
</oneOrMore>
</element>
</define>
<define name='imageContent'>
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<element name='url'><data type='anyURI'/></element>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
 
<define name='itemContent'>
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<optional><element name='description'><data type='string'/></element></optional>
<ref name="anyThing"/>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
 
<define name='anyThing'>
<zeroOrMore>
<choice>
<text/>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<ref name='anyThing'/>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
</element>
</choice>
</zeroOrMore>
</define>
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss11.rng
New file
0,0 → 1,218
<?xml version="1.0" encoding="UTF-8"?>
<!--
RELAX NG Compact Schema for RSS 1.1
Sean B. Palmer, inamidst.com
Christopher Schmidt, crschmidt.net
License: This schema is in the public domain
-->
<grammar xmlns:rss="http://purl.org/net/rss1.1#" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns="http://purl.org/net/rss1.1#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<ref name="Channel"/>
</start>
<define name="Channel">
<a:documentation>http://purl.org/net/rss1.1#Channel</a:documentation>
<element name="Channel">
<ref name="Channel.content"/>
 
</element>
</define>
<define name="Channel.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<optional>
<ref name="AttrXMLBase"/>
</optional>
 
<ref name="AttrRDFAbout"/>
<interleave>
<ref name="title"/>
<ref name="link"/>
<ref name="description"/>
<optional>
<ref name="image"/>
</optional>
<zeroOrMore>
 
<ref name="Any"/>
</zeroOrMore>
<ref name="items"/>
</interleave>
</define>
<define name="title">
<a:documentation>http://purl.org/net/rss1.1#title</a:documentation>
<element name="title">
 
<ref name="title.content"/>
</element>
</define>
<define name="title.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<text/>
</define>
 
<define name="link">
<a:documentation>http://purl.org/net/rss1.1#link</a:documentation>
<element name="link">
<ref name="link.content"/>
</element>
</define>
<define name="link.content">
<data type="anyURI"/>
 
</define>
<define name="description">
<a:documentation>http://purl.org/net/rss1.1#description</a:documentation>
<element name="description">
<ref name="description.content"/>
</element>
</define>
<define name="description.content">
 
<optional>
<ref name="AttrXMLLang"/>
</optional>
<text/>
</define>
<define name="image">
<a:documentation>http://purl.org/net/rss1.1#image</a:documentation>
<element name="image">
 
<ref name="image.content"/>
</element>
</define>
<define name="image.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFResource"/>
<interleave>
 
<ref name="title"/>
<optional>
<ref name="link"/>
</optional>
<ref name="url"/>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</interleave>
 
</define>
<define name="url">
<a:documentation>http://purl.org/net/rss1.1#url</a:documentation>
<element name="url">
<ref name="url.content"/>
</element>
</define>
<define name="url.content">
 
<data type="anyURI"/>
</define>
<define name="items">
<a:documentation>http://purl.org/net/rss1.1#items</a:documentation>
<element name="items">
<ref name="items.content"/>
</element>
</define>
 
<define name="items.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFCollection"/>
<zeroOrMore>
<ref name="item"/>
</zeroOrMore>
</define>
 
<define name="item">
<a:documentation>http://purl.org/net/rss1.1#item</a:documentation>
<element name="item">
<ref name="item.content"/>
</element>
</define>
<define name="item.content">
<optional>
 
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFAbout"/>
<interleave>
<ref name="title"/>
<ref name="link"/>
<optional>
<ref name="description"/>
</optional>
 
<optional>
<ref name="image"/>
</optional>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</interleave>
</define>
<define name="Any">
 
<a:documentation>http://purl.org/net/rss1.1#Any</a:documentation>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<ref name="Any.content"/>
 
</element>
</define>
<define name="Any.content">
<zeroOrMore>
<attribute>
<anyName>
<except>
<nsName/>
<nsName ns=""/>
 
</except>
</anyName>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</mixed>
 
</define>
<define name="AttrXMLLang">
<attribute name="xml:lang">
<data type="language"/>
</attribute>
</define>
<define name="AttrXMLBase">
<attribute name="xml:base">
<data type="anyURI"/>
 
</attribute>
</define>
<define name="AttrRDFAbout">
<attribute name="rdf:about">
<data type="anyURI"/>
</attribute>
</define>
<define name="AttrRDFResource">
<attribute name="rdf:parseType">
 
<value>Resource</value>
</attribute>
</define>
<define name="AttrRDFCollection">
<attribute name="rdf:parseType">
<value>Collection</value>
</attribute>
</define>
 
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss20.rng
New file
0,0 → 1,298
<?xml version="1.0" encoding="utf-8"?>
 
<!-- ======================================================================
* Author: Dino Morelli
* Began: 2004-Feb-18
* Build #: 0001
* Version: 0.1
* E-Mail: dino.morelli@snet.net
* URL: (none yet)
* License: (none yet)
*
* ========================================================================
*
* RSS v2.0 Relax NG schema
*
* ==================================================================== -->
 
 
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
 
<start>
<ref name="element-rss" />
</start>
 
<define name="element-title">
<element name="title">
 
<text />
</element>
</define>
 
<define name="element-description">
<element name="description">
<text />
</element>
</define>
 
<define name="element-link">
<element name="link">
<text />
</element>
</define>
 
<define name="element-category">
<element name="category">
<optional>
 
<attribute name="domain" />
</optional>
<text />
</element>
</define>
 
<define name="element-rss">
<element name="rss">
<attribute name="version">
 
<value>2.0</value>
</attribute>
<element name="channel">
<interleave>
<ref name="element-title" />
<ref name="element-link" />
<ref name="element-description" />
<optional>
 
<element name="language"><text /></element>
</optional>
<optional>
<element name="copyright"><text /></element>
</optional>
<optional>
<element name="lastBuildDate"><text /></element>
</optional>
<optional>
 
<element name="docs"><text /></element>
</optional>
<optional>
<element name="generator"><text /></element>
</optional>
<optional>
<ref name="element-category" />
</optional>
<optional>
 
<element name="managingEditor"><text /></element>
</optional>
<optional>
<element name="webMaster"><text /></element>
</optional>
<optional>
<element name="pubDate"><text /></element>
</optional>
<optional>
 
<element name="rating"><text /></element>
</optional>
<optional>
<element name="image">
<interleave>
<element name="url"><text /></element>
<ref name="element-title" />
<ref name="element-link" />
<optional>
 
<element name="width"><text /></element>
</optional>
<optional>
<element name="height"><text /></element>
</optional>
<optional>
<ref name="element-description" />
</optional>
</interleave>
 
</element>
</optional>
<optional>
<element name="cloud">
<attribute name="domain" />
<attribute name="port" />
<attribute name="path" />
<attribute name="registerProcedure" />
<attribute name="protocol" />
 
</element>
</optional>
<optional>
<element name="textInput">
<interleave>
<ref name="element-title" />
<ref name="element-description" />
<element name="name"><text /></element>
<ref name="element-link" />
 
</interleave>
</element>
</optional>
<optional>
<element name="skipHours">
<oneOrMore>
<element name="hour">
<choice>
<value>0</value>
 
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
 
<value>7</value>
<value>8</value>
<value>9</value>
<value>10</value>
<value>11</value>
<value>12</value>
 
<value>13</value>
<value>14</value>
<value>15</value>
<value>16</value>
<value>17</value>
<value>18</value>
 
<value>19</value>
<value>20</value>
<value>21</value>
<value>22</value>
<value>23</value>
</choice>
 
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="skipDays">
<oneOrMore>
<element name="day">
<choice>
 
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
 
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<value>10</value>
<value>11</value>
 
<value>12</value>
<value>13</value>
<value>14</value>
<value>15</value>
<value>16</value>
<value>17</value>
 
<value>18</value>
<value>19</value>
<value>20</value>
<value>21</value>
<value>22</value>
<value>23</value>
 
<value>24</value>
<value>25</value>
<value>26</value>
<value>27</value>
<value>28</value>
<value>29</value>
 
<value>30</value>
<value>31</value>
</choice>
</element>
</oneOrMore>
</element>
</optional>
<optional>
 
<element name="ttl"><text /></element>
</optional>
<zeroOrMore>
<element name="item">
<interleave>
<choice>
<ref name="element-title" />
<ref name="element-description" />
<interleave>
 
<ref name="element-title" />
<ref name="element-description" />
</interleave>
</choice>
<optional>
<ref name="element-link" />
</optional>
<optional>
<element name="author"><text /></element>
 
</optional>
<optional>
<ref name="element-category" />
</optional>
<optional>
<element name="comments"><text /></element>
</optional>
<optional>
<element name="enclosure">
 
<attribute name="url" />
<attribute name="length" />
<attribute name="type" />
<text />
</element>
</optional>
<optional>
<element name="guid">
<optional>
 
<attribute name="isPermaLink">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<text />
 
</element>
</optional>
<optional>
<element name="pubDate"><text /></element>
</optional>
<optional>
<element name="source">
<attribute name="url" />
<text />
 
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>
</element>
</define>
 
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/Cache.php
New file
0,0 → 1,128
<?php
class Cache {
private $actif = null;
private $dossier_stockage = null;
private $duree_de_vie = null;
public function __construct($dossier_stockage = null, $duree_de_vie = null, $activation = true) {
$this->actif = ($activation) ? true : false;
if ($this->actif) {
$this->dossier_stockage = $dossier_stockage;
if (is_null($dossier_stockage)) {
$this->dossier_stockage = self::getDossierTmp();
}
$this->duree_de_vie = $duree_de_vie;
if (is_null($duree_de_vie)) {
$this->duree_de_vie = 3600*24;
}
}
}
public function charger($id) {
$contenu = false;
if ($this->actif) {
$chemin_fichier_cache = $this->dossier_stockage.DIRECTORY_SEPARATOR.$id.'.txt';
if (file_exists($chemin_fichier_cache ) && (time() - @filemtime($chemin_fichier_cache) < $this->duree_de_vie)) {
$contenu = file_get_contents($chemin_fichier_cache);
}
}
return $contenu;
}
public function sauver($id, $contenu) {
if ($this->actif) {
$chemin_fichier_cache = $this->dossier_stockage.DIRECTORY_SEPARATOR.$id.'.txt';
if (!file_exists($chemin_fichier_cache) || (time() - @filemtime($chemin_fichier_cache) > $this->duree_de_vie)) {
$fh = fopen($chemin_fichier_cache,'w+');
if ($fh) {
fputs($fh, $contenu);
fclose($fh);
}
}
}
}
/**
* Détermine le dossier système temporaire et détecte si nous y avons accès en lecture et écriture.
*
* Inspiré de Zend_File_Transfer_Adapter_Abstract & Zend_Cache
*
* @return string|false le chemine vers le dossier temporaire ou false en cas d'échec.
*/
private static function getDossierTmp() {
$dossier_tmp = false;
foreach (array($_ENV, $_SERVER) as $environnement) {
foreach (array('TMPDIR', 'TEMP', 'TMP', 'windir', 'SystemRoot') as $cle) {
if (isset($environnement[$cle])) {
if (($cle == 'windir') or ($cle == 'SystemRoot')) {
$dossier = realpath($environnement[$cle] . '\\temp');
} else {
$dossier = realpath($environnement[$cle]);
}
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
break 2;
}
}
}
}
if ( ! $dossier_tmp) {
$dossier_televersement_tmp = ini_get('upload_tmp_dir');
if ($dossier_televersement_tmp) {
$dossier = realpath($dossier_televersement_tmp);
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp) {
if (function_exists('sys_get_temp_dir')) {
$dossier = sys_get_temp_dir();
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp) {
// Tentative de création d'un fichier temporaire
$fichier_tmp = tempnam(md5(uniqid(rand(), TRUE)), '');
if ($fichier_tmp) {
$dossier = realpath(dirname($fichier_tmp));
unlink($fichier_tmp);
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp && self::etreAccessibleEnLectureEtEcriture('/tmp')) {
$dossier_tmp = '/tmp';
}
if ( ! $dossier_tmp && self::etreAccessibleEnLectureEtEcriture('\\temp')) {
$dossier_tmp = '\\temp';
}
return $dossier_tmp;
}
/**
* Vérifie si le fichier ou dossier est accessible en lecture et écriture.
*
* @param $ressource chemin vers le dossier ou fichier à tester
* @return boolean true si la ressource est accessible en lecture et écriture.
*/
protected static function etreAccessibleEnLectureEtEcriture($ressource){
$accessible = false;
if (is_readable($ressource) && is_writable($ressource)) {
$accessible = true;
}
return $accessible;
}
}
?>
/branches/v3.01-serpe/widget/modules/photo
New file
Property changes:
Added: svn:ignore
+config.ini
/branches/v3.01-serpe/widget/modules/streets/config.defaut.ini
New file
0,0 → 1,10
[streets]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/Streets"
cheminDos = "modules/streets/squelettes/"
imgProjet = "modules/streets/configurations/"
/branches/v3.01-serpe/widget/modules/streets/configurations/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/configurations/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/configurations/sauvages_taxons.tsv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/streets/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/streets/squelettes/plantes.tpl.html
New file
0,0 → 1,263
<div id="zone-plantes" class="bloc-top">
<h2><?php echo $plantes['titre']; ?></h2>
<div id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="plantes">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $plantes['poursuivre-plantes']; ?>
</div>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-plantes" class="">
<form id="form-plantes" role="form" autocomplete="off">
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="<?php echo $plantes['arbre-title']; ?>">
<i class="fas fa-tree" aria-hidden="true"></i>
<?php echo $general['arbre']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $plantes['arbre-title']; ?>" required>
<option value="" selected hidden><?php echo $general['numero-arbre']; ?></option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $general['date']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<div id="bloc-taxon" class="control-group">
<label for="taxon-liste" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?> (<?php echo $widget['referentiel']; ?>)
</label>
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $plantes['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $plantes['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option value="" hidden selected><?php echo $general['choisir']; ?></option>
<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
 
<div class="">
<label for="commentaire" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $plantes['titre-photos']; ?>
</div>
<p id="miniature-plantes-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-primary"><i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?></button>
</div>
</div>
</div>
</div><!-- fin formulaire plantes -->
<!-- zone résumé obs plantes ( =zone de droite) -->
<div id="bloc-droite" class="col-md-6">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $plantes['alert-img-tax']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin plantes zone résumé obs ( =zone de droite ) -->
</div>
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
releve = null;
plantes = null;
plantes = new PlantesStreets();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
plantes.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
plantes.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
plantes.tagProjet = "WidgetStreets,plantes";
// Mots-clés à ajouter aux images
plantes.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
plantes.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
plantes.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + plantes.separationTagImg + plantes.tagImg" : 'plantes.tagImg'; ?>;
// Mots-clés à ajouter aux observations
plantes.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
plantes.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
plantes.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + plantes.separationTagObs + plantes.tagObs" : 'plantes.tagObs'; ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
plantes.serviceSaisieUrl = "<?php echo $url_ws_streets; ?>";
 
// URL de l'icône du chargement en cours d'une image
plantes.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
plantes.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
plantes.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
plantes.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
plantes.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
plantes.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + plantes.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
plantes.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + plantes.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
plantes.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
plantes.dureeMessage = 10000;
 
// Initialisation du bousin
plantes.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css
New file
0,0 → 1,0
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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CE,uBR25BiC;EQ15BjC,eRy5B+B;EQx5B/B,YRkEW;EQjEX,0BR6EiC;EMtG/B,sBN8T0B;CQ3R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBR6NmB;CQ3NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eRs4B+B;EQr4B/B,eR2DiC;CQjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBRm4BiC;EQl4BjC,mBAAkB;CACnB;;AC1DC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZgvBF;;AchsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZuvBF;;AcvsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZ8vBF;;Ac9sBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZqwBF;;AcrtBG;EFnDF;ICkBI,aVqMK;IUpML,gBAAe;GDhBlB;CZ4wBF;;Ac5tBG;EFnDF;ICkBI,aVsMK;IUrML,gBAAe;GDhBlB;CZmxBF;;AcnuBG;EFnDF;ICkBI,aVuMK;IUtML,gBAAe;GDhBlB;CZ0xBF;;Ac1uBG;EFnDF;ICkBI,cVwMM;IUvMN,gBAAe;GDhBlB;CZiyBF;;AYxxBC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZqyBF;;AchwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ4yBF;;AcvwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZmzBF;;Ac9wBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ0zBF;;AYlzBC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B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EY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB4WmC;CiB5TpC;;AhBjDG;EiBMA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,uDlB6V+B;UkB7V/B,+ClB6V+B;CkB3VlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBqViC;CkBpVlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBpDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBvDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhB1DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB7DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBgDc;CiBxBf;;AhBlEG;EiB6CA,YAPoD;EAQpD,0BlB4CY;EkB3CZ,sBlB2CY;CC1FS;;AiBkDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBsUmC;EkBrUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBlBmUmC;CiBxSpC;;AhBrEG;EiB6CA,YAPoD;EAQpD,uBlB+TiC;EkB9TjC,mBlB8TiC;CC7WZ;;AiBkDvB;EAEE,uDlByTiC;UkBzTjC,+ClByTiC;CkBxTlC;;AAED;EAEE,YlBoTiC;EkBnTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBlB4SiC;EkB3SjC,mBlB2SiC;CkB1SlC;;ADGH;EC/BE,elBoDc;EkBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBiDc;CiBnBf;;AhBxEG;EiB6CA,YAPoD;EAQpD,0BlB6CY;EkB5CZ,sBlB4CY;CC3FS;;AiBkDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB+Cc;CiBdf;;AhB3EG;EiB6CA,YAPoD;EAQpD,0BlB2CY;EkB1CZ,sBlB0CY;CCzFS;;AiBkDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB6Cc;CiBTf;;AhB9EG;EiB6CA,YAPoD;EAQpD,0BlByCY;EkBxCZ,sBlBwCY;CCvFS;;AiBkDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB4Cc;CiBLf;;AhBjFG;EiB6CA,YAPoD;EAQpD,0BlBwCY;EkBvCZ,sBlBuCY;CCtFS;;AiBkDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADsBH;EACE,oBjB4JyB;EiB3JzB,ejBDc;EiBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBzGC;EgB2GA,0BAAyB;ChB3GJ;;AAUrB;EgBoGA,ejB2E4C;EiB1E5C,2BjB2E6B;EiB1E7B,8BAA6B;ChBnG5B;;AgB4EL;EA0BI,ejBjB+B;CiBsBhC;;AhB9GC;EgB4GE,sBAAqB;ChBzGtB;;AgBmHL;ECxDE,wBlB4TqC;EkB3TrC,mBlByKsB;EMxPpB,sBN6T0B;CiBpL7B;;AACD;EC5DE,wBlByToC;EkBxTpC,oBlB0KsB;EMzPpB,sBN8T0B;CiBjL7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkPoC;CiBjPrC;;AAGD;;;EAII,YAAW;CACZ;;AExKH;EACE,WAAU;EZcN,yCP2TsC;EO3TtC,oCP2TsC;EO3TtC,iCP2TsC;CmBnU3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;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S2B;C+BnT1B;;AALL;EzBSI,oCN+S2B;EM9S3B,iCN8S2B;C+B9S1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,oB/BibwC;E+BhbxC,uB/B8DS;E+B7DT,mB/BmoBuC;C+BloBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BqmB0C;E+BpmB1C,kBAAiB;EACjB,kB/BymBwC;E+BxmBxC,e/ByDc;E+BxDd,uB/BkDW;E+BjDX,uB/B2mByC;C+BnmB1C;;A9BjCG;E8B4BA,e/BmJ4C;E+BlJ5C,sBAAqB;EACrB,0B/B2D+B;E+B1D/B,mB/BymBuC;CCroBtC;;A+BpBH;EACE,wBhC6oBwC;EgC5oBxC,mBhCuPoB;CgCtPrB;;AAIG;E1BqBF,kCNkS0B;EMjS1B,+BNiS0B;CgCrTvB;;AAGD;E1BEF,mCNgT0B;EM/S1B,gCN+S0B;CgChTvB;;AAdL;EACE,wBhC2oBuC;EgC1oBvC,oBhCwPoB;CgCvPrB;;AAIG;E1BqBF,kCNmS0B;EMlS1B,+BNkS0B;CgCtTvB;;AAGD;E1BEF,mCNiT0B;EMhT1B,gCNgT0B;CgCjTvB;;ACZP;EACE,sBAAqB;EACrB,sBjCowBgC;EiCnwBhC,ejCiwB+B;EiChwB/B,kBjCwPqB;EiCvPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBN4T2B;CiC3S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCPG;EgCaA,YjC6DS;EiC5DT,sBAAqB;EACrB,gBAAe;ChCZd;;AgCqBL;EACE,qBjCiuBgC;EiChuBhC,oBjCguBgC;EM1wB9B,qBN6wB+B;CiCjuBlC;;AAMD;ECnDE,0BlCyGiC;CiCpDlC;;AhCpCG;EiCbE,0BAAqC;CjCgBtC;;AgCmCL;ECvDE,0BlCiGc;CiCxCf;;AhCxCG;EiCbE,0BAAqC;CjCgBtC;;AgCuCL;EC3DE,0BlCgGc;CiCnCf;;AhC5CG;EiCbE,0BAAqC;CjCgBtC;;AgC2CL;EC/DE,0BlCkGc;CiCjCf;;AhChDG;EiCbE,0BAAqC;CjCgBtC;;AgC+CL;ECnEE,0BlC8Fc;CiCzBf;;AhCpDG;EiCbE,0BAAqC;CjCgBtC;;AgCmDL;ECvEE,0BlC6Fc;CiCpBf;;AhCxDG;EiCbE,0BAAqC;CjCgBtC;;AkCvBL;EACE,mBAAoD;EACpD,oBnCuqBmC;EmCtqBnC,0BnC0GiC;EMzG/B,sBN6T0B;CmCxT7B;;AxB+CG;EwBxDJ;IAOI,mBnCkqBiC;GmChqBpC;CtCowIA;;AsClwID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCkzBmC;EoCjzBnC,oBpCsIa;EoCrIb,8BAA6C;E9BH3C,uBN4T2B;CoCvT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC8OqB;CoC7OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCyxBgC;EoCxxBhC,gBpCuxBiC;EoCtxBjC,yBpCsxBiC;EoCrxBjC,eAAc;CACf;;AAQH;ECxCE,0BrC+qBsC;EqC9qBtC,sBrC+qB4D;EqC9qB5D,erC4qBsC;CoCpoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BrCmrBsC;EqClrBtC,sBrCmrByD;EqClrBzD,erCgrBsC;CoCroBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BrCurBsC;EqCtrBtC,sBrCwrB4D;EqCvrB5D,erCorBsC;CoCtoBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BrC4rBsC;EqC3rBtC,sBrC4rB2D;EqC3rB3D,erCyrBsC;CoCxoBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACXH;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyCx2ID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCw0BoC;EsCv0BpC,kBtCs0BkC;EsCr0BlC,mBAAkB;EAClB,0BtCgGiC;EMzG/B,uBN4T2B;CsCjT9B;;AACD;EACE,atCg0BkC;EsC/zBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAGD;ECYE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDV7I,mCtCwzBkC;UsCxzBlC,2BtCwzBkC;CsCvzBnC;;AAGD;EACE,2DtC0zBgD;OsC1zBhD,sDtC0zBgD;UsC1zBhD,mDtC0zBgD;CsCzzBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,ezCiF+B;CyChFhC;;AxCNC;EwCUA,ezC6E+B;EyC5E/B,sBAAqB;EACrB,0BzC8E+B;CCvF9B;;AwCJL;EAiBI,ezCsE+B;EyCrE/B,0BzCwE+B;CyCvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBzC+yBsC;EyC7yBtC,oBzCoHgB;EyCnHhB,uBzCwCW;EyCvCX,uCzCwCW;CyCQZ;;AAzDD;EnCpCI,iCNsT2B;EMrT3B,gCNqT2B;CyCrQ5B;;AAbH;EAgBI,iBAAgB;EnCtChB,oCNwS2B;EMvS3B,mCNuS2B;CyChQ5B;;AxC5CC;EwC+CA,sBAAqB;CxC5CpB;;AwCuBL;EA0BI,ezCoC+B;EyCnC/B,oBzCuYwC;EyCtYxC,uBzCoBS;CyCXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,ezC2B6B;CyC1B9B;;AApCL;EAyCI,WAAU;EACV,YzCMS;EyCLT,0BzCWY;EyCVZ,sBzCUY;CyCEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,ezCqwB8D;CyCpwB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e1C6qBoC;E0C5qBpC,0B1C6qBoC;C0C5qBrC;;AAED;;EACE,e1CwqBoC;C0CxpBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CiqBkC;E0ChqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C2pBkC;E0C1pBlC,sB1C0pBkC;C0CzpBnC;;AArBH;EACE,e1CirBoC;E0ChrBpC,0B1CirBoC;C0ChrBrC;;AAED;;EACE,e1C4qBoC;C0C5pBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CqqBkC;E0CpqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C+pBkC;E0C9pBlC,sB1C8pBkC;C0C7pBnC;;AArBH;EACE,e1CqrBoC;E0CprBpC,0B1CqrBoC;C0CprBrC;;AAED;;EACE,e1CgrBoC;C0ChqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CyqBkC;E0CxqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CmqBkC;E0ClqBlC,sB1CkqBkC;C0CjqBnC;;AArBH;EACE,e1C0rBoC;E0CzrBpC,0B1C0rBoC;C0CzrBrC;;AAED;;EACE,e1CqrBoC;C0CrqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1C8qBkC;E0C7qBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CwqBkC;E0CvqBlC,sB1CuqBkC;C0CtqBnC;;ACtBL;EACE,mBAAkB;EAClB,eAAc;EACd,YAAW;EACX,WAAU;EACV,iBAAgB;CAoBjB;;AAzBD;EAQI,eAAc;EACd,YAAW;CACZ;;AAVH;;;;;EAiBI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,QAAO;EACP,YAAW;EACX,aAAY;EACZ,UAAS;CACV;;AAGH;EAEI,wBAA+B;CAChC;;AAGH;EAEI,oBAA+B;CAChC;;AAGH;EAEI,iBAA8B;CAC/B;;AAGH;EAEI,kBAA8B;CAC/B;;AClDH;EACE,aAAY;EACZ,kB5C06BiD;E4Cz6BjD,kB5C8PqB;E4C7PrB,eAAc;EACd,Y5C0FW;E4CzFX,0B5CwFW;E4CvFX,YAAW;CAQZ;;A3CKG;E2CVA,Y5CqFS;E4CpFT,sBAAqB;EACrB,gBAAe;EACf,aAAY;C3CUX;;A2CAL;EACE,WAAU;EACV,gBAAe;EACf,wBAAuB;EACvB,UAAS;EACT,yBAAwB;CACzB;;ACtBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7CkkB8B;E6CjkB9B,cAAa;EACb,iBAAgB;EAGhB,WAAU;CAWX;;AAtBD;EtCGM,oDPiyB8C;EOjyB9C,4CPiyB8C;EOjyB9C,0CPiyB8C;EOjyB9C,oCPiyB8C;EOjyB9C,iGPiyB8C;E6CjxBhD,sCAA6B;OAA7B,iCAA6B;UAA7B,8BAA6B;CAC9B;;AApBH;EAqByB,mCAA0B;OAA1B,8BAA0B;UAA1B,2BAA0B;CAAI;;AAEvD;EACE,mBAAkB;EAClB,iBAAgB;CACjB;;AAGD;EACE,mBAAkB;EAClB,YAAW;EACX,a7C6uBgC;C6C5uBjC;;AAGD;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB7C0CW;E6CzCX,qCAA4B;UAA5B,6BAA4B;EAC5B,qC7CyCW;EM3FT,sBN6T0B;E6CvQ5B,WAAU;CACX;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7C+gB8B;E6C9gB9B,uB7C0BW;C6CrBZ;;AAZD;EAUW,WAAU;CAAK;;AAV1B;EAWW,a7C4tBqB;C6C5tBe;;AAK/C;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,0BAA8B;EAA9B,uCAA8B;MAA9B,uBAA8B;UAA9B,+BAA8B;EAC9B,c7CwtBgC;E6CvtBhC,iC7C0BiC;C6CzBlC;;AAGD;EACE,iBAAgB;EAChB,iB7C2KoB;C6C1KrB;;AAID;EACE,mBAAkB;EAGlB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,c7CorBgC;C6CnrBjC;;AAGD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,sBAAyB;EAAzB,kCAAyB;MAAzB,mBAAyB;UAAzB,0BAAyB;EACzB,c7C4qBgC;E6C3qBhC,8B7CCiC;C6CIlC;;AAVD;EAQyB,oBAAmB;CAAK;;AARjD;EASwB,qBAAoB;CAAK;;AAIjD;EACE,mBAAkB;EAClB,aAAY;EACZ,YAAW;EACX,aAAY;EACZ,iBAAgB;CACjB;;AlClEG;EkCuEF;IACE,iB7C6qB+B;I6C5qB/B,kBAAyC;GAC1C;EAMD;IAAY,iB7CsqBqB;G6CtqBG;ChD0pJrC;;Ac1uJG;EkCoFF;IAAY,iB7CgqBqB;G6ChqBG;ChD4pJrC;;AiDvyJD;EACE,mBAAkB;EAClB,c9CmlB8B;E8CllB9B,eAAc;ECHd,mH/CqP4H;E+CnP5H,mBAAkB;EAClB,oB/C4PyB;E+C3PzB,uBAAsB;EACtB,iBAAgB;EAChB,iB/C6PoB;E+C5PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;EDPpB,oB9CqPsB;E8CnPtB,sBAAqB;EACrB,WAAU;CA4DX;;AAtED;EAYW,a9CitBqB;C8CjtBQ;;AAZxC;EAgBI,eAA+B;EAC/B,iB9C+sB6B;C8CrsB9B;;AA3BH;EAoBM,UAAS;EACT,UAAS;EACT,kB9C4sB2B;E8C3sB3B,YAAW;EACX,wBAAyD;EACzD,uB9CqEO;C8CpER;;AA1BL;EA8BI,e9CosB6B;E8CnsB7B,iB9CisB6B;C8CvrB9B;;AAzCH;EAkCM,SAAQ;EACR,QAAO;EACP,iB9C8rB2B;E8C7rB3B,YAAW;EACX,4BAA8E;EAC9E,yB9CuDO;C8CtDR;;AAxCL;EA4CI,eAA+B;EAC/B,gB9CmrB6B;C8CzqB9B;;AAvDH;EAgDM,OAAM;EACN,UAAS;EACT,kB9CgrB2B;E8C/qB3B,YAAW;EACX,wB9C8qB2B;E8C7qB3B,0B9CyCO;C8CxCR;;AAtDL;EA0DI,e9CwqB6B;E8CvqB7B,kB9CqqB6B;C8C3pB9B;;AArEH;EA8DM,SAAQ;EACR,SAAQ;EACR,iB9CkqB2B;E8CjqB3B,YAAW;EACX,4B9CgqB2B;E8C/pB3B,wB9C2BO;C8C1BR;;AAKL;EACE,iB9CgpBiC;E8C/oBjC,iB9CopB+B;E8CnpB/B,Y9CiBW;E8ChBX,mBAAkB;EAClB,uB9CgBW;EM3FT,uBN4T2B;C8CvO9B;;AAfD;EASI,mBAAkB;EAClB,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AExFH;EACE,mBAAkB;EAClB,OAAM;EACN,QAAO;EACP,chDilB8B;EgDhlB9B,eAAc;EACd,iBhDquByC;EgDpuBzC,ahDkuBuC;E+CxuBvC,mH/CqP4H;E+CnP5H,mBAAkB;EAClB,oB/C4PyB;E+C3PzB,uBAAsB;EACtB,iBAAgB;EAChB,iB/C6PoB;E+C5PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;ECJpB,oBhDkPsB;EgDhPtB,sBAAqB;EACrB,uBhDgFW;EgD/EX,qCAA4B;UAA5B,6BAA4B;EAC5B,qChD+EW;EM3FT,sBN6T0B;CgDnM7B;;AA9HD;EAyBI,kBhD8tBsC;CgD3sBvC;;AA5CH;EA6BM,UAAS;EACT,uBAAsB;CACvB;;AA/BL;EAkCM,chDwtB4D;EgDvtB5D,mBhDutB4D;EgDttB5D,sChDutBmE;CgDttBpE;;AArCL;EAwCM,cAAwC;EACxC,mBhD8sBoC;EgD7sBpC,uBhDoDO;CgDnDR;;AA3CL;EAgDI,kBhDusBsC;CgDprBvC;;AAnEH;EAoDM,SAAQ;EACR,qBAAoB;CACrB;;AAtDL;EAyDM,YhDisB4D;EgDhsB5D,kBhDgsB4D;EgD/rB5D,wChDgsBmE;CgD/rBpE;;AA5DL;EA+DM,YAAsC;EACtC,kBAA4C;EAC5C,yBhD6BO;CgD5BR;;AAlEL;EAuEI,iBhDgrBsC;CgDjpBvC;;AAtGH;EA2EM,UAAS;EACT,oBAAmB;CACpB;;AA7EL;EAgFM,WhD0qB4D;EgDzqB5D,mBhDyqB4D;EgDxqB5D,yChDyqBmE;CgDxqBpE;;AAnFL;EAsFM,WAAqC;EACrC,mBhDgqBoC;EgD/pBpC,6BhDwpBuD;CgDvpBxD;;AAzFL;EA6FM,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,eAAc;EACd,YAAW;EACX,mBAAkB;EAClB,YAAW;EACX,iChD4oBuD;CgD3oBxD;;AArGL;EA0GI,mBhD6oBsC;CgD1nBvC;;AA7HH;EA8GM,SAAQ;EACR,sBAAqB;CACtB;;AAhHL;EAmHM,ahDuoB4D;EgDtoB5D,kBhDsoB4D;EgDroB5D,uChDsoBmE;CgDroBpE;;AAtHL;EAyHM,aAAuC;EACvC,kBAA4C;EAC5C,wBhD7BO;CgD8BR;;AAML;EACE,kBhD8mBwC;EgD7mBxC,iBAAgB;EAChB,gBhDsHmB;EgDrHnB,0BhD0mB2D;EgDzmB3D,iCAAwE;E1C7HtE,4C0C8HyE;E1C7HzE,2C0C6HyE;CAM5E;;AAZD;EAUI,cAAa;CACd;;AAGH;EACE,kBhDmmBwC;CgDlmBzC;;AAOD;;EAEE,mBAAkB;EAClB,eAAc;EACd,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AAED;EACE,YAAW;EACX,mBhDqlBgE;CgDplBjE;;AACD;EACE,YAAW;EACX,mBhD8kBwC;CgD7kBzC;;ACzKD;EACE,mBAAkB;CACnB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,iBAAgB;CACjB;;AAED;EACE,mBAAkB;EAClB,cAAa;EACb,YAAW;CAOZ;;ACnBC;EDSF;I1CIM,uDPw5BmD;IOx5BnD,+CPw5BmD;IOx5BnD,6CPw5BmD;IOx5BnD,uCPw5BmD;IOx5BnD,0GPw5BmD;IiDr5BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CpDkjKA;;AqD9jK0C;EDE3C;I1CIM,uDPw5BmD;IOx5BnD,+CPw5BmD;IOx5BnD,6CPw5BmD;IOx5BnD,uCPw5BmD;IOx5BnD,0GPw5BmD;IiDr5BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CpD0jKA;;AoDxjKD;;;EAGE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;CACd;;AAED;;EAEE,mBAAkB;EAClB,OAAM;CACP;;AC/BC;EDmCA;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CpDwjKF;;AqDjmK0C;ED4BzC;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CpDukKF;;AoD/jKD;;EAEE,mBAAkB;EAClB,OAAM;EACN,UAAS;EAET,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,WjDo1B+C;EiDn1B/C,YjD0BW;EiDzBX,mBAAkB;EAClB,ajDk1B8C;CiDv0B/C;;AhD7DG;;;EgDwDA,YjDkBS;EiDjBT,sBAAqB;EACrB,WAAU;EACV,YAAW;ChDxDV;;AgD2DL;EACE,QAAO;CACR;;AACD;EACE,SAAQ;CACT;;AAGD;;EAEE,sBAAqB;EACrB,YjDq0BgD;EiDp0BhD,ajDo0BgD;EiDn0BhD,gDAA+C;EAC/C,mCAA0B;UAA1B,2BAA0B;CAC3B;;AACD;EACE,8MjD9ByI;CiD+B1I;;AACD;EACE,gNjDjCyI;CiDkC1I;;AAQD;EACE,mBAAkB;EAClB,SAAQ;EACR,aAAY;EACZ,QAAO;EACP,YAAW;EACX,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,gBAAe;EAEf,kBjD8xB+C;EiD7xB/C,iBjD6xB+C;EiD5xB/C,iBAAgB;CAqCjB;;AAjDD;EAeI,mBAAkB;EAClB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,gBjD0xB8C;EiDzxB9C,YjD0xB6C;EiDzxB7C,kBjD0xB6C;EiDzxB7C,iBjDyxB6C;EiDxxB7C,oBAAmB;EACnB,gBAAe;EACf,2CjDxCS;CiD6DV;;AA5CH;EA2BM,mBAAkB;EAClB,WAAU;EACV,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AAlCL;EAoCM,mBAAkB;EAClB,cAAa;EACb,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AA3CL;EA+CI,uBjDhES;CiDiEV;;AAQH;EACE,mBAAkB;EAClB,WAA6C;EAC7C,aAAY;EACZ,UAA4C;EAC5C,YAAW;EACX,kBAAiB;EACjB,qBAAoB;EACpB,YjDjFW;EiDkFX,mBAAkB;CACnB;;AEjLD;EAAqB,oCAAmC;CAAK;;AAC7D;EAAqB,+BAA8B;CAAK;;AACxD;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,uCAAsC;CAAK;;AAChE;EAAqB,oCAAmC;CAAK;;ACD7D;EACE,0BAAsC;CACvC;;ACHC;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AqDnBL;EAAmB,qBAAoB;CAAK;;AAC5C;EAAmB,yBAAwB;CAAK;;AAChD;EAAmB,2BAA0B;CAAK;;AAClD;EAAmB,4BAA2B;CAAK;;AACnD;EAAmB,0BAAyB;CAAK;;AAMjD;EhDVI,uBN4T2B;CsDhT9B;;AACD;EhDPI,iCNsT2B;EMrT3B,gCNqT2B;CsD7S9B;;AACD;EhDHI,oCN+S2B;EM9S3B,iCN8S2B;CsD1S9B;;AACD;EhDCI,oCNwS2B;EMvS3B,mCNuS2B;CsDvS9B;;AACD;EhDKI,mCNiS2B;EMhS3B,gCNgS2B;CsDpS9B;;AAED;EACE,mBAAkB;CACnB;;AAED;EACE,iBAAgB;CACjB;;AxBnCC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;AyBGC;EAAE,yBAAwB;CAAK;;AAC/B;EAAE,2BAA0B;CAAK;;AACjC;EAAE,iCAAgC;CAAK;;AACvC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,gCAAwB;EAAxB,iCAAwB;EAAxB,gCAAwB;EAAxB,yBAAwB;CAAK;;AAC/B;EAAE,uCAA+B;EAA/B,wCAA+B;EAA/B,uCAA+B;EAA/B,gCAA+B;CAAK;;A5CyCtC;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1Dy5KzC;;Ach3KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1Do7KzC;;Ac34KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1D+8KzC;;Act6KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1D0+KzC;;A2Dj/KG;EAAE,6BAAS;EAAT,kBAAS;MAAT,mBAAS;UAAT,UAAS;CAAK;;AAChB;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AACf;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AAEf;EAAE,0CAA8B;EAA9B,yCAA8B;EAA9B,uCAA8B;MAA9B,mCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,wCAAiC;EAAjC,yCAAiC;EAAjC,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,0CAAsC;EAAtC,0CAAsC;EAAtC,+CAAsC;MAAtC,2CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,wCAAyC;EAAzC,0CAAyC;EAAzC,kDAAyC;MAAzC,8CAAyC;UAAzC,0CAAyC;CAAK;;AAEhD;EAAE,mCAA0B;MAA1B,+BAA0B;UAA1B,2BAA0B;CAAK;;AACjC;EAAE,qCAA4B;MAA5B,iCAA4B;UAA5B,6BAA4B;CAAK;;AACnC;EAAE,2CAAkC;MAAlC,uCAAkC;UAAlC,mCAAkC;CAAK;;AAEzC;EAAE,mCAAsC;EAAtC,+CAAsC;MAAtC,gCAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,iCAAoC;EAApC,6CAAoC;MAApC,8BAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,qCAAyC;EAAzC,kDAAyC;MAAzC,kCAAyC;UAAzC,0CAAyC;CAAK;;AAChD;EAAE,iDAAwC;MAAxC,qCAAwC;UAAxC,yCAAwC;CAAK;;AAE/C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,kCAAgC;EAAhC,yCAAgC;MAAhC,+BAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,qCAA8B;EAA9B,uCAA8B;MAA9B,kCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,uCAAgC;EAAhC,yCAAgC;MAAhC,oCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,sCAA+B;EAA/B,wCAA+B;MAA/B,mCAA+B;UAA/B,gCAA+B;CAAK;;AAEtC;EAAE,6CAAoC;MAApC,qCAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,2CAAkC;MAAlC,mCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,yCAAgC;MAAhC,sCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,gDAAuC;MAAvC,uCAAuC;UAAvC,wCAAuC;CAAK;;AAC9C;EAAE,+CAAsC;MAAtC,0CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,0CAAiC;MAAjC,uCAAiC;UAAjC,kCAAiC;CAAK;;AAExC;EAAE,oCAA2B;MAA3B,qCAA2B;cAA3B,oCAA2B;UAA3B,4BAA2B;CAAK;;AAClC;EAAE,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,wCAA+B;MAA/B,oCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,sCAA6B;MAA7B,uCAA6B;cAA7B,sCAA6B;UAA7B,8BAA6B;CAAK;;AACpC;EAAE,wCAA+B;MAA/B,yCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,uCAA8B;MAA9B,wCAA8B;cAA9B,uCAA8B;UAA9B,+BAA8B;CAAK;;A7CWrC;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3D+qLxC;;AcpqLG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3DkxLxC;;AcvwLG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3Dq3LxC;;Ac12LG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3Dw9LxC;;A4DjgMG;ECHF,uBAAsB;CDGK;;AACzB;ECDF,wBAAuB;CDCK;;AAC1B;ECCF,uBAAsB;CDDK;;A9CkDzB;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5DuhM5B;;Acr+LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5DmiM5B;;Acj/LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5D+iM5B;;Ac7/LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5D2jM5B;;A8D/jMD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,QAAO;EACP,c3D0kB8B;C2DzkB/B;;AAED;EACE,gBAAe;EACf,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c3DkkB8B;C2DjkB/B;;AAED;EACE,yBAAgB;EAAhB,iBAAgB;EAChB,OAAM;EACN,c3D6jB8B;C2D5jB/B;;AClBD;ECCE,mBAAkB;EAClB,WAAU;EACV,YAAW;EACX,WAAU;EACV,aAAY;EACZ,iBAAgB;EAChB,uBAAmB;EACnB,UAAS;CDNV;;ACgBC;EAEE,iBAAgB;EAChB,YAAW;EACX,aAAY;EACZ,UAAS;EACT,kBAAiB;EACjB,WAAU;CACX;;AC1BC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,wBAA4B;CAAI;;AAItC;EAAU,2BAA0B;CAAK;;AACzC;EAAU,4BAA2B;CAAK;;ACElC;EAAE,uBAA+C;CAAI;;AACrD;EAAE,yBAAyC;CAAI;;AAC/C;EAAE,2BAA2C;CAAI;;AACjD;EAAE,4BAA4C;CAAI;;AAClD;EAAE,0BAA0C;CAAI;;AAChD;EACE,2BAA0C;EAC1C,0BAAyC;CAC1C;;AACD;EACE,yBAAyC;EACzC,4BAA4C;CAC7C;;AAZD;EAAE,mCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,wBAA+C;CAAI;;AACrD;EAAE,0BAAyC;CAAI;;AAC/C;EAAE,4BAA2C;CAAI;;AACjD;EAAE,6BAA4C;CAAI;;AAClD;EAAE,2BAA0C;CAAI;;AAChD;EACE,4BAA0C;EAC1C,2BAAyC;CAC1C;;AACD;EACE,0BAAyC;EACzC,6BAA4C;CAC7C;;AAZD;EAAE,oCAA+C;CAAI;;AACrD;EAAE,gCAAyC;CAAI;;AAC/C;EAAE,kCAA2C;CAAI;;AACjD;EAAE,mCAA4C;CAAI;;AAClD;EAAE,iCAA0C;CAAI;;AAChD;EACE,kCAA0C;EAC1C,iCAAyC;CAC1C;;AACD;EACE,gCAAyC;EACzC,mCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAKL;EAAE,wBAA8B;CAAK;;AACrC;EAAE,4BAA8B;CAAK;;AACrC;EAAE,8BAA8B;CAAK;;AACrC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,6BAA8B;CAAK;;AACrC;EACE,8BAA6B;EAC7B,6BAA6B;CAC9B;;AACD;EACE,4BAA8B;EAC9B,+BAA8B;CAC/B;;ApDgBD;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE+xNJ;;Ac/wNG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE6kOJ;;Ac7jOG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE23OJ;;Ac32OG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClEyqPJ;;AmE3sPD;EAAiB,+BAA8B;CAAK;;AACpD;EAAiB,+BAA8B;CAAK;;AACpD;ECJE,iBAAgB;EAChB,wBAAuB;EACvB,oBAAmB;CDEsB;;AAQvC;EAAE,4BAA2B;CAAK;;AAClC;EAAE,6BAA4B;CAAK;;AACnC;EAAE,8BAA6B;CAAK;;ArDsCpC;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEquPvC;;Ac/rPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEivPvC;;Ac3sPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnE6vPvC;;AcvtPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEywPvC;;AmEnwPD;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,sCAAqC;CAAK;;AAI7D;EAAsB,oBhEkOK;CgElO+B;;AAC1D;EAAsB,kBhEkOC;CgElOiC;;AACxD;EAAsB,mBAAkB;CAAK;;AAI7C;EACE,uBAAsB;CACvB;;AEnCC;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;A+DmCL;EGxDE,YAAW;EACX,mBAAkB;EAClB,kBAAiB;EACjB,8BAA6B;EAC7B,UAAS;CHsDV;;AIxDD;ECDE,8BAA6B;CDG9B;;AAKC;EAEI,yBAAwB;CAE3B;;AzDsDC;EyDrDF;IAEI,yBAAwB;GAE3B;CvEi3PF;;Ac70PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvE43PF;;Act0PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvE63PF;;Acz1PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEw4PF;;Acl1PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvEy4PF;;Acr2PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEo5PF;;Ac91PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvEq5PF;;Acj3PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEg6PF;;AuE/5PC;EAEI,yBAAwB;CAE3B;;AAQH;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,0BAAyB;GAE5B;CvE25PA;;AuE15PD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,2BAA0B;GAE7B;CvE85PA;;AuE75PD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,iCAAgC;GAEnC;CvEi6PA;;AuE95PC;EADF;IAEI,yBAAwB;GAE3B;CvEi6PA","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0.5rem 1rem;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n color: #fff;\n background-color: #0275d8;\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-right-radius: calc(0.3rem - 1px);\n border-top-left-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-grid.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aEqMK;IFpML,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aEsMK;IFrML,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aEuMK;IFtML,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEwMM;IFvMN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe;EACf,eAAc;CAOf;;AATD;;EAMI,iBAAgB;EAChB,gBAAe;CAChB;;AIlCH;EACE,mBAAkB;EAClB,YAAW;EACX,gBAAe;EHuBb,oBAA4B;EAC5B,mBAA4B;CGrB/B;;AF2CC;EEjDF;IH0BI,oBAA4B;IAC5B,mBAA4B;GGrB/B;CLiKF;;AGtHG;EEjDF;IH0BI,oBAA4B;IAC5B,mBAA4B;GGrB/B;CLwKF;;AG7HG;EEjDF;IH0BI,oBAA4B;IAC5B,mBAA4B;GGrB/B;CL+KF;;AGpIG;EEjDF;IH0BI,oBAA4B;IAC5B,mBAA4B;GGrB/B;CLsLF;;AKrKK;EACE,sBAAa;MAAb,2BAAa;UAAb,cAAa;EACb,oBAAY;EAAZ,qBAAY;MAAZ,qBAAY;UAAZ,aAAY;EACZ,gBAAe;CAChB;;AACD;EACE,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,YAAW;CACZ;;AAGC;EH6BN,oBAAsC;EAAtC,4BAAsC;MAAtC,wBAAsC;UAAtC,oBAAsC;EAKtC,qBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,sBAAsC;MAAtC,kBAAsC;UAAtC,cAAsC;EAKtC,eAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,sBAAsC;MAAtC,kBAAsC;UAAtC,cAAsC;EAKtC,eAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,sBAAsC;MAAtC,kBAAsC;UAAtC,cAAsC;EAKtC,eAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,6BAAsC;MAAtC,yBAAsC;UAAtC,qBAAsC;EAKtC,sBAAuC;CGhChC;;AAFD;EH6BN,oBAAsC;EAAtC,uBAAsC;MAAtC,mBAAsC;UAAtC,eAAsC;EAKtC,gBAAuC;CGhChC;;AAKC;EHuCR,YAAuD;CGrC9C;;AAFD;EHuCR,iBAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,WAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,WAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,WAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,kBAAiD;CGrCxC;;AAFD;EHuCR,YAAiD;CGrCxC;;AAFD;EHmCR,WAAsD;CGjC7C;;AAFD;EHmCR,gBAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,UAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,UAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,UAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,iBAAgD;CGjCvC;;AAFD;EHmCR,WAAgD;CGjCvC;;AAOD;EHsBR,uBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,iBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,iBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,iBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AAFD;EHsBR,wBAAyC;CGpBhC;;AFHP;EE1BE;IACE,sBAAa;QAAb,2BAAa;YAAb,cAAa;IACb,oBAAY;IAAZ,qBAAY;QAAZ,qBAAY;YAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,oBAAc;IAAd,uBAAc;QAAd,mBAAc;YAAd,eAAc;IACd,YAAW;GACZ;EAGC;IH6BN,oBAAsC;IAAtC,4BAAsC;QAAtC,wBAAsC;YAAtC,oBAAsC;IAKtC,qBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,uBAAsC;QAAtC,mBAAsC;YAAtC,eAAsC;IAKtC,gBAAuC;GGhChC;EAKC;IHuCR,YAAuD;GGrC9C;EAFD;IHuCR,iBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CLihBV;;AGphBG;EE1BE;IACE,sBAAa;QAAb,2BAAa;YAAb,cAAa;IACb,oBAAY;IAAZ,qBAAY;QAAZ,qBAAY;YAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,oBAAc;IAAd,uBAAc;QAAd,mBAAc;YAAd,eAAc;IACd,YAAW;GACZ;EAGC;IH6BN,oBAAsC;IAAtC,4BAAsC;QAAtC,wBAAsC;YAAtC,oBAAsC;IAKtC,qBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,uBAAsC;QAAtC,mBAAsC;YAAtC,eAAsC;IAKtC,gBAAuC;GGhChC;EAKC;IHuCR,YAAuD;GGrC9C;EAFD;IHuCR,iBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL+rBV;;AGlsBG;EE1BE;IACE,sBAAa;QAAb,2BAAa;YAAb,cAAa;IACb,oBAAY;IAAZ,qBAAY;QAAZ,qBAAY;YAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,oBAAc;IAAd,uBAAc;QAAd,mBAAc;YAAd,eAAc;IACd,YAAW;GACZ;EAGC;IH6BN,oBAAsC;IAAtC,4BAAsC;QAAtC,wBAAsC;YAAtC,oBAAsC;IAKtC,qBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,uBAAsC;QAAtC,mBAAsC;YAAtC,eAAsC;IAKtC,gBAAuC;GGhChC;EAKC;IHuCR,YAAuD;GGrC9C;EAFD;IHuCR,iBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL62BV;;AGh3BG;EE1BE;IACE,sBAAa;QAAb,2BAAa;YAAb,cAAa;IACb,oBAAY;IAAZ,qBAAY;QAAZ,qBAAY;YAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,oBAAc;IAAd,uBAAc;QAAd,mBAAc;YAAd,eAAc;IACd,YAAW;GACZ;EAGC;IH6BN,oBAAsC;IAAtC,4BAAsC;QAAtC,wBAAsC;YAAtC,oBAAsC;IAKtC,qBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,sBAAsC;QAAtC,kBAAsC;YAAtC,cAAsC;IAKtC,eAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,6BAAsC;QAAtC,yBAAsC;YAAtC,qBAAsC;IAKtC,sBAAuC;GGhChC;EAFD;IH6BN,oBAAsC;IAAtC,uBAAsC;QAAtC,mBAAsC;YAAtC,eAAsC;IAKtC,gBAAuC;GGhChC;EAKC;IHuCR,YAAuD;GGrC9C;EAFD;IHuCR,iBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL2hCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap.css
New file
0,0 → 1,9320
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
@media print {
*,
*::before,
*::after,
p::first-letter,
div::first-letter,
blockquote::first-letter,
li::first-letter,
p::first-line,
div::first-line,
blockquote::first-line,
li::first-line {
text-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
 
h1, .h1 {
font-size: 2.5rem;
}
 
h2, .h2 {
font-size: 2rem;
}
 
h3, .h3 {
font-size: 1.75rem;
}
 
h4, .h4 {
font-size: 1.5rem;
}
 
h5, .h5 {
font-size: 1.25rem;
}
 
h6, .h6 {
font-size: 1rem;
}
 
.lead {
font-size: 1.25rem;
font-weight: 300;
}
 
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.1;
}
 
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
 
small,
.small {
font-size: 80%;
font-weight: normal;
}
 
mark,
.mark {
padding: 0.2em;
background-color: #fcf8e3;
}
 
.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: 5px;
}
 
.initialism {
font-size: 90%;
text-transform: uppercase;
}
 
.blockquote {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-left: 0.25rem solid #eceeef;
}
 
.blockquote-footer {
display: block;
font-size: 80%;
color: #636c72;
}
 
.blockquote-footer::before {
content: "\2014 \00A0";
}
 
.blockquote-reverse {
padding-right: 1rem;
padding-left: 0;
text-align: right;
border-right: 0.25rem solid #eceeef;
border-left: 0;
}
 
.blockquote-reverse .blockquote-footer::before {
content: "";
}
 
.blockquote-reverse .blockquote-footer::after {
content: "\00A0 \2014";
}
 
.img-fluid {
max-width: 100%;
height: auto;
}
 
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
max-width: 100%;
height: auto;
}
 
.figure {
display: inline-block;
}
 
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
 
.figure-caption {
font-size: 90%;
color: #636c72;
}
 
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
 
code {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
border-radius: 0.25rem;
}
 
a > code {
padding: 0;
color: inherit;
background-color: inherit;
}
 
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #292b2c;
border-radius: 0.2rem;
}
 
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
}
 
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 90%;
color: #292b2c;
}
 
pre code {
padding: 0;
font-size: inherit;
color: inherit;
background-color: transparent;
border-radius: 0;
}
 
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
 
.table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
}
 
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #eceeef;
}
 
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
 
.table tbody + tbody {
border-top: 2px solid #eceeef;
}
 
.table .table {
background-color: #fff;
}
 
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
 
.table-bordered {
border: 1px solid #eceeef;
}
 
.table-bordered th,
.table-bordered td {
border: 1px solid #eceeef;
}
 
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
 
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
 
.table-hover tbody tr:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-success,
.table-success > th,
.table-success > td {
background-color: #dff0d8;
}
 
.table-hover .table-success:hover {
background-color: #d0e9c6;
}
 
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #d0e9c6;
}
 
.table-info,
.table-info > th,
.table-info > td {
background-color: #d9edf7;
}
 
.table-hover .table-info:hover {
background-color: #c4e3f3;
}
 
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #c4e3f3;
}
 
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #fcf8e3;
}
 
.table-hover .table-warning:hover {
background-color: #faf2cc;
}
 
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #faf2cc;
}
 
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f2dede;
}
 
.table-hover .table-danger:hover {
background-color: #ebcccc;
}
 
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #ebcccc;
}
 
.thead-inverse th {
color: #fff;
background-color: #292b2c;
}
 
.thead-default th {
color: #464a4c;
background-color: #eceeef;
}
 
.table-inverse {
color: #fff;
background-color: #292b2c;
}
 
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
border-color: #fff;
}
 
.table-inverse.table-bordered {
border: 0;
}
 
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
 
.table-responsive.table-bordered {
border: 0;
}
 
.form-control {
display: block;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
background-color: #fff;
background-image: none;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}
 
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
 
.form-control:focus {
color: #464a4c;
background-color: #fff;
border-color: #5cb3fd;
outline: none;
}
 
.form-control::-webkit-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::-moz-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:-ms-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:disabled, .form-control[readonly] {
background-color: #eceeef;
opacity: 1;
}
 
.form-control:disabled {
cursor: not-allowed;
}
 
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
 
select.form-control:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.form-control-file,
.form-control-range {
display: block;
}
 
.col-form-label {
padding-top: calc(0.5rem - 1px * 2);
padding-bottom: calc(0.5rem - 1px * 2);
margin-bottom: 0;
}
 
.col-form-label-lg {
padding-top: calc(0.75rem - 1px * 2);
padding-bottom: calc(0.75rem - 1px * 2);
font-size: 1.25rem;
}
 
.col-form-label-sm {
padding-top: calc(0.25rem - 1px * 2);
padding-bottom: calc(0.25rem - 1px * 2);
font-size: 0.875rem;
}
 
.col-form-legend {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
font-size: 1rem;
}
 
.form-control-static {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
line-height: 1.25;
border: solid transparent;
border-width: 1px 0;
}
 
.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn {
padding-right: 0;
padding-left: 0;
}
 
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 1.8125rem;
}
 
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 3.166667rem;
}
 
.form-group {
margin-bottom: 1rem;
}
 
.form-text {
display: block;
margin-top: 0.25rem;
}
 
.form-check {
position: relative;
display: block;
margin-bottom: 0.5rem;
}
 
.form-check.disabled .form-check-label {
color: #636c72;
cursor: not-allowed;
}
 
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
cursor: pointer;
}
 
.form-check-input {
position: absolute;
margin-top: 0.25rem;
margin-left: -1.25rem;
}
 
.form-check-input:only-child {
position: static;
}
 
.form-check-inline {
display: inline-block;
}
 
.form-check-inline .form-check-label {
vertical-align: middle;
}
 
.form-check-inline + .form-check-inline {
margin-left: 0.75rem;
}
 
.form-control-feedback {
margin-top: 0.25rem;
}
 
.form-control-success,
.form-control-warning,
.form-control-danger {
padding-right: 2.25rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
background-size: 1.125rem 1.125rem;
}
 
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .col-form-label,
.has-success .form-check-label,
.has-success .custom-control {
color: #5cb85c;
}
 
.has-success .form-control {
border-color: #5cb85c;
}
 
.has-success .input-group-addon {
color: #5cb85c;
border-color: #5cb85c;
background-color: #eaf6ea;
}
 
.has-success .form-control-success {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
}
 
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .col-form-label,
.has-warning .form-check-label,
.has-warning .custom-control {
color: #f0ad4e;
}
 
.has-warning .form-control {
border-color: #f0ad4e;
}
 
.has-warning .input-group-addon {
color: #f0ad4e;
border-color: #f0ad4e;
background-color: white;
}
 
.has-warning .form-control-warning {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
 
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .col-form-label,
.has-danger .form-check-label,
.has-danger .custom-control {
color: #d9534f;
}
 
.has-danger .form-control {
border-color: #d9534f;
}
 
.has-danger .input-group-addon {
color: #d9534f;
border-color: #d9534f;
background-color: #fdf7f7;
}
 
.has-danger .form-control-danger {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}
 
.form-inline {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.form-inline .form-check {
width: 100%;
}
 
@media (min-width: 576px) {
.form-inline label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
width: auto;
}
.form-inline .form-control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-check {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
margin-top: 0;
margin-bottom: 0;
}
.form-inline .form-check-label {
padding-left: 0;
}
.form-inline .form-check-input {
position: relative;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0;
}
.form-inline .custom-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
}
.form-inline .custom-control-indicator {
position: static;
display: inline-block;
margin-right: 0.25rem;
vertical-align: text-bottom;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
 
.btn {
display: inline-block;
font-weight: normal;
line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
 
.btn:focus, .btn:hover {
text-decoration: none;
}
 
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
}
 
.btn.disabled, .btn:disabled {
cursor: not-allowed;
opacity: .65;
}
 
.btn:active, .btn.active {
background-image: none;
}
 
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
 
.btn-primary {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:hover {
color: #fff;
background-color: #025aa5;
border-color: #01549b;
}
 
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-primary.disabled, .btn-primary:disabled {
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #025aa5;
background-image: none;
border-color: #01549b;
}
 
.btn-secondary {
color: #292b2c;
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:hover {
color: #292b2c;
background-color: #e6e6e6;
border-color: #adadad;
}
 
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-secondary.disabled, .btn-secondary:disabled {
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #292b2c;
background-color: #e6e6e6;
background-image: none;
border-color: #adadad;
}
 
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #2aabd2;
}
 
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-info.disabled, .btn-info:disabled {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #31b0d5;
background-image: none;
border-color: #2aabd2;
}
 
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #419641;
}
 
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-success.disabled, .btn-success:disabled {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #449d44;
background-image: none;
border-color: #419641;
}
 
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #eb9316;
}
 
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-warning.disabled, .btn-warning:disabled {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #fff;
background-color: #ec971f;
background-image: none;
border-color: #eb9316;
}
 
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #c12e2a;
}
 
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-danger.disabled, .btn-danger:disabled {
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #c9302c;
background-image: none;
border-color: #c12e2a;
}
 
.btn-outline-primary {
color: #0275d8;
background-image: none;
background-color: transparent;
border-color: #0275d8;
}
 
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #0275d8;
background-color: transparent;
}
 
.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-secondary {
color: #ccc;
background-image: none;
background-color: transparent;
border-color: #ccc;
}
 
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #ccc;
background-color: transparent;
}
 
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-info {
color: #5bc0de;
background-image: none;
background-color: transparent;
border-color: #5bc0de;
}
 
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #5bc0de;
background-color: transparent;
}
 
.btn-outline-info:active, .btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-success {
color: #5cb85c;
background-image: none;
background-color: transparent;
border-color: #5cb85c;
}
 
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #5cb85c;
background-color: transparent;
}
 
.btn-outline-success:active, .btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-warning {
color: #f0ad4e;
background-image: none;
background-color: transparent;
border-color: #f0ad4e;
}
 
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #f0ad4e;
background-color: transparent;
}
 
.btn-outline-warning:active, .btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-danger {
color: #d9534f;
background-image: none;
background-color: transparent;
border-color: #d9534f;
}
 
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #d9534f;
background-color: transparent;
}
 
.btn-outline-danger:active, .btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-link {
font-weight: normal;
color: #0275d8;
border-radius: 0;
}
 
.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
background-color: transparent;
}
 
.btn-link, .btn-link:focus, .btn-link:active {
border-color: transparent;
}
 
.btn-link:hover {
border-color: transparent;
}
 
.btn-link:focus, .btn-link:hover {
color: #014c8c;
text-decoration: underline;
background-color: transparent;
}
 
.btn-link:disabled {
color: #636c72;
}
 
.btn-link:disabled:focus, .btn-link:disabled:hover {
text-decoration: none;
}
 
.btn-lg, .btn-group-lg > .btn {
padding: 0.75rem 1.5rem;
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;
}
 
.btn-block {
display: block;
width: 100%;
}
 
.btn-block + .btn-block {
margin-top: 0.5rem;
}
 
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
 
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
 
.fade.show {
opacity: 1;
}
 
.collapse {
display: none;
}
 
.collapse.show {
display: block;
}
 
tr.collapse.show {
display: table-row;
}
 
tbody.collapse.show {
display: table-row-group;
}
 
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
 
.dropup,
.dropdown {
position: relative;
}
 
.dropdown-toggle::after {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
 
.dropdown-toggle:focus {
outline: 0;
}
 
.dropup .dropdown-toggle::after {
border-top: 0;
border-bottom: 0.3em solid;
}
 
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
font-size: 1rem;
color: #292b2c;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.dropdown-divider {
height: 1px;
margin: 0.5rem 0;
overflow: hidden;
background-color: #eceeef;
}
 
.dropdown-item {
display: block;
width: 100%;
padding: 3px 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
text-align: inherit;
white-space: nowrap;
background: none;
border: 0;
}
 
.dropdown-item:focus, .dropdown-item:hover {
color: #1d1e1f;
text-decoration: none;
background-color: #f7f7f9;
}
 
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0275d8;
}
 
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: transparent;
}
 
.show > .dropdown-menu {
display: block;
}
 
.show > a {
outline: 0;
}
 
.dropdown-menu-right {
right: 0;
left: auto;
}
 
.dropdown-menu-left {
right: auto;
left: 0;
}
 
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #636c72;
white-space: nowrap;
}
 
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
 
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 0.125rem;
}
 
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
 
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
 
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
z-index: 2;
}
 
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
 
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.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-left: -1px;
}
 
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
 
.btn-toolbar .input-group {
width: auto;
}
 
.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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
 
.btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
 
.btn + .dropdown-toggle-split::after {
margin-left: 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: 1.125rem;
padding-left: 1.125rem;
}
 
.btn-group-vertical {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
width: 100%;
}
 
.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-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
 
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.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-right-radius: 0;
border-top-left-radius: 0;
}
 
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
 
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
}
 
.input-group .form-control {
position: relative;
z-index: 2;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0;
}
 
.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
z-index: 3;
}
 
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
 
.input-group-addon,
.input-group-btn {
white-space: nowrap;
vertical-align: middle;
}
 
.input-group-addon {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
line-height: 1.25;
color: #464a4c;
text-align: center;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
 
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.input-group-addon:not(:last-child) {
border-right: 0;
}
 
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.form-control + .input-group-addon:not(:first-child) {
border-left: 0;
}
 
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
 
.input-group-btn > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
 
.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
z-index: 3;
}
 
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
margin-right: -1px;
}
 
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
z-index: 2;
margin-left: -1px;
}
 
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
z-index: 3;
}
 
.custom-control {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
cursor: pointer;
}
 
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0;
}
 
.custom-control-input:checked ~ .custom-control-indicator {
color: #fff;
background-color: #0275d8;
}
 
.custom-control-input:focus ~ .custom-control-indicator {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
}
 
.custom-control-input:active ~ .custom-control-indicator {
color: #fff;
background-color: #8fcafe;
}
 
.custom-control-input:disabled ~ .custom-control-indicator {
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
cursor: not-allowed;
}
 
.custom-control-indicator {
position: absolute;
top: 0.25rem;
left: 0;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #ddd;
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
}
 
.custom-checkbox .custom-control-indicator {
border-radius: 0.25rem;
}
 
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
 
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
background-color: #0275d8;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
 
.custom-radio .custom-control-indicator {
border-radius: 50%;
}
 
.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
 
.custom-controls-stacked {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
 
.custom-controls-stacked .custom-control {
margin-bottom: 0.25rem;
}
 
.custom-controls-stacked .custom-control + .custom-control {
margin-left: 0;
}
 
.custom-select {
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.25;
color: #464a4c;
vertical-align: middle;
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
-webkit-background-size: 8px 10px;
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-moz-appearance: none;
-webkit-appearance: none;
}
 
.custom-select:focus {
border-color: #5cb3fd;
outline: none;
}
 
.custom-select:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.custom-select:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-select::-ms-expand {
opacity: 0;
}
 
.custom-select-sm {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
font-size: 75%;
}
 
.custom-file {
position: relative;
display: inline-block;
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
cursor: pointer;
}
 
.custom-file-input {
min-width: 14rem;
max-width: 100%;
height: 2.5rem;
margin: 0;
filter: alpha(opacity=0);
opacity: 0;
}
 
.custom-file-control {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 5;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
 
.custom-file-control::before {
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
z-index: 6;
display: block;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0 0.25rem 0.25rem 0;
}
 
.custom-file-control:lang(en)::before {
content: "Browse";
}
 
.nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.nav-link {
display: block;
padding: 0.5em 1em;
}
 
.nav-link:focus, .nav-link:hover {
text-decoration: none;
}
 
.nav-link.disabled {
color: #636c72;
cursor: not-allowed;
}
 
.nav-tabs {
border-bottom: 1px solid #ddd;
}
 
.nav-tabs .nav-item {
margin-bottom: -1px;
}
 
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
border-color: #eceeef #eceeef #ddd;
}
 
.nav-tabs .nav-link.disabled {
color: #636c72;
background-color: transparent;
border-color: transparent;
}
 
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #464a4c;
background-color: #fff;
border-color: #ddd #ddd #fff;
}
 
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.nav-pills .nav-link {
border-radius: 0.25rem;
}
 
.nav-pills .nav-link.active,
.nav-pills .nav-item.show .nav-link {
color: #fff;
cursor: default;
background-color: #0275d8;
}
 
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
 
.nav-justified .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
text-align: center;
}
 
.tab-content > .tab-pane {
display: none;
}
 
.tab-content > .active {
display: block;
}
 
.navbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 0.5rem 1rem;
}
 
.navbar-brand {
display: inline-block;
padding-top: .25rem;
padding-bottom: .25rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
 
.navbar-brand:focus, .navbar-brand:hover {
text-decoration: none;
}
 
.navbar-nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
 
.navbar-text {
display: inline-block;
padding-top: .425rem;
padding-bottom: .425rem;
}
 
.navbar-toggler {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
padding: 0.25rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.navbar-toggler:focus, .navbar-toggler:hover {
text-decoration: none;
}
 
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.navbar-toggler-left {
position: absolute;
left: 1rem;
}
 
.navbar-toggler-right {
position: absolute;
right: 1rem;
}
 
@media (max-width: 575px) {
.navbar-toggleable .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 576px) {
.navbar-toggleable {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable .navbar-toggler {
display: none;
}
}
 
@media (max-width: 767px) {
.navbar-toggleable-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 768px) {
.navbar-toggleable-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-sm > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-sm .navbar-toggler {
display: none;
}
}
 
@media (max-width: 991px) {
.navbar-toggleable-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-md > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 992px) {
.navbar-toggleable-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-md > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-md .navbar-toggler {
display: none;
}
}
 
@media (max-width: 1199px) {
.navbar-toggleable-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-lg > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 1200px) {
.navbar-toggleable-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-lg > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-lg .navbar-toggler {
display: none;
}
}
 
.navbar-toggleable-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
 
.navbar-toggleable-xl > .container {
padding-right: 0;
padding-left: 0;
}
 
.navbar-toggleable-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
 
.navbar-toggleable-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
 
.navbar-toggleable-xl > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
 
.navbar-toggleable-xl .navbar-toggler {
display: none;
}
 
.navbar-light .navbar-brand,
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
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 .open > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-toggler {
border-color: rgba(0, 0, 0, 0.1);
}
 
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-toggler {
color: white;
}
 
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-toggler:focus,
.navbar-inverse .navbar-toggler:hover {
color: white;
}
 
.navbar-inverse .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.5);
}
 
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
color: rgba(255, 255, 255, 0.75);
}
 
.navbar-inverse .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
 
.navbar-inverse .navbar-nav .open > .nav-link,
.navbar-inverse .navbar-nav .active > .nav-link,
.navbar-inverse .navbar-nav .nav-link.open,
.navbar-inverse .navbar-nav .nav-link.active {
color: white;
}
 
.navbar-inverse .navbar-toggler {
border-color: rgba(255, 255, 255, 0.1);
}
 
.navbar-inverse .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-inverse .navbar-text {
color: rgba(255, 255, 255, 0.5);
}
 
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
 
.card-block {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
}
 
.card-title {
margin-bottom: 0.75rem;
}
 
.card-subtitle {
margin-top: -0.375rem;
margin-bottom: 0;
}
 
.card-text:last-child {
margin-bottom: 0;
}
 
.card-link:hover {
text-decoration: none;
}
 
.card-link + .card-link {
margin-left: 1.25rem;
}
 
.card > .list-group:first-child .list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.card-header {
padding: 0.75rem 1.25rem;
margin-bottom: 0;
background-color: #f7f7f9;
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.75rem 1.25rem;
background-color: #f7f7f9;
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.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0;
}
 
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem;
}
 
.card-primary {
background-color: #0275d8;
border-color: #0275d8;
}
 
.card-primary .card-header,
.card-primary .card-footer {
background-color: transparent;
}
 
.card-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.card-success .card-header,
.card-success .card-footer {
background-color: transparent;
}
 
.card-info {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.card-info .card-header,
.card-info .card-footer {
background-color: transparent;
}
 
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.card-warning .card-header,
.card-warning .card-footer {
background-color: transparent;
}
 
.card-danger {
background-color: #d9534f;
border-color: #d9534f;
}
 
.card-danger .card-header,
.card-danger .card-footer {
background-color: transparent;
}
 
.card-outline-primary {
background-color: transparent;
border-color: #0275d8;
}
 
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
 
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
 
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
 
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
 
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
 
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-header,
.card-inverse .card-footer {
background-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
 
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff;
}
 
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-subtitle,
.card-inverse .card-blockquote .blockquote-footer {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-link:focus, .card-inverse .card-link:hover {
color: #fff;
}
 
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0;
}
 
.card-img {
border-radius: calc(0.25rem - 1px);
}
 
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
}
 
.card-img-top {
border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
 
.card-img-bottom {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
 
@media (min-width: 576px) {
.card-deck {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-deck .card {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.card-deck .card:not(:first-child) {
margin-left: 15px;
}
.card-deck .card:not(:last-child) {
margin-right: 15px;
}
}
 
@media (min-width: 576px) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
}
.card-group .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0;
}
}
 
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
}
.card-columns .card {
display: inline-block;
width: 100%;
margin-bottom: 0.75rem;
}
}
 
.breadcrumb {
padding: 0.75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.breadcrumb::after {
display: block;
content: "";
clear: both;
}
 
.breadcrumb-item {
float: left;
}
 
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
padding-left: 0.5rem;
color: #636c72;
content: "/";
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: underline;
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: none;
}
 
.breadcrumb-item.active {
color: #636c72;
}
 
.pagination {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: 0.25rem;
}
 
.page-item:first-child .page-link {
margin-left: 0;
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.page-item:last-child .page-link {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.page-item.active .page-link {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
 
.page-link {
position: relative;
display: block;
padding: 0.5rem 0.75rem;
margin-left: -1px;
line-height: 1.25;
color: #0275d8;
background-color: #fff;
border: 1px solid #ddd;
}
 
.page-link:focus, .page-link:hover {
color: #014c8c;
text-decoration: none;
background-color: #eceeef;
border-color: #ddd;
}
 
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
 
.pagination-lg .page-item:first-child .page-link {
border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
}
 
.pagination-lg .page-item:last-child .page-link {
border-bottom-right-radius: 0.3rem;
border-top-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-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
}
 
.pagination-sm .page-item:last-child .page-link {
border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
}
 
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
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;
}
 
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
 
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
 
.badge-default {
background-color: #636c72;
}
 
.badge-default[href]:focus, .badge-default[href]:hover {
background-color: #4b5257;
}
 
.badge-primary {
background-color: #0275d8;
}
 
.badge-primary[href]:focus, .badge-primary[href]:hover {
background-color: #025aa5;
}
 
.badge-success {
background-color: #5cb85c;
}
 
.badge-success[href]:focus, .badge-success[href]:hover {
background-color: #449d44;
}
 
.badge-info {
background-color: #5bc0de;
}
 
.badge-info[href]:focus, .badge-info[href]:hover {
background-color: #31b0d5;
}
 
.badge-warning {
background-color: #f0ad4e;
}
 
.badge-warning[href]:focus, .badge-warning[href]:hover {
background-color: #ec971f;
}
 
.badge-danger {
background-color: #d9534f;
}
 
.badge-danger[href]:focus, .badge-danger[href]:hover {
background-color: #c9302c;
}
 
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #eceeef;
border-radius: 0.3rem;
}
 
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem;
}
}
 
.jumbotron-hr {
border-top-color: #d0d5d8;
}
 
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0;
}
 
.alert {
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.alert-heading {
color: inherit;
}
 
.alert-link {
font-weight: bold;
}
 
.alert-dismissible .close {
position: relative;
top: -0.75rem;
right: -1.25rem;
padding: 0.75rem 1.25rem;
color: inherit;
}
 
.alert-success {
background-color: #dff0d8;
border-color: #d0e9c6;
color: #3c763d;
}
 
.alert-success hr {
border-top-color: #c1e2b3;
}
 
.alert-success .alert-link {
color: #2b542c;
}
 
.alert-info {
background-color: #d9edf7;
border-color: #bcdff1;
color: #31708f;
}
 
.alert-info hr {
border-top-color: #a6d5ec;
}
 
.alert-info .alert-link {
color: #245269;
}
 
.alert-warning {
background-color: #fcf8e3;
border-color: #faf2cc;
color: #8a6d3b;
}
 
.alert-warning hr {
border-top-color: #f7ecb5;
}
 
.alert-warning .alert-link {
color: #66512c;
}
 
.alert-danger {
background-color: #f2dede;
border-color: #ebcccc;
color: #a94442;
}
 
.alert-danger hr {
border-top-color: #e4b9b9;
}
 
.alert-danger .alert-link {
color: #843534;
}
 
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@-o-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
.progress {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
font-size: 0.75rem;
line-height: 1rem;
text-align: center;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.progress-bar {
height: 1rem;
color: #fff;
background-color: #0275d8;
}
 
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
 
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
-o-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
 
.media {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
 
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.list-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
}
 
.list-group-item-action {
width: 100%;
color: #464a4c;
text-align: inherit;
}
 
.list-group-item-action .list-group-item-heading {
color: #292b2c;
}
 
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
background-color: #f7f7f9;
}
 
.list-group-item-action:active {
color: #292b2c;
background-color: #eceeef;
}
 
.list-group-item {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
 
.list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.list-group-item:focus, .list-group-item:hover {
text-decoration: none;
}
 
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #fff;
}
 
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
color: inherit;
}
 
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
color: #636c72;
}
 
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.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 {
color: inherit;
}
 
.list-group-item.active .list-group-item-text {
color: #daeeff;
}
 
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
 
.list-group-flush:first-child .list-group-item:first-child {
border-top: 0;
}
 
.list-group-flush:last-child .list-group-item:last-child {
border-bottom: 0;
}
 
.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,
button.list-group-item-success.active {
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,
button.list-group-item-info.active {
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,
button.list-group-item-warning.active {
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,
button.list-group-item-danger.active {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
 
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
 
.embed-responsive::before {
display: block;
content: "";
}
 
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
 
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
 
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
 
.embed-responsive-4by3::before {
padding-top: 75%;
}
 
.embed-responsive-1by1::before {
padding-top: 100%;
}
 
.close {
float: right;
font-size: 1.5rem;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
}
 
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
 
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
 
.modal-open {
overflow: hidden;
}
 
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: hidden;
outline: 0;
}
 
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
}
 
.modal.show .modal-dialog {
-webkit-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;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
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;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
 
.modal-backdrop.fade {
opacity: 0;
}
 
.modal-backdrop.show {
opacity: 0.5;
}
 
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
 
.modal-title {
margin-bottom: 0;
line-height: 1.5;
}
 
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
}
 
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #eceeef;
}
 
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
 
.modal-footer > :not(:last-child) {
margin-right: .25rem;
}
 
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
 
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto;
}
.modal-sm {
max-width: 300px;
}
}
 
@media (min-width: 992px) {
.modal-lg {
max-width: 800px;
}
}
 
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
}
 
.tooltip.show {
opacity: 0.9;
}
 
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
padding: 5px 0;
margin-top: -3px;
}
 
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
bottom: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
 
.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
padding: 0 5px;
margin-left: 3px;
}
 
.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
top: 50%;
left: 0;
margin-top: -5px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
 
.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
padding: 5px 0;
margin-top: 3px;
}
 
.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
top: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
 
.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
padding: 0 5px;
margin-left: -3px;
}
 
.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
top: 50%;
right: 0;
margin-top: -5px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
 
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem;
}
 
.tooltip-inner::before {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: block;
max-width: 276px;
padding: 1px;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
 
.popover.popover-top, .popover.bs-tether-element-attached-bottom {
margin-top: -10px;
}
 
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
left: 50%;
border-bottom-width: 0;
}
 
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
 
.popover.popover-right, .popover.bs-tether-element-attached-left {
margin-left: 10px;
}
 
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
top: 50%;
border-left-width: 0;
}
 
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
 
.popover.popover-bottom, .popover.bs-tether-element-attached-top {
margin-top: 10px;
}
 
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
left: 50%;
border-top-width: 0;
}
 
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
top: -10px;
margin-left: -10px;
border-bottom-color: #f7f7f7;
}
 
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 20px;
margin-left: -10px;
content: "";
border-bottom: 1px solid #f7f7f7;
}
 
.popover.popover-left, .popover.bs-tether-element-attached-right {
margin-left: -10px;
}
 
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
top: 50%;
border-right-width: 0;
}
 
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
}
 
.popover-title {
padding: 8px 14px;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
 
.popover-title:empty {
display: none;
}
 
.popover-content {
padding: 9px 14px;
}
 
.popover::before,
.popover::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover::before {
content: "";
border-width: 11px;
}
 
.popover::after {
content: "";
border-width: 10px;
}
 
.carousel {
position: relative;
}
 
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
 
.carousel-item {
position: relative;
display: none;
width: 100%;
}
 
@media (-webkit-transform-3d) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
 
.carousel-item-next,
.carousel-item-prev {
position: absolute;
top: 0;
}
 
@media (-webkit-transform-3d) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: 0.5;
}
 
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9;
}
 
.carousel-control-prev {
left: 0;
}
 
.carousel-control-next {
right: 0;
}
 
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 20px;
height: 20px;
background: transparent no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
 
.carousel-control-next-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
 
.carousel-indicators {
position: absolute;
right: 0;
bottom: 10px;
left: 0;
z-index: 15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none;
}
 
.carousel-indicators li {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
max-width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
 
.carousel-indicators li::before {
position: absolute;
top: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators li::after {
position: absolute;
bottom: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators .active {
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;
}
 
.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;
}
 
.bg-faded {
background-color: #f7f7f7;
}
 
.bg-primary {
background-color: #0275d8 !important;
}
 
a.bg-primary:focus, a.bg-primary:hover {
background-color: #025aa5 !important;
}
 
.bg-success {
background-color: #5cb85c !important;
}
 
a.bg-success:focus, a.bg-success:hover {
background-color: #449d44 !important;
}
 
.bg-info {
background-color: #5bc0de !important;
}
 
a.bg-info:focus, a.bg-info:hover {
background-color: #31b0d5 !important;
}
 
.bg-warning {
background-color: #f0ad4e !important;
}
 
a.bg-warning:focus, a.bg-warning:hover {
background-color: #ec971f !important;
}
 
.bg-danger {
background-color: #d9534f !important;
}
 
a.bg-danger:focus, a.bg-danger:hover {
background-color: #c9302c !important;
}
 
.bg-inverse {
background-color: #292b2c !important;
}
 
a.bg-inverse:focus, a.bg-inverse:hover {
background-color: #101112 !important;
}
 
.border-0 {
border: 0 !important;
}
 
.border-top-0 {
border-top: 0 !important;
}
 
.border-right-0 {
border-right: 0 !important;
}
 
.border-bottom-0 {
border-bottom: 0 !important;
}
 
.border-left-0 {
border-left: 0 !important;
}
 
.rounded {
border-radius: 0.25rem;
}
 
.rounded-top {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-right {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.rounded-bottom {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.rounded-left {
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-circle {
border-radius: 50%;
}
 
.rounded-0 {
border-radius: 0;
}
 
.clearfix::after {
display: block;
content: "";
clear: both;
}
 
.d-none {
display: none !important;
}
 
.d-inline {
display: inline !important;
}
 
.d-inline-block {
display: inline-block !important;
}
 
.d-block {
display: block !important;
}
 
.d-table {
display: table !important;
}
 
.d-table-cell {
display: table-cell !important;
}
 
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
 
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
 
@media (min-width: 576px) {
.d-sm-none {
display: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 768px) {
.d-md-none {
display: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 992px) {
.d-lg-none {
display: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 1200px) {
.d-xl-none {
display: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
.flex-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
 
.flex-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
 
.flex-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
 
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
 
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
 
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
 
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
 
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
 
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
 
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
 
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
 
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
 
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
 
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
 
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
 
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
 
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
 
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
 
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
 
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
 
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
 
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
 
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
 
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
 
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
 
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
 
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
 
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
 
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
 
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
 
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
 
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
 
@media (min-width: 576px) {
.flex-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-sm-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 768px) {
.flex-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-md-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 992px) {
.flex-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-lg-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 1200px) {
.flex-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-xl-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
.float-left {
float: left !important;
}
 
.float-right {
float: right !important;
}
 
.float-none {
float: none !important;
}
 
@media (min-width: 576px) {
.float-sm-left {
float: left !important;
}
.float-sm-right {
float: right !important;
}
.float-sm-none {
float: none !important;
}
}
 
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
.float-md-right {
float: right !important;
}
.float-md-none {
float: none !important;
}
}
 
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
.float-lg-right {
float: right !important;
}
.float-lg-none {
float: none !important;
}
}
 
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
.float-xl-right {
float: right !important;
}
.float-xl-none {
float: none !important;
}
}
 
.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: 1030;
}
 
.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;
}
 
.w-25 {
width: 25% !important;
}
 
.w-50 {
width: 50% !important;
}
 
.w-75 {
width: 75% !important;
}
 
.w-100 {
width: 100% !important;
}
 
.h-25 {
height: 25% !important;
}
 
.h-50 {
height: 50% !important;
}
 
.h-75 {
height: 75% !important;
}
 
.h-100 {
height: 100% !important;
}
 
.mw-100 {
max-width: 100% !important;
}
 
.mh-100 {
max-height: 100% !important;
}
 
.m-0 {
margin: 0 0 !important;
}
 
.mt-0 {
margin-top: 0 !important;
}
 
.mr-0 {
margin-right: 0 !important;
}
 
.mb-0 {
margin-bottom: 0 !important;
}
 
.ml-0 {
margin-left: 0 !important;
}
 
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
 
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
 
.m-1 {
margin: 0.25rem 0.25rem !important;
}
 
.mt-1 {
margin-top: 0.25rem !important;
}
 
.mr-1 {
margin-right: 0.25rem !important;
}
 
.mb-1 {
margin-bottom: 0.25rem !important;
}
 
.ml-1 {
margin-left: 0.25rem !important;
}
 
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
 
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
 
.m-2 {
margin: 0.5rem 0.5rem !important;
}
 
.mt-2 {
margin-top: 0.5rem !important;
}
 
.mr-2 {
margin-right: 0.5rem !important;
}
 
.mb-2 {
margin-bottom: 0.5rem !important;
}
 
.ml-2 {
margin-left: 0.5rem !important;
}
 
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
 
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
 
.m-3 {
margin: 1rem 1rem !important;
}
 
.mt-3 {
margin-top: 1rem !important;
}
 
.mr-3 {
margin-right: 1rem !important;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
.ml-3 {
margin-left: 1rem !important;
}
 
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
 
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
 
.m-4 {
margin: 1.5rem 1.5rem !important;
}
 
.mt-4 {
margin-top: 1.5rem !important;
}
 
.mr-4 {
margin-right: 1.5rem !important;
}
 
.mb-4 {
margin-bottom: 1.5rem !important;
}
 
.ml-4 {
margin-left: 1.5rem !important;
}
 
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
 
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
 
.m-5 {
margin: 3rem 3rem !important;
}
 
.mt-5 {
margin-top: 3rem !important;
}
 
.mr-5 {
margin-right: 3rem !important;
}
 
.mb-5 {
margin-bottom: 3rem !important;
}
 
.ml-5 {
margin-left: 3rem !important;
}
 
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
 
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
 
.p-0 {
padding: 0 0 !important;
}
 
.pt-0 {
padding-top: 0 !important;
}
 
.pr-0 {
padding-right: 0 !important;
}
 
.pb-0 {
padding-bottom: 0 !important;
}
 
.pl-0 {
padding-left: 0 !important;
}
 
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
 
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
 
.p-1 {
padding: 0.25rem 0.25rem !important;
}
 
.pt-1 {
padding-top: 0.25rem !important;
}
 
.pr-1 {
padding-right: 0.25rem !important;
}
 
.pb-1 {
padding-bottom: 0.25rem !important;
}
 
.pl-1 {
padding-left: 0.25rem !important;
}
 
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
 
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
 
.p-2 {
padding: 0.5rem 0.5rem !important;
}
 
.pt-2 {
padding-top: 0.5rem !important;
}
 
.pr-2 {
padding-right: 0.5rem !important;
}
 
.pb-2 {
padding-bottom: 0.5rem !important;
}
 
.pl-2 {
padding-left: 0.5rem !important;
}
 
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
 
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
 
.p-3 {
padding: 1rem 1rem !important;
}
 
.pt-3 {
padding-top: 1rem !important;
}
 
.pr-3 {
padding-right: 1rem !important;
}
 
.pb-3 {
padding-bottom: 1rem !important;
}
 
.pl-3 {
padding-left: 1rem !important;
}
 
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
 
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
 
.p-4 {
padding: 1.5rem 1.5rem !important;
}
 
.pt-4 {
padding-top: 1.5rem !important;
}
 
.pr-4 {
padding-right: 1.5rem !important;
}
 
.pb-4 {
padding-bottom: 1.5rem !important;
}
 
.pl-4 {
padding-left: 1.5rem !important;
}
 
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
 
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
 
.p-5 {
padding: 3rem 3rem !important;
}
 
.pt-5 {
padding-top: 3rem !important;
}
 
.pr-5 {
padding-right: 3rem !important;
}
 
.pb-5 {
padding-bottom: 3rem !important;
}
 
.pl-5 {
padding-left: 3rem !important;
}
 
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
 
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
 
.m-auto {
margin: auto !important;
}
 
.mt-auto {
margin-top: auto !important;
}
 
.mr-auto {
margin-right: auto !important;
}
 
.mb-auto {
margin-bottom: auto !important;
}
 
.ml-auto {
margin-left: auto !important;
}
 
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
 
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
 
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mr-sm-0 {
margin-right: 0 !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.ml-sm-0 {
margin-left: 0 !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-sm-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mr-sm-1 {
margin-right: 0.25rem !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.ml-sm-1 {
margin-left: 0.25rem !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mr-sm-2 {
margin-right: 0.5rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.ml-sm-2 {
margin-left: 0.5rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mr-sm-3 {
margin-right: 1rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.ml-sm-3 {
margin-left: 1rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mr-sm-4 {
margin-right: 1.5rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.ml-sm-4 {
margin-left: 1.5rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mr-sm-5 {
margin-right: 3rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.ml-sm-5 {
margin-left: 3rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-sm-0 {
padding: 0 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pr-sm-0 {
padding-right: 0 !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pl-sm-0 {
padding-left: 0 !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-sm-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pr-sm-1 {
padding-right: 0.25rem !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pl-sm-1 {
padding-left: 0.25rem !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pr-sm-2 {
padding-right: 0.5rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pl-sm-2 {
padding-left: 0.5rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pr-sm-3 {
padding-right: 1rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pl-sm-3 {
padding-left: 1rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pr-sm-4 {
padding-right: 1.5rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pl-sm-4 {
padding-left: 1.5rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pr-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.pl-sm-5 {
padding-left: 3rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.mr-sm-auto {
margin-right: auto !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ml-sm-auto {
margin-left: auto !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 768px) {
.m-md-0 {
margin: 0 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mr-md-0 {
margin-right: 0 !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.ml-md-0 {
margin-left: 0 !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-md-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mr-md-1 {
margin-right: 0.25rem !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.ml-md-1 {
margin-left: 0.25rem !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mr-md-2 {
margin-right: 0.5rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.ml-md-2 {
margin-left: 0.5rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-md-3 {
margin: 1rem 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mr-md-3 {
margin-right: 1rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.ml-md-3 {
margin-left: 1rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-md-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mr-md-4 {
margin-right: 1.5rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.ml-md-4 {
margin-left: 1.5rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-md-5 {
margin: 3rem 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mr-md-5 {
margin-right: 3rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.ml-md-5 {
margin-left: 3rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-md-0 {
padding: 0 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pr-md-0 {
padding-right: 0 !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pl-md-0 {
padding-left: 0 !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-md-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pr-md-1 {
padding-right: 0.25rem !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pl-md-1 {
padding-left: 0.25rem !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pr-md-2 {
padding-right: 0.5rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pl-md-2 {
padding-left: 0.5rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-md-3 {
padding: 1rem 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pr-md-3 {
padding-right: 1rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pl-md-3 {
padding-left: 1rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-md-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pr-md-4 {
padding-right: 1.5rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pl-md-4 {
padding-left: 1.5rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-md-5 {
padding: 3rem 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pr-md-5 {
padding-right: 3rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.pl-md-5 {
padding-left: 3rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.mr-md-auto {
margin-right: auto !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ml-md-auto {
margin-left: auto !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mr-lg-0 {
margin-right: 0 !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.ml-lg-0 {
margin-left: 0 !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-lg-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mr-lg-1 {
margin-right: 0.25rem !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.ml-lg-1 {
margin-left: 0.25rem !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mr-lg-2 {
margin-right: 0.5rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.ml-lg-2 {
margin-left: 0.5rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mr-lg-3 {
margin-right: 1rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.ml-lg-3 {
margin-left: 1rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mr-lg-4 {
margin-right: 1.5rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.ml-lg-4 {
margin-left: 1.5rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mr-lg-5 {
margin-right: 3rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.ml-lg-5 {
margin-left: 3rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-lg-0 {
padding: 0 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pr-lg-0 {
padding-right: 0 !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pl-lg-0 {
padding-left: 0 !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-lg-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pr-lg-1 {
padding-right: 0.25rem !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pl-lg-1 {
padding-left: 0.25rem !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pr-lg-2 {
padding-right: 0.5rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pl-lg-2 {
padding-left: 0.5rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pr-lg-3 {
padding-right: 1rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pl-lg-3 {
padding-left: 1rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pr-lg-4 {
padding-right: 1.5rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pl-lg-4 {
padding-left: 1.5rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pr-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.pl-lg-5 {
padding-left: 3rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.mr-lg-auto {
margin-right: auto !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ml-lg-auto {
margin-left: auto !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mr-xl-0 {
margin-right: 0 !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.ml-xl-0 {
margin-left: 0 !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-xl-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mr-xl-1 {
margin-right: 0.25rem !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.ml-xl-1 {
margin-left: 0.25rem !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mr-xl-2 {
margin-right: 0.5rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.ml-xl-2 {
margin-left: 0.5rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mr-xl-3 {
margin-right: 1rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.ml-xl-3 {
margin-left: 1rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mr-xl-4 {
margin-right: 1.5rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.ml-xl-4 {
margin-left: 1.5rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mr-xl-5 {
margin-right: 3rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.ml-xl-5 {
margin-left: 3rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-xl-0 {
padding: 0 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pr-xl-0 {
padding-right: 0 !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pl-xl-0 {
padding-left: 0 !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-xl-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pr-xl-1 {
padding-right: 0.25rem !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pl-xl-1 {
padding-left: 0.25rem !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pr-xl-2 {
padding-right: 0.5rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pl-xl-2 {
padding-left: 0.5rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pr-xl-3 {
padding-right: 1rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pl-xl-3 {
padding-left: 1rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pr-xl-4 {
padding-right: 1.5rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pl-xl-4 {
padding-left: 1.5rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pr-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.pl-xl-5 {
padding-left: 3rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.mr-xl-auto {
margin-right: auto !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ml-xl-auto {
margin-left: auto !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
.text-justify {
text-align: justify !important;
}
 
.text-nowrap {
white-space: nowrap !important;
}
 
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
 
.text-left {
text-align: left !important;
}
 
.text-right {
text-align: right !important;
}
 
.text-center {
text-align: center !important;
}
 
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important;
}
.text-sm-right {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
 
@media (min-width: 768px) {
.text-md-left {
text-align: left !important;
}
.text-md-right {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
 
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important;
}
.text-lg-right {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
 
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important;
}
.text-xl-right {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
 
.text-lowercase {
text-transform: lowercase !important;
}
 
.text-uppercase {
text-transform: uppercase !important;
}
 
.text-capitalize {
text-transform: capitalize !important;
}
 
.font-weight-normal {
font-weight: normal;
}
 
.font-weight-bold {
font-weight: bold;
}
 
.font-italic {
font-style: italic;
}
 
.text-white {
color: #fff !important;
}
 
.text-muted {
color: #636c72 !important;
}
 
a.text-muted:focus, a.text-muted:hover {
color: #4b5257 !important;
}
 
.text-primary {
color: #0275d8 !important;
}
 
a.text-primary:focus, a.text-primary:hover {
color: #025aa5 !important;
}
 
.text-success {
color: #5cb85c !important;
}
 
a.text-success:focus, a.text-success:hover {
color: #449d44 !important;
}
 
.text-info {
color: #5bc0de !important;
}
 
a.text-info:focus, a.text-info:hover {
color: #31b0d5 !important;
}
 
.text-warning {
color: #f0ad4e !important;
}
 
a.text-warning:focus, a.text-warning:hover {
color: #ec971f !important;
}
 
.text-danger {
color: #d9534f !important;
}
 
a.text-danger:focus, a.text-danger:hover {
color: #c9302c !important;
}
 
.text-gray-dark {
color: #292b2c !important;
}
 
a.text-gray-dark:focus, a.text-gray-dark:hover {
color: #101112 !important;
}
 
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
 
.invisible {
visibility: hidden !important;
}
 
.hidden-xs-up {
display: none !important;
}
 
@media (max-width: 575px) {
.hidden-xs-down {
display: none !important;
}
}
 
@media (min-width: 576px) {
.hidden-sm-up {
display: none !important;
}
}
 
@media (max-width: 767px) {
.hidden-sm-down {
display: none !important;
}
}
 
@media (min-width: 768px) {
.hidden-md-up {
display: none !important;
}
}
 
@media (max-width: 991px) {
.hidden-md-down {
display: none !important;
}
}
 
@media (min-width: 992px) {
.hidden-lg-up {
display: none !important;
}
}
 
@media (max-width: 1199px) {
.hidden-lg-down {
display: none !important;
}
}
 
@media (min-width: 1200px) {
.hidden-xl-up {
display: none !important;
}
}
 
.hidden-xl-down {
display: none !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;
}
}
/*# sourceMappingURL=bootstrap.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap.min.css
New file
0,0 → 1,6
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}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.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.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 .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:.75rem 1.25rem;background-color:#f7f7f9;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:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{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:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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:1030}.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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!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}}/*# sourceMappingURL=bootstrap.min.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-grid.css
New file
0,0 → 1,1339
@-ms-viewport {
width: device-width;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-overflow-style: scrollbar;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
/*# sourceMappingURL=bootstrap-grid.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-reboot.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null]}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css
New file
0,0 → 1,0
@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/css/bootstrap-reboot.css
New file
0,0 → 1,459
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/js/bootstrap.js
New file
0,0 → 1,3535
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
 
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
 
+function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}(jQuery);
 
 
+function () {
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
 
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Util = function ($) {
 
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
 
var transition = false;
 
var MAX_UID = 1000000;
 
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
 
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
 
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
 
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
return undefined;
}
};
}
 
function transitionEndTest() {
if (window.QUnit) {
return false;
}
 
var el = document.createElement('bootstrap');
 
for (var name in TransitionEndEvent) {
if (el.style[name] !== undefined) {
return {
end: TransitionEndEvent[name]
};
}
}
 
return false;
}
 
function transitionEndEmulator(duration) {
var _this = this;
 
var called = false;
 
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
 
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
 
return this;
}
 
function setTransitionEndSupport() {
transition = transitionEndTest();
 
$.fn.emulateTransitionEnd = transitionEndEmulator;
 
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
 
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
 
var Util = {
 
TRANSITION_END: 'bsTransitionEnd',
 
getUID: function getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
 
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
 
return selector;
},
reflow: function reflow(element) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
 
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
 
setTransitionEndSupport();
 
return Util;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Alert = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'alert';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
 
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Alert = function () {
function Alert(element) {
_classCallCheck(this, Alert);
 
this._element = element;
}
 
// getters
 
// public
 
Alert.prototype.close = function close(element) {
element = element || this._element;
 
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
 
if (customEvent.isDefaultPrevented()) {
return;
}
 
this._removeElement(rootElement);
};
 
Alert.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Alert.prototype._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element);
var parent = false;
 
if (selector) {
parent = $(selector)[0];
}
 
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
 
return parent;
};
 
Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
 
$(element).trigger(closeEvent);
return closeEvent;
};
 
Alert.prototype._removeElement = function _removeElement(element) {
var _this2 = this;
 
$(element).removeClass(ClassName.SHOW);
 
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
 
$(element).one(Util.TRANSITION_END, function (event) {
return _this2._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Alert.prototype._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
};
 
// static
 
Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
 
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
 
if (config === 'close') {
data[config](this);
}
});
};
 
Alert._handleDismiss = function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
 
alertInstance.close(this);
};
};
 
_createClass(Alert, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Alert;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
 
return Alert;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Button = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'button';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
 
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
 
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Button = function () {
function Button(element) {
_classCallCheck(this, Button);
 
this._element = element;
}
 
// getters
 
// public
 
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
 
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
 
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
 
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
 
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
 
input.focus();
}
}
 
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
 
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
};
 
Button.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// static
 
Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
 
if (config === 'toggle') {
data[config]();
}
});
};
 
_createClass(Button, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Button;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
 
var button = event.target;
 
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
 
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
 
return Button;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Carousel = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'carousel';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
 
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
 
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
 
var Direction = {
NEXT: 'next',
PREV: 'prev',
LEFT: 'left',
RIGHT: 'right'
};
 
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'carousel-item-right',
LEFT: 'carousel-item-left',
NEXT: 'carousel-item-next',
PREV: 'carousel-item-prev',
ITEM: 'carousel-item'
};
 
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Carousel = function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
 
this._items = null;
this._interval = null;
this._activeElement = null;
 
this._isPaused = false;
this._isSliding = false;
 
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
 
this._addEventListeners();
}
 
// getters
 
// public
 
Carousel.prototype.next = function next() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.NEXT);
};
 
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
};
 
Carousel.prototype.prev = function prev() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.PREVIOUS);
};
 
Carousel.prototype.pause = function pause(event) {
if (!event) {
this._isPaused = true;
}
 
if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
 
clearInterval(this._interval);
this._interval = null;
};
 
Carousel.prototype.cycle = function cycle(event) {
if (!event) {
this._isPaused = false;
}
 
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
 
if (this._config.interval && !this._isPaused) {
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
 
Carousel.prototype.to = function to(index) {
var _this3 = this;
 
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
 
var activeIndex = this._getItemIndex(this._activeElement);
 
if (index > this._items.length - 1 || index < 0) {
return;
}
 
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this3.to(index);
});
return;
}
 
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
 
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
 
this._slide(direction, this._items[index]);
};
 
Carousel.prototype.dispose = function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
 
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
};
 
// private
 
Carousel.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Carousel.prototype._addEventListeners = function _addEventListeners() {
var _this4 = this;
 
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, function (event) {
return _this4._keydown(event);
});
}
 
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
}
};
 
Carousel.prototype._keydown = function _keydown(event) {
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
 
switch (event.which) {
case ARROW_LEFT_KEYCODE:
event.preventDefault();
this.prev();
break;
case ARROW_RIGHT_KEYCODE:
event.preventDefault();
this.next();
break;
default:
return;
}
};
 
Carousel.prototype._getItemIndex = function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
};
 
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
 
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
 
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
 
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName
});
 
$(this._element).trigger(slideEvent);
 
return slideEvent;
};
 
Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
};
 
Carousel.prototype._slide = function _slide(direction, element) {
var _this5 = this;
 
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
var isCycling = Boolean(this._interval);
 
var directionalClassName = void 0;
var orderClassName = void 0;
var eventDirectionName = void 0;
 
if (direction === Direction.NEXT) {
directionalClassName = ClassName.LEFT;
orderClassName = ClassName.NEXT;
eventDirectionName = Direction.LEFT;
} else {
directionalClassName = ClassName.RIGHT;
orderClassName = ClassName.PREV;
eventDirectionName = Direction.RIGHT;
}
 
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
 
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.isDefaultPrevented()) {
return;
}
 
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
 
this._isSliding = true;
 
if (isCycling) {
this.pause();
}
 
this._setActiveIndicatorElement(nextElement);
 
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: eventDirectionName
});
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
 
$(nextElement).addClass(orderClassName);
 
Util.reflow(nextElement);
 
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
 
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
 
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
 
_this5._isSliding = false;
 
setTimeout(function () {
return $(_this5._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
 
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
 
if (isCycling) {
this.cycle();
}
};
 
// static
 
Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
 
if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
$.extend(_config, config);
}
 
var action = typeof config === 'string' ? config : _config.slide;
 
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
};
 
Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
var selector = Util.getSelectorFromElement(this);
 
if (!selector) {
return;
}
 
var target = $(selector)[0];
 
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
 
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
 
if (slideIndex) {
config.interval = false;
}
 
Carousel._jQueryInterface.call($(target), config);
 
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
 
event.preventDefault();
};
 
_createClass(Carousel, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Carousel;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
 
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
 
return Carousel;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Collapse = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'collapse';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
 
var Default = {
toggle: true,
parent: ''
};
 
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
 
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SHOW: 'show',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
 
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
 
var Selector = {
ACTIVES: '.card > .show, .card > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Collapse = function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
 
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
 
this._parent = this._config.parent ? this._getParent() : null;
 
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
 
if (this._config.toggle) {
this.toggle();
}
}
 
// getters
 
// public
 
Collapse.prototype.toggle = function toggle() {
if ($(this._element).hasClass(ClassName.SHOW)) {
this.hide();
} else {
this.show();
}
};
 
Collapse.prototype.show = function show() {
var _this6 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if ($(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var actives = void 0;
var activesData = void 0;
 
if (this._parent) {
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
 
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
 
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
 
var dimension = this._getDimension();
 
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
 
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
 
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
 
_this6._element.style[dimension] = '';
 
_this6.setTransitioning(false);
 
$(_this6._element).trigger(Event.SHOWN);
};
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
 
this._element.style[dimension] = this._element[scrollSize] + 'px';
};
 
Collapse.prototype.hide = function hide() {
var _this7 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if (!$(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
 
this._element.style[dimension] = this._element[offsetDimension] + 'px';
 
Util.reflow(this._element);
 
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
 
this._element.setAttribute('aria-expanded', false);
 
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
_this7.setTransitioning(false);
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
 
this._element.style[dimension] = '';
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
};
 
Collapse.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
};
 
// private
 
Collapse.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Collapse.prototype._getDimension = function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
};
 
Collapse.prototype._getParent = function _getParent() {
var _this8 = this;
 
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
 
$(parent).find(selector).each(function (i, element) {
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
 
return parent;
};
 
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
element.setAttribute('aria-expanded', isOpen);
 
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
};
 
// static
 
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
};
 
Collapse._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
 
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Collapse, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Collapse;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
 
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
 
Collapse._jQueryInterface.call($(target), config);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
 
return Collapse;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Dropdown = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
 
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Dropdown = function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
 
this._element = element;
 
this._addEventListeners();
}
 
// getters
 
// public
 
Dropdown.prototype.toggle = function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
Dropdown._clearMenus();
 
if (isActive) {
return false;
}
 
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
 
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
 
var relatedTarget = {
relatedTarget: this
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
 
$(parent).trigger(showEvent);
 
if (showEvent.isDefaultPrevented()) {
return false;
}
 
this.focus();
this.setAttribute('aria-expanded', true);
 
$(parent).toggleClass(ClassName.SHOW);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
 
return false;
};
 
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
};
 
// private
 
Dropdown.prototype._addEventListeners = function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
};
 
// static
 
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Dropdown(this);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
};
 
Dropdown._clearMenus = function _clearMenus(event) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
 
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
 
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
 
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = {
relatedTarget: toggles[i]
};
 
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
 
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
continue;
}
 
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
 
toggles[i].setAttribute('aria-expanded', 'false');
 
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
 
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent = void 0;
var selector = Util.getSelectorFromElement(element);
 
if (selector) {
parent = $(selector)[0];
}
 
return parent || element.parentNode;
};
 
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
 
event.preventDefault();
event.stopPropagation();
 
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
 
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
 
$(this).trigger('click');
return;
}
 
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
 
if (!items.length) {
return;
}
 
var index = items.indexOf(event.target);
 
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
 
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}
 
if (index < 0) {
index = 0;
}
 
items[index].focus();
};
 
_createClass(Dropdown, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Dropdown;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
 
return Dropdown;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Modal = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'modal';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
 
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
 
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Modal = function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
 
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
 
// getters
 
// public
 
Modal.prototype.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
 
Modal.prototype.show = function show(relatedTarget) {
var _this9 = this;
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
 
$(this._element).trigger(showEvent);
 
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = true;
 
this._checkScrollbar();
this._setScrollbar();
 
$(document.body).addClass(ClassName.OPEN);
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
return _this9.hide(event);
});
 
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this9._element)) {
_this9._ignoreBackdropClick = true;
}
});
});
 
this._showBackdrop(function () {
return _this9._showElement(relatedTarget);
});
};
 
Modal.prototype.hide = function hide(event) {
var _this10 = this;
 
if (event) {
event.preventDefault();
}
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
}
 
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
 
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = false;
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(document).off(Event.FOCUSIN);
 
$(this._element).removeClass(ClassName.SHOW);
 
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
if (transition) {
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this10._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
};
 
Modal.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
 
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
 
// private
 
Modal.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Modal.prototype._showElement = function _showElement(relatedTarget) {
var _this11 = this;
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
 
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
 
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0;
 
if (transition) {
Util.reflow(this._element);
}
 
$(this._element).addClass(ClassName.SHOW);
 
if (this._config.focus) {
this._enforceFocus();
}
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
 
var transitionComplete = function transitionComplete() {
if (_this11._config.focus) {
_this11._element.focus();
}
_this11._isTransitioning = false;
$(_this11._element).trigger(shownEvent);
};
 
if (transition) {
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
};
 
Modal.prototype._enforceFocus = function _enforceFocus() {
var _this12 = this;
 
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
_this12._element.focus();
}
});
};
 
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
var _this13 = this;
 
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
_this13.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
};
 
Modal.prototype._setResizeEvent = function _setResizeEvent() {
var _this14 = this;
 
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
return _this14._handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
}
};
 
Modal.prototype._hideModal = function _hideModal() {
var _this15 = this;
 
this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this15._resetAdjustments();
_this15._resetScrollbar();
$(_this15._element).trigger(Event.HIDDEN);
});
};
 
Modal.prototype._removeBackdrop = function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
};
 
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
var _this16 = this;
 
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
 
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
 
if (animate) {
$(this._backdrop).addClass(animate);
}
 
$(this._backdrop).appendTo(document.body);
 
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this16._ignoreBackdropClick) {
_this16._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this16._config.backdrop === 'static') {
_this16._element.focus();
} else {
_this16.hide();
}
});
 
if (doAnimate) {
Util.reflow(this._backdrop);
}
 
$(this._backdrop).addClass(ClassName.SHOW);
 
if (!callback) {
return;
}
 
if (!doAnimate) {
callback();
return;
}
 
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
 
var callbackRemove = function callbackRemove() {
_this16._removeBackdrop();
if (callback) {
callback();
}
};
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
};
 
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
 
Modal.prototype._handleUpdate = function _handleUpdate() {
this._adjustDialog();
};
 
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
 
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetAdjustments = function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
};
 
Modal.prototype._checkScrollbar = function _checkScrollbar() {
this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
 
Modal.prototype._setScrollbar = function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
 
this._originalBodyPadding = document.body.style.paddingRight || '';
 
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetScrollbar = function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
};
 
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
 
// static
 
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
};
 
_createClass(Modal, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Modal;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this17 = this;
 
var target = void 0;
var selector = Util.getSelectorFromElement(this);
 
if (selector) {
target = $(selector)[0];
}
 
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
 
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
 
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
 
$target.one(Event.HIDDEN, function () {
if ($(_this17).is(':visible')) {
_this17.focus();
}
});
});
 
Modal._jQueryInterface.call($(target), config, this);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
 
return Modal;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var ScrollSpy = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = {
offset: 10,
method: 'auto',
target: ''
};
 
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
 
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
 
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
 
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var ScrollSpy = function () {
function ScrollSpy(element, config) {
var _this18 = this;
 
_classCallCheck(this, ScrollSpy);
 
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
 
$(this._scrollElement).on(Event.SCROLL, function (event) {
return _this18._process(event);
});
 
this.refresh();
this._process();
}
 
// getters
 
// public
 
ScrollSpy.prototype.refresh = function refresh() {
var _this19 = this;
 
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
 
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
 
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
 
this._offsets = [];
this._targets = [];
 
this._scrollHeight = this._getScrollHeight();
 
var targets = $.makeArray($(this._selector));
 
targets.map(function (element) {
var target = void 0;
var targetSelector = Util.getSelectorFromElement(element);
 
if (targetSelector) {
target = $(targetSelector)[0];
}
 
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
return null;
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this19._offsets.push(item[0]);
_this19._targets.push(item[1]);
});
};
 
ScrollSpy.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
 
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
};
 
// private
 
ScrollSpy.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
 
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = Util.getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
 
Util.typeCheckConfig(NAME, config, DefaultType);
 
return config;
};
 
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
 
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
};
 
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
};
 
ScrollSpy.prototype._process = function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
 
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
 
if (this._activeTarget !== target) {
this._activate(target);
}
return;
}
 
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
this._activeTarget = null;
this._clear();
return;
}
 
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
 
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
};
 
ScrollSpy.prototype._activate = function _activate(target) {
this._activeTarget = target;
 
this._clear();
 
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
 
var $link = $(queries.join(','));
 
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus...
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
 
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
};
 
ScrollSpy.prototype._clear = function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
};
 
// static
 
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(ScrollSpy, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return ScrollSpy;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
 
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
 
return ScrollSpy;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tab = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tab';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
DISABLED: 'disabled',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tab = function () {
function Tab(element) {
_classCallCheck(this, Tab);
 
this._element = element;
}
 
// getters
 
// public
 
Tab.prototype.show = function show() {
var _this20 = this;
 
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
 
var target = void 0;
var previous = void 0;
var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
 
if (listElement) {
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
 
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
 
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
 
if (previous) {
$(previous).trigger(hideEvent);
}
 
$(this._element).trigger(showEvent);
 
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
 
if (selector) {
target = $(selector)[0];
}
 
this._activate(this._element, listElement);
 
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this20._element
});
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
 
$(previous).trigger(hiddenEvent);
$(_this20._element).trigger(shownEvent);
};
 
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
};
 
Tab.prototype.dispose = function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Tab.prototype._activate = function _activate(element, container, callback) {
var _this21 = this;
 
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
 
var complete = function complete() {
return _this21._transitionComplete(element, active, isTransitioning, callback);
};
 
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
if (active) {
$(active).removeClass(ClassName.SHOW);
}
};
 
Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
 
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
 
active.setAttribute('aria-expanded', false);
}
 
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
 
if (isTransitioning) {
Util.reflow(element);
$(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
 
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
 
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
 
element.setAttribute('aria-expanded', true);
}
 
if (callback) {
callback();
}
};
 
// static
 
Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
 
if (!data) {
data = new Tab(this);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tab, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Tab;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
 
return Tab;
}(jQuery);
 
/* global Tether */
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tooltip = function ($) {
 
/**
* Check for Tether dependency
* Tether - http://tether.io/
*/
if (typeof Tether === 'undefined') {
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
}
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
 
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: [],
container: false
};
 
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array',
container: '(string|element|boolean)'
};
 
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
 
var HoverState = {
SHOW: 'show',
OUT: 'out'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
 
var TetherClass = {
element: false,
enabled: false
};
 
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tooltip = function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
 
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._isTransitioning = false;
this._tether = null;
 
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
 
this._setListeners();
}
 
// getters
 
// public
 
Tooltip.prototype.enable = function enable() {
this._isEnabled = true;
};
 
Tooltip.prototype.disable = function disable() {
this._isEnabled = false;
};
 
Tooltip.prototype.toggleEnabled = function toggleEnabled() {
this._isEnabled = !this._isEnabled;
};
 
Tooltip.prototype.toggle = function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
context._activeTrigger.click = !context._activeTrigger.click;
 
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
 
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
this._leave(null, this);
return;
}
 
this._enter(null, this);
}
};
 
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
 
this.cleanupTether();
 
$.removeData(this.element, this.constructor.DATA_KEY);
 
$(this.element).off(this.constructor.EVENT_KEY);
$(this.element).closest('.modal').off('hide.bs.modal');
 
if (this.tip) {
$(this.tip).remove();
}
 
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
 
this.element = null;
this.config = null;
this.tip = null;
};
 
Tooltip.prototype.show = function show() {
var _this22 = this;
 
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
 
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
$(this.element).trigger(showEvent);
 
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
 
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
 
var tip = this.getTipElement();
var tipId = Util.getUID(this.constructor.NAME);
 
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
 
this.setContent();
 
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
 
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
 
var attachment = this._getAttachment(placement);
 
var container = this.config.container === false ? document.body : $(this.config.container);
 
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
 
$(this.element).trigger(this.constructor.Event.INSERTED);
 
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
 
Util.reflow(tip);
this._tether.position();
 
$(tip).addClass(ClassName.SHOW);
 
var complete = function complete() {
var prevHoverState = _this22._hoverState;
_this22._hoverState = null;
_this22._isTransitioning = false;
 
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
 
if (prevHoverState === HoverState.OUT) {
_this22._leave(null, _this22);
}
};
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
 
complete();
}
};
 
Tooltip.prototype.hide = function hide(callback) {
var _this23 = this;
 
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
var complete = function complete() {
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
 
_this23.element.removeAttribute('aria-describedby');
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
_this23._isTransitioning = false;
_this23.cleanupTether();
 
if (callback) {
callback();
}
};
 
$(this.element).trigger(hideEvent);
 
if (hideEvent.isDefaultPrevented()) {
return;
}
 
$(tip).removeClass(ClassName.SHOW);
 
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
this._hoverState = '';
};
 
// protected
 
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
 
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
};
 
Tooltip.prototype.getTitle = function getTitle() {
var title = this.element.getAttribute('data-original-title');
 
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
 
return title;
};
 
Tooltip.prototype.cleanupTether = function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
};
 
// private
 
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
};
 
Tooltip.prototype._setListeners = function _setListeners() {
var _this24 = this;
 
var triggers = this.config.trigger.split(' ');
 
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
return _this24.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
 
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
return _this24._enter(event);
}).on(eventOut, _this24.config.selector, function (event) {
return _this24._leave(event);
});
}
 
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
return _this24.hide();
});
});
 
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
};
 
Tooltip.prototype._fixTitle = function _fixTitle() {
var titleType = _typeof(this.element.getAttribute('data-original-title'));
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
};
 
Tooltip.prototype._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
 
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW;
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.SHOW;
 
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.SHOW) {
context.show();
}
}, context.config.delay.show);
};
 
Tooltip.prototype._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
 
if (context._isWithActiveTrigger()) {
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.OUT;
 
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
};
 
Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
 
return false;
};
 
Tooltip.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
 
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
 
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 
return config;
};
 
Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
var config = {};
 
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
 
return config;
};
 
// static
 
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data && /dispose|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tooltip, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Tooltip;
}();
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
 
return Tooltip;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Popover = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'popover';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
 
var DefaultType = $.extend({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Popover = function (_Tooltip) {
_inherits(Popover, _Tooltip);
 
function Popover() {
_classCallCheck(this, Popover);
 
return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
}
 
// overrides
 
Popover.prototype.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
 
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Popover.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
// private
 
Popover.prototype._getContent = function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
 
// static
 
Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
 
if (!data && /destroy|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Popover, null, [{
key: 'VERSION',
 
 
// getters
 
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Popover;
}(Tooltip);
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
 
return Popover;
}(jQuery);
 
}();
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/bootstrap-4/js/bootstrap.min.js
New file
0,0 → 1,7
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="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},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.6",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.6",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.6",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API+" "+_.FOCUSIN_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;
if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.6",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.6",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.6",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}();
/branches/v3.01-serpe/widget/modules/streets/squelettes/css/streets.css
New file
0,0 → 1,798
@CHARSET "UTF-8";
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
}
 
#zone-appli {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.9);
margin-top: 2rem;
}
 
#zone-appli .zone-alerte{
width: 100%;
}
 
#logo {
max-width: 100%;
}
 
h1, h2, h3, h4, h5 {
font-family: Muli,sans-serif;
color: #606060;
font-weight: 700;
}
 
form {
font-family: Muli,sans-serif;
float: none;
}
 
h1 {
font-weight: 700;
font-size: 2rem;
}
 
#zone-appli .form-block {
margin-bottom: 2rem;
}
 
h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
h3 {
font-size: 1.2rem;
}
 
ul {
padding-inline-start: 0;
}
 
#zone-appli .obligatoire::before {
content: '*';
position: absolute;
left: 0;
}
 
.btn.focus,
.btn:focus {
box-shadow: none;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse {
color: #fff !important;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse,
.btn.btn-outline-primary,
.btn.btn-outline-info,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-inverse {
border-radius: 0.15rem;
}
 
button {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #a2b93b;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
border-bottom-style: none;
border-bottom-width: 0;
border-image-outset: 0 0 0 0;
border-image-repeat: stretch stretch;
border-image-slice: 100% 100% 100% 100%;
border-image-source: none;
border-image-width: 1 1 1 1;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: 0;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: 0;
border-top-color: currentcolor;
border-top-left-radius: 0.2rem;
border-top-right-radius: 0.2rem;
border-top-style: none;
border-top-width: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 1.5rem;
padding-bottom: 1.25rem;
padding-left: 2rem;
padding-right: 2rem;
padding-top: 1.25rem;
text-align: center;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-transform: uppercase;
transition-delay: 0s;
transition-duration: 0.2s;
transition-property: background;
transition-timing-function: ease;
}
 
.table tr,
.table td,
.table th,
.table thead {
border: none !important;
}
 
.mb2,
.mb-3 {
align-self: start;
}
 
label,
#zone-appli .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli .form-inline label,
#zone-appli .form-inline .list-label {
align-items: start;
align-self: start;
justify-content: left;
align-content: flex-start;
}
 
h1#widget-titre::before {
content: "";
display: block;
height: 100%;
left: -5rem;
position: absolute;
width: 0.4rem;
}
 
h1#widget-titre {
font-size: 2.6rem;
font-weight: 700;
line-height: 3.2rem;
margin-bottom: 0;
margin-left: 0;
margin-right: 0;
margin-top: 0;
position: relative;
color: #232323;
font-family: Ubuntu,sans-serif;
}
 
#zone-appli .hidden {
display: none !important;
}
 
#zone-appli .warning {
color: #ff5d55;
font-weight: 700;
}
 
#photos-conteneur label.label-file.error,
.control-group.error #connexion,
.control-group.error #bouton-inscription,
.control-group.error #bouton-anonyme,
.control-group.error .geoloc,
.control-group.error input,
.control-group.error select,
.control-group.error textarea,
.obs-erreur,
#releve-date.erreur {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
.control-group .erreur,
.control-group.error,
span.error {
color: #b94a48 !important;
}
 
#zone-appli .centre {
margin: 0 auto !important;
justify-content: center !important;
}
 
#zone-appli .droite {
float: right;
}
 
#zone-appli .info {
padding: 1rem;
background-color: #ccecf1;
border-color: #7ccedb;
color: #006979;
fill: #006979;
border-radius: 0.2rem;
}
 
#zone-appli .clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
 
#zone-appli .ui-widget{
font-family: Muli,sans-serif;
}
 
#zone-appli .form-inline .form-control {
width: 100%;
}
 
#zone-appli #logo_hires {
display: none;
}
#zone-appli .logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
#zone-appli .bloc-top {
border-top: 1px solid rgba(0,0,0,.1);
padding-top: 1rem;
}
 
#zone-appli .bloc-bottom {
border-bottom: 1px solid rgba(0,0,0,.1);
padding-bottom: 1rem;
}
 
.unstyled {
list-style-type: none;
}
 
#zone-appli #formulaire form {
margin-bottom: 1.5rem;
}
 
input[type="checkbox"],
input[type="radio"],
input.radio,
input.checkbox {
vertical-align:text-top;
padding: 0;
margin-right: 10px;
position:relative;
overflow:hidden;
top:2px;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkbox label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label,
#zone-appli #formulaire #form-supp #zone-supp .radio label {
align-items: center;
display: flex;
font-weight: 400;
}
 
/*************************************************************************/
 
form#form-observateur,
form#form-observation,
form#form-supp,
#tb-navigation,
#tb-navbar{
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
flex-direction: row;
}
 
#tb-navbar {
margin-bottom: 0;
}
 
.volet {
height: 5rem;
}
 
#anonyme {
height: auto;
}
 
#bouton-connexion,
#creation-compte {
display: -ms-flexbox;
display: flex;
height: 5rem;
-webkit-box-flex: 1;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
justify-content: left;
align-items: flex-start;
align-content: flex-middle;
}
 
.nav > .volet #bouton-anonyme,
.nav > .volet #bouton-inscription {
width: auto;
}
 
.nav > .volet > a {
margin-left: 0.2rem;
}
 
#bouton-poursuivre,
.charger-releve,
#soumettre-releve,
#connexion,
#ajouter-obs,
#transmettre-obs {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#bouton-poursuivre:focus,
#bouton-poursuivre:hover,
.charger-releve:focus,
.charger-releve:hover,
#soumettre-releve:focus,
#soumettre-releve:hover,
#connexion:focus,
#connexion:hover,
#transmettre-obs:focus,
#transmettre-obs:hover,
#ajouter-obs:focus,
#ajouter-obs:hover {
background-color: #a2b93b;
border: none;
}
 
#utilisateur-connecte.volet {
padding-left: 2rem;
}
 
#utilisateur-connecte.volet > a {
margin-left: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur,
#utilisateur-connecte.volet #deconnexion {
padding: 0 0.75rem;
margin: 0.2rem 0;
}
 
#utilisateur-connecte.volet .volet-menu a {
font-size: 0.8rem;
font-weight: 400;
color: #606060;
background: inherit;
text-decoration: none;
display: block;
width: 100%;
padding-left: 5px;
line-height: 25px;
outline: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur:hover,
#utilisateur-connecte.volet #deconnexion:hover,
#utilisateur-connecte.volet #profil-utilisateur:focus,
#utilisateur-connecte.volet #deconnexion:focus {
background: #b2cb43;
}
 
#utilisateur-connecte.volet .volet-menu a:hover,
#utilisateur-connecte.volet .volet-menu a:focus {
color: #fff;
}
 
#utilisateur-connecte .volet-menu {
position: absolute;
z-index: 1000;
min-width: auto;
list-style: none;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
 
.volet-menu div a {
color: #222;
}
 
#utilisateur-connecte .volet-toggle::after {
font-family: "Font Awesome 5 Free";
font-size: 0.8rem;
font-weight: 900;
content: '\f0d7'
}
 
.releve-info {
font-size: 0.8rem;
}
 
/*************************************************************************/
 
#zone-appli #formulaire #form-supp #zone-supp .multiselect.list-checkbox {
padding: 0;
margin: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp select,
#zone-appli #formulaire #form-supp #zone-supp .selectBox select {
background-color: #fff;
border: 1px solid #ced4da;
}
 
#form-supp select,
#form-supp .selectBox select{
border-radius: 0.3rem;
}
 
#form-supp .select-wrapper,
#zone-appli #formulaire #form-supp #zone-supp .selectBox {
position: relative;
z-index: 1000;
border-radius: 0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox .focus {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
 
#zone-appli #formulaire #form-supp #zone-supp .input-group .select-wrapper {
border:none;
}
 
#zone-appli #formulaire #form-supp #zone-supp .overSelect {
position: absolute;
z-index: 999;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes {
position: absolute;
z-index: 1001;
top: 120%;
left: 1rem;
right: 1rem;
background-color: #fff;
border: 1px solid #ced4da;
border-top: 0;
border-radius: 0 0 0.3rem 0.3rem;
margin-top: -0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .label label,
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label {
display: block;
padding: 0.5rem;
font-weight: 400;
margin:0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .checkboxes label:hover {
background: #1e90ff;
color: #fff;
}
 
#zone-appli #formulaire #form-supp #zone-supp .selectBox select option {
padding-block-start: 0;
padding-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp .collect-other {
margin: 0.5rem;
width: 90%;
}
 
/*************************************************************************/
 
.range-values {
color: #606060;
}
 
.range-live-value {
padding-top: 1rem;
font-size: 1rem;
}
 
/*******************************************/
 
.label-file {
overflow: hidden;
position: relative;
cursor: pointer;
border-radius: 0.25rem;
font-weight: 400;
font-size: 0.9rem;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: .375rem .75rem;
line-height: 1.5;
transition:
color .15s ease-in-out,
background-color .15s ease-in-out,
border-color .15s ease-in-out,
box-shadow .15s ease-in-out;
margin: 0;
}
 
.label-file [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
 
.label-file [type=file] {
cursor: pointer;
}
 
/*************************************/
 
#miniatures .miniature {
position: relative;
display: inline-block;
 
}
 
#miniatures .miniature .miniature-img {
vertical-align: top;
width: 5rem;
height: 100%;
}
 
#miniatures .miniature .effacer-miniature {
display: flex;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
font-size: 2rem;
background-color: rgba(0, 0, 0, 0.3);
opacity: 0;
color: #ff5d55;
padding: 0;
margin: 0;
height: 100%;
width: 100%;
align-items:center;
justify-content: center;
cursor: pointer;
}
 
#miniatures .miniature .effacer-miniature:hover,
#miniatures .miniature .effacer-miniature:focus {
opacity: 1;
}
 
.obs {
height: 10rem;
padding: 1rem;
border-radius: 0.25rem;
background-color: #fbfbfb;
border: 1px solid #eee;
}
 
.obs .nom-sci {
font-size: 1rem;
}
 
.defilement-miniatures .defilement-miniatures-cache,
.defilement-miniatures .miniature-cachee {
display: none;
}
 
.defilement-miniatures {
display: flex;
align-items:center;
justify-content: center;
height: 8rem;
}
.defilement-miniatures figure {
display: inline-block;
min-height: 8rem;
line-height: 8rem;
text-align: center;
min-width: 80%;
width: 80%;
margin:0 auto;
padding: 0;
}
 
.miniature-selectionnee {
vertical-align: middle;
max-height: 8rem;
max-width: 80%;
}
 
.defilement-miniatures-gauche,
.defilement-miniatures-droite {
display: inline-block;
color: #5bc0de;
vertical-align: middle;
outline-style: none;
}
 
.defilement-miniatures-gauche:active,
.defilement-miniatures-droite:active,
.defilement-miniatures-gauche:focus,
.defilement-miniatures-droite:focus {
color: #499fb7;
}
 
.defilement-miniatures-gauche:hover,
.defilement-miniatures-droite:hover {
color: #499fb7;
}
 
#zone-prenom-nom #prenom,
#zone-prenom-nom #nom {
z-index: 0;
}
 
#transmettre-obs{
text-align: right;
}
 
#zone-liste-obs h2.transmission-title {
display: inline-block;
}
 
footer a {
display: inline-block;
}
 
.help-button {
float: right;
}
 
#image-fond {
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
min-width: 100%;
background-attachment: fixed;
margin: 0;
padding: 0;
}
 
.modal-open, body.modal-open {
overflow: inherit !important;
}
 
.custom-range {
border: none;
}
 
/*************************************/
#charger-form,
#zone-arbres,
#zone-plantes {
min-width: 100%;
}
 
/*volet autocompletion des taxons*/
.ui-autocomplete {
z-index: 1000 !important;
}
 
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
#titre-projet {
font-size: 1.5rem;
}
 
h2 {
font-size: 1.3rem;
}
 
#logo {
max-width: 80%;
}
 
#bouton-connexion, #creation-compte {
display: block;
width: 100%;
position: static;
}
 
.nav {
flex-direction: column;
}
 
#transmettre-obs.droite {
float: none;
}
 
.obs {
height: auto;
}
 
.obs .unstyled {
font-size: 0.6rem;
}
 
.obs .nom-sci {
font-size: 0.8rem;
}
 
.supprimer-obs {
overflow: hidden;
}
 
#image-fond {
display: none;
}
}
 
 
/branches/v3.01-serpe/widget/modules/streets/squelettes/streets.tpl.html
New file
0,0 → 1,225
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo $widget['titre']; ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne pour sTREETs" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL pour sTREETs" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne pour sTREETs" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link href="<?php echo $url_base; ?>js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE sTREETs -->
<link href="<?php echo $url_base; ?>css/streets.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<!-- <link rel="icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/tb-geoloc/tb-geoloc-lib-app.js"></script>
 
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script> -->
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/UtilsStreets.js"></script>
<!-- chargement des formulaires -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetStreets.js"></script>
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
releve = null;
widget = new WidgetStreets();
widget.mode = "<?php echo $conf_mode; ?>";
widget.init();
});
//]]>
</script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/ReleveStreets.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/PlantesStreets.js"></script>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-obs-list="<?php echo $url_ws_obs_list; ?>" data-lang="<?php echo $langue; ?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.png' ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo $general['titre-page'];?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3><?php echo $aide['titre']; ?></h3>
<div id="aide-txt" class="hiden-sm-down">
<p><?php echo $aide['description']; ?></p>
</div>
</div>
</div>
</div>
 
<!-- zone observateur -->
<div id="formulaire" class="row mb-3">
<form id="form-observateur" role="form" autocomplete="on">
<h2 class="mb-3"><?php echo $observateur['titre']; ?></h2>
<div id="tb-observateur" class="row">
 
<div class="control-group col-md-6 col-sm-8 mb-3">
<div id="bloc-connexion">
<h3><?php echo $observateur['compte']; ?></h3>
<label for="courriel" class="col-sm-8 obligatoire">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control has-tooltip" data-toggle="tooltip" type="email" title="<?php echo $observateur['courriel-title']; ?> ">
</div>
 
<label for="mdp" class="col-sm-8 obligatoire">
<i class="fas fa-user-lock"></i>
<?php echo $observateur['mdp']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="mdp" name="mdp" class="form-control has-tooltip" data-toggle="tooltip" type="password" title="<?php echo $observateur['mdp-title']; ?> ">
</div>
 
<div id="boutons-connexion" class="col-sm-8 ml-3">
<a id="inscription" href="" class="mb-1" taget="_blank"><?php echo $observateur['inscription']; ?></a>
<a id="oublie" href="" class="float-right pr-3 mb-1" taget="_blank"><?php echo $observateur['oublie']; ?></a>
<div class="mt-3">
<a id="connexion" href="" class="float-right mr-3 btn btn-success" taget="_blank"><?php echo $observateur['connexion']; ?></a>
</div>
</div>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte"><?php echo $observateur['bienvenue']; ?></label>
<a href="" class="list-tool btn btn-large btn-info volet-toggle" data-toggle="volet">
<span id="nom-complet"></span> <!-- <i class="fas fa-caret-down"></i> -->
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" taget="_blank"><?php echo $observateur['profil']; ?></a>
</div>
<div id="deconnexion"><a href=""><?php echo $observateur['deconnexion']; ?></a></div>
</div>
</div>
<p id="nb-releves-bienvenue" class="hidden">
<?php echo $observateur['releves-deb'];?>
<span class="font-weight-bold nb-releves">0</span>
<?php echo $observateur['releves-fin'];?>
</p>
</div>
<div id="releves-utilisateur" class="col-md-6 col-sm-8 mt-3">
<div id="bouton-list-releves" class="mb-3 btn btn-info hidden">
<i class="fas fa-history"></i>&nbsp;<?php echo $observateur['reprendre-releve']; ?>
</div>
<div class="table-responsive mb-3">
<table id="table-releves" class="table table-hover hidden">
<tbody id="list-releves" class="border-0">
</tbody>
</table>
</div>
<div id="bouton-nouveau-releve" class="mb-3 btn btn-info hidden">
<i class="far fa-plus-square"></i>&nbsp;<?php echo $observateur['creer-releve']; ?>
</div>
</div>
</div>
</form><!-- fin zone observateur -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertni-title']; ?></h4>
<p><?php echo $observateur['alertni']; ?></p>
</div>
</div>
<!-- zone relevé -->
 
<!-- zone chargement arbres ou plantes -->
<div id="charger-form" data-mode="<?php echo $conf_mode; ?>" data-load="arbres"></div>
<!-- fin zone chargement formulaire -->
 
</div><!-- fin formulaire -->
 
</div><!-- fin Layout-wrapper page -->
</div><!-- fin zone-appli -->
 
<div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="help-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
<input id="prenom" name="prenom" type="hidden">
<input id="nom" name="nom" type="hidden">
<input id="streets-obs" type="hidden" value="">
<input id="releve-data" type="hidden" value="">
<input id="dates-rues-communes" type="hidden" value="">
<input id="img-releve-data" type="hidden" value="">
</body>
</html>
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/UtilsStreets.js
New file
0,0 → 1,528
function UtilsStreets() {
// this.infosUtilisateur = null;
this.langue = $( 'body' ).data( 'lang' );
this.urlRacine = window.location.origin;
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-plantes' : 'Saisir les plantes',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-plantes' : 'Enter the plants',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.'
}
};
}
 
 
UtilsStreets.prototype.chargerForm = function( nomSquelette, streetsFormObj ) {
const lthis = this;
var urlSqueletteArbres = this.urlRacine + '/widget:cel:streets?squelette=' + nomSquelette;
 
$.ajax({
url: urlSqueletteArbres,
type: 'get',
success: function( squelette ) {
if ( lthis.valOk( squelette ) ) {
streetsFormObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
UtilsStreets.prototype.chargerFormPlantes = function( squelette, nomSquelette ) {
if ( this.valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( var i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
UtilsStreets.prototype.formaterReleveData = function( releveDatas ) {
var releve = [],
obs = releveDatas.obs,
obsE = releveDatas.obsE;
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
latitude : obs.latitude,
longitude : obs.longitude,
altitude : obs.altitude,
'zone-pietonne' : obsE['zone-pietonne'],
'pres-lampadaires' : obsE['pres-lampadaires'],
commentaires : obs.commentaire
};
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
UtilsStreets.prototype.formaterArbreData = function( arbresDatas ) {
var retour = {},
obs = arbresDatas.obs,
obsE = arbresDatas.obsE,
miniatureImg = [];
if( this.valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( this.valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'latitude-arbres' : obsE['latitude-arbres'],
'longitude-arbres' : obsE['longitude-arbres'],
'altitude-arbres' : obsE['altitude-arbres'],
'circonference' : obsE.circonference,
'surface-pied' : obsE['surface-pied'],
'equipement-pied-arbre' : obsE['equipement-pied-arbre'],
'tassement' : obsE.tassement,
'dejections' : obsE.dejections,
'com-arbres' : obsE['com-arbres']
};
return retour;
};
 
UtilsStreets.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
var dateArray = dateObs.split( '-' );
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.log( 'erreur date : ' + dateObs )
}
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
UtilsStreets.prototype.msgTraduction = function( cle ) {
var msg = 'N/A';
 
if ( this.msgs ) {
if ( this.langue in this.msgs && cle in this.msgs[this.langue] ) {
msg = this.msgs[this.langue][cle];
} else if ( cle in this.msgs['fr'] ) {
msg = this.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
UtilsStreets.prototype.valOk = function( valeur, sensComparaison = true, comparer = undefined ) {
var retour = true;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
} else {
// Un booléen est une valeur valable
return true;
}
}
 
// Lib hors objet
 
/*************************************
* Fonctions de Style et Affichage *
* des éléments "spéciaux" *
*************************************/
 
// Logique d'affichage pour le input type=file
function inputFile() {
// Initialisation des variables
var $fileInput = $( '.input-file' ),
$button = $( '.label-file' );
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#charger-form' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
}
 
// Style et affichage des list-checkboxes
function inputListCheckbox() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
var target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
var $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( var i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
var $otherListCheckboxes = $( '.checkboxes' )[i];
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
}
 
// Style et affichage des input type="range"
function inputRangeDisplayNumber() {
$( 'input[type="range"]','#charger-form' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
var $this = $( this );
$this.text( '' );
});
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function newFieldsHelpModal() {
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
var thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide pour : ' + $( this ).data( 'name' ) );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
// var extention = 'jpg';
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + thisFieldKey + '.' + extention + '" style="max-width:100%" alt="' + thisFieldKey + '" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
})
});
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function projetHelpModale() {
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
var fileMimeType = $( this ).data( 'mime-info' );
 
// Titre
$( '#help-modal-label' ).text( 'Aide du projet : ' + $( '#titre-projet' ).text() );
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' );
$( '#print_content' ).append( '<img src="' + CHEMIN_FICHIERS + 'info.' + extention + '" style="max-width:100%" alt="info projet" />' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
});
 
});
}
 
// Faire apparaitre un champ text "Autre"
function onOtherOption() {
const PREFIX = 'collect-other-';
 
// Ajouter un champ texte pour "Autre"
function optionAdd( otherId, $target, element, dataName ) {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
}
 
// Supprimer un champ texte pour "Autre"
function optionRemove( otherId ) {
$( '.' + otherId + ', #' + otherId ).remove();
}
 
$( '.other', '#form-arbre' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else if ( $( this ).is( ':checked' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
}
});
 
$( '#charger-form' ).on( 'change', '.select', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'change', 'input[type=radio]', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName;
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#charger-form' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' );
 
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName );
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
}
 
function collectOtherOption() {
$( '#charger-form' ).on( 'change', '.collect-other', function () {
var otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' );
var element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
}
 
/***************************
* Lancement des scripts *
***************************/
const CHEMIN_FICHIERS = $( '#zone-appli' ).data('url-fichiers');
 
jQuery( document ).ready( function() {
// Modale "aide" du projet
projetHelpModale();
// Affichage input file
inputFile();
// Affichage des List-checkbox
inputListCheckbox();
// Affichage des Range
inputRangeDisplayNumber()
// Modale "aide"
newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
onOtherOption();
// Récupérer les données entrées dans "Autre"
collectOtherOption();
});
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/ReleveStreets.js
New file
0,0 → 1,2075
/**
* Constructeur ReleveStreets par défaut
*/
function ReleveStreets() {
this.obsNbre = 0;
this.numArbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.obsId = null;
this.serviceSaisieUrl = null;
this.serviceObsUrl = null;
this.serviceObsListUrl = null;
this.serviceObsImgs = null;
this.serviceObsImgUrl = null;
this.nomSciReferentiel = null;
this.isTaxonListe = false;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.serviceNomCommuneUrl = null;
this.serviceNomCommuneUrlAlt = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsStreets();
}
 
ReleveStreets.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveStreets.prototype.initForm = function() {
const lthis = this;
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) ) {
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() );
releveDatas = $.parseJSON( $( '#releve-data' ).val() );
 
if ( !this.utils.valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( this.utils.valOk( $( '#streets-obs' ).val() ) ) {
const streetsObs = $.parseJSON( $( '#streets-obs' ).val() );
 
$( '.charger-releve,.saisir-plantes' ).click( function() {
var nomSquelette = $( this ).data( 'load' );
releveDatas = streetsObs[ $( this ).data( 'releve' ) ];
$( '#releve-data' ).val( JSON.stringify( releveDatas ) );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveStreets.prototype.initEvts = function() {
const lthis = this;
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
}
});
 
// Empêcher que le module carto ne bind ses events partout
$( '#tb-geolocation' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '*', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation' ).on( 'location' , lthis.locationHandler.bind( lthis ) );
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#soumettre-releve' ).on( 'click', function( even ) {
event.preventDefault();
lthis.saisirArbres();
});
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
var numArbre = $( this ).data( 'arbre-info' );
lthis.chargerInfosArbre( numArbre );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
var numArbre = lthis.numArbre + 1;
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
});
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement plantes
$( '#charger-form' ).on( 'click', '#bouton-saisir-plantes', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
ReleveStreets.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'plantes' :
this.utils.chargerFormPlantes( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
ReleveStreets.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveStreets.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( 'zone-pietonne' === cle || 'pres-lampadaires' === cle ) {
$( 'input[name=' + cle + '][value=' + valeur + ']' , '#zone-observation' ).prop( 'checked', true );
} else if ( lthis.utils.valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300, function() {
$( '#releve-date' ).focus();
});
if (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveStreets.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
var infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
arbre : {}
};
 
for( var i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.arbre = this.releveDatas[i];
this.lienArbreInfo( infosArbre.arbre['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveStreets.prototype.lienArbreInfo = function( numArbre ) {
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
 
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
ReleveStreets.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
$( '#taxon' ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( '#taxon' ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
ReleveStreets.prototype.getUrlAutocompletionNomsSci = function() {
var mots = $( '#taxon' ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
ReleveStreets.prototype.traiterRetourNomsSci = function( data ) {
var suggestions = [];
 
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( '#taxon' ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
ReleveStreets.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsStreets();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
ReleveStreets.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
// this.initialiserAutocompleteCommune();
// this.initialiserGoogleMap( false );
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
ReleveStreets.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
ReleveStreets.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
ReleveStreets.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
ReleveStreets.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
ReleveStreets.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Etape formulaire avec transfert carto
*/
ReleveStreets.prototype.saisirArbres = function() {
const lthis = this;
 
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off( event );
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas' ).removeClass( 'hidden' );
if ( !this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = this.utils.formaterReleveData({
obs : {
ce_utilisateur : this.infosUtilisateur.id,
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
latitude : $( '#latitude' ).val(),
longitude : $( '#longitude' ).val(),
altitude : $( '#altitude' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val(),
'zone-pietonne' : $( '#zone-pietonne input:checked' ).val(),
'pres-lampadaires' : $( '#pres-lampadaires input:checked' ).val()
}
});
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
this.releveDatas[0]['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
this.releveDatas[0]['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( var i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
 
// transfert carto
$( '#tb-geolocation' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
// Empêcher que le module carto ne bind ses events partout
$( '#zone-arbres' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '#tb-geolocation-arbres *', function( event ) {
event.preventDefault();
return false;
});
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind(this) );
}
};
 
ReleveStreets.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
var idArbre = 0,
last = false;
 
for ( var i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
 
var urlImgObs = this.serviceObsImgs + idArbre,
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveStreets.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( lthis.utils.valOk( idsImg ) ) {
var urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
// dejsonifier releve data
// mettre l'array image dans miniature(s?)-img
} else {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) + ' : ' + lthis.utils.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.log( lthis.utils.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveStreets.prototype.locationHandler = function( location ) {
const lthis = this;
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var pays = ( this.utils.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR';
var latitude = '';
var longitude = '';
var nomCommune = '';
var communeInsee = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
if ( this.utils.valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( this.utils.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( this.utils.valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( this.utils.valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
if ( this.utils.valOk( $( '#rue' ).val() ) && this.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc' ).addClass( 'hidden' );
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' ).removeClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' ).removeClass( 'erreur' ).closest( '.control-group' ).removeClass( 'error' ).find( '#error-drc' ).remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( lthis.utils.valOk( $( '#rue' ).val() ) && lthis.utils.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
console.log( 'Error location' );
}
}
 
/**
* Fonction handler de l'évenement location du module tb-geoloc étape arbres
*/
ReleveStreets.prototype.locationArbresHandler = function( location ) {
var locDatas = location.originalEvent.detail;
 
if ( this.utils.valOk( locDatas ) ) {
console.log( locDatas );
 
var rue = ( this.utils.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.utils.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var latitude = '';
var longitude = '';
 
if ( this.utils.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.utils.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.utils.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.utils.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
$( '#rue-arbres' ).val( rue );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
if ( this.utils.valOk( $( '#latitude-arbres' ).val() ) && this.utils.valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.log( 'Error location' );
}
}
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
ReleveStreets.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-arbres' ).offset().top
}, 300);
 
if ( this.validerArbres() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
this.numArbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
//formatage des données
var obsData = this.formaterFormObsData(),
arbreData = obsData.arbre;
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
ReleveStreets.prototype.formaterFormObsData = function() {
var miniatureImg = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx';
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' );
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
var obsData = {
obsNum : this.obsNbre,
arbre : {
'num-arbre' : this.numArbre,
'taxon' : {
'numNomSel' : numNomSel,
'value' : $( '#taxon' ).val(),
'nomRet' : $( '#taxon' ).data( 'nomRet' ),
'numNomRet' : $( '#taxon' ).data( 'numNomRet' ),
'nt' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' )
},
'referentiel' : referentiel,
'certitude' : $( '#certitude' ).val(),
'rue-arbres' : $( '#rue-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'surface-pied' : $( '#surface-pied' ).val(),
'equipement-pied-arbre' : $( '#equipement-pied-arbre' ).val(),
'tassement' : $( '#tassement' ).val(),
'dejections' : $( '#dejections input:checked' ).val(),
'com-arbres' : $( '#com-arbres' ).val(),
'miniature-img' : miniatureImg,
},
releve : {
'date' : this.utils.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'latitude' : $( '#latitude' ).val(),
'longitude' : $( '#longitude' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commune-insee' : $( '#commune-insee' ).val(),
'altitude' : $( '#altitude' ).val(),
'pays' : $( '#pays' ).val(),
'zone-pietonne' : $( '#zone-pietonne input:checked' ).val(),
'pres-lampadaires' : $( '#pres-lampadaires input:checked' ).val(),
'commentaires' : $( '#commentaires' ).val()
}
};
return obsData;
};
 
/**
* Résumé obs
*/
ReleveStreets.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.arbre['num-arbre'],
dateObs = this.utils.fournirDate( datasObs.releve.date ),
numNomSel = datasObs.arbre.taxon.numNomSel,
taxon = datasObs.arbre.taxon.value,
certitude = datasObs.arbre.certitude,
rue = datasObs.arbre['rue-arbres'],
commune = datasObs.releve['commune-nom'],
latitudeLongitude = '[' + datasObs.arbre['latitude-arbres'] + ' / ' + datasObs.arbre['longitude-arbres'] + ']',
miniatures = this.ajouterImgMiniatureAuTransfert( datasObs.arbre['miniature-img'] ),
commentaires = '';
 
if ( this.utils.valOk( datasObs.arbre['com-arbres'] ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.arbre['com-arbres'] +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'lieu-obs' ) +
' ' + rue +
', ' + commune +
latitudeLongitude +
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + this.utils.fournirDate( dateObs ) + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
ReleveStreets.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages ) {
const lthis = this;
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( this.utils.valOk( chargerImages ) || this.utils.valOk( $( '#miniatures img' ) ) ) {
if ( this.utils.valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
var imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee';
 
var css = ( lthis.utils.valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
 
} else {
var premiere = true;
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
ReleveStreets.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
ReleveStreets.prototype.stockerObsData = function( obsDatas ) {
const lthis = this;
var obsNum = obsDatas.obsNum,
numNomSel = obsDatas.arbre.taxon.numNomSel,
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx',
date = lthis.utils.fournirDate( obsDatas.releve.date ),
// si releve dupliqué on ne stocke pas l'image :
stockerImg = this.utils.valOk( obsDatas.arbre['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
if( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if ( stockerImg ) {
$.each( obsDatas.arbre['miniature-img'] , function(i, value) {
if( lthis.utils.valOk( value.nom ) ) {
imgNom.push( value.nom );
}
if( lthis.utils.valOk( value['b64'] ) ) {
imgB64.push( value['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
 
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsNum, {
'num_nom_sel' : numNomSel,
'nom_sel' : obsDatas.arbre.taxon.value,
'nom_ret' : obsDatas.arbre.taxon.nomRet,
'num_nom_ret' : obsDatas.arbre.taxon.numNomRet,
'num_taxon' : obsDatas.arbre.taxon.nt,
'famille' : obsDatas.arbre.taxon.famille,
'referentiel' : referentiel,
'certitude' : obsDatas.arbre.certitude,
'date' : date,
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'latitude' : obsDatas.releve.latitude,
'longitude' : obsDatas.releve.longitude,
'altitude' : obsDatas.releve.altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpArbres( obsDatas )
});
};
 
ReleveStreets.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
ReleveStreets.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveStreets.prototype.getObsChpArbres = function( datasArbres ) {
const lthis = this;
 
var retour = [],
champs = [
'rue',
'zone-pietonne',
'pres-lampadaires',
'rue-arbres',
'latitude-arbres',
'longitude-arbres',
'altitude-arbres',
'circonference',
'surface-pied',
'equipement-pied-arbre',
'tassement',
'dejections',
'com-arbres'
];
 
var cleValeur = '';
 
$.each( champs, function( i ,value ) {
cleValeur = ( 3 > i ) ? 'releve' : 'arbre';
 
if ( lthis.utils.valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
retour.push({ cle : 'num_arbre' , valeur : datasArbres.obsNum });
 
var stockerImg = this.utils.valOk( datasArbres.arbre['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.arbre['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.arbre['miniature-img'] ) });
}
 
return retour;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
ReleveStreets.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
ReleveStreets.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
// $( '#zone-liste-obs' ).addClass( 'hidden' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
$( '#bloc-form-arbres' ).addClass( 'hidden' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
ReleveStreets.prototype.chargerInfosArbre = function( numArbre ) {
const lthis = this;
var desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
var releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre],
taxon = {item:{}},
imgHtml = '';
 
$( '#arbre-nb').text( numArbre );
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
 
const SELECTS = ['certitude','equipement-pied-arbre','tassement'];
 
$.each( SELECTS, function( i, value ) {
if( !lthis.utils.valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
if ( $( this ).hasClass( 'other' ) && lthis.utils.valOk( $( this ).val() ) ) {
$( this ).text( $( this ).val() );
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val(arbreDatas['rue-arbres']);
$( '#latitude-arbres' ).val(arbreDatas['latitude-arbres']);
$( '#longitude-arbres' ).val(arbreDatas['longitude-arbres']);
$( '#altitude-arbres' ).val(arbreDatas['altitude-arbres']);
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#surface-pied' ).val( arbreDatas['surface-pied'] );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
if ( undefined != arbreDatas.dejections ) {
$( '#dejections-oui' ).prop( 'checked', arbreDatas.dejections );
$( '#dejections-non' ).prop( 'checked', !arbreDatas.dejections );
}
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveStreets.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
$(
'#taxon,'+
'#certitude,'+
'#equipement-pied-arbre,'+
'#tassement,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#surface-pied,'+
'#com-arbres,'+
'#ajouter-obs'
).prop( 'disabled', desactiver );
$( '#dejections' ).find( 'input' ).prop( 'disabled', desactiver );
 
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-arbres-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
$( '#tb-geolocation-arbres' ).remove();
$( '#geoloc-arbres' ).append(
'<tb-geolocation-element'+
' id="tb-geolocation-arbres"'+
' layer="google hybrid"'+
' zoom_init="20"'+
' lat_init="' + $( '#latitude' ).val() + '"'+
' lng_init="' + $( '#longitude' ).val() + '"'+
' marker="true"'+
' polyline="false"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="true"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
$( '#tb-geolocation-arbres' ).on( 'location', this.locationArbresHandler.bind( this ) );
// retour aux valeurs par defaut
$( '#equipement-pied-arbre .other' ).text( 'Autre' ).val( 'other' );
// $( '#equipement-pied-arbre .other' ).val( 'other' );
$(
'#certitude option,'+
'#equipement-pied-arbre option,'+
'#tassement option'
).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
$('#collect-other-equipement-pied-arbre').closest('.control-group').remove();
this.supprimerMiniatures();
$( '#dejections' ).find( 'input' ).prop( 'checked', false );
$(
'#circonference,'+
'#surface-pied,'+
'#com-arbres,'+
'#rue-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude,'+
'#equipement-pied-arbre,'+
'#tassement'
).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
ReleveStreets.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
ReleveStreets.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
ReleveStreets.prototype.supprimerObsParId = function( obsId, transmission = false ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
 
this.obsNbre -= 1;
this.numArbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '',
arbreExId = 0,
arbreId = 0;
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
 
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveStreets.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
ReleveStreets.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
ReleveStreets.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
ReleveStreets.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-arbres-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-saisir-plantes' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
ReleveStreets.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
ReleveStreets.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
ReleveStreets.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
onkeyup : function( element ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
},
unhighlight: function( element ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
ReleveStreets.prototype.validerMinMax = function( element ) {
var mMCond = new Boolean(),
minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( this.utils.valOk( element.type, true, 'number' ) || this.utils.valOk( element.type, true, 'range' ) ) &&
( this.utils.valOk( element.min ) || this.utils.valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveStreets.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
var valide = true;
 
if (
this.utils.valOk( $( '#dates-rues-communes' ).val() ) &&
this.utils.valOk( valeurDate ) &&
this.utils.valOk( valeurRue ) &&
this.utils.valOk( valeurCmn )
) {
var valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveStreets.prototype.dateRueCommuneFormValidator = function() {
var dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( this.utils.valOk( $( '#commune-nom' ).val() ) && this.utils.valOk( $( '#rue' ).val() ) );
const errorDateRue =
'<span id="error-drc" class="error">'+
this.utils.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !this.utils.valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveStreets.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
'zone-pietonne' : {
required : true,
minlength : 1
},
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbre' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1//,
//'minMaxOk' : true
},
'surface-pied' : {
required : true,
minlength : 1,
'minMaxOk' : true
},
'equipement-pied-arbre' : {
required : true,
minlength : 1
}
}
});
$( '#equipement-pied-arbre' ).change( function() {
if ( lthis.utils.valOk( $( this ).val(), false, 'other' ) ) {
$( this )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveStreets.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-observation' ).valid();
const geoloc = (
this.utils.valOk( $( '#latitude' ).val() ) &&
this.utils.valOk( $( '#longitude' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#commune-nom' ).val() )
) ;
var dateRue = true;
if ( this.utils.valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
if ( !obs ) {
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-observation' ).offset().top
}, 300 );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
this.utils.valOk( $( '#releve-date' ).val() ) &&
this.utils.valOk( $( '#rue' ).val() ) &&
this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!this.utils.valOk( $( '#releve-date' ).val() ) ||
!this.utils.valOk( $( '#rue' ).val() ) ||
!this.utils.valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && geoloc && dateRue );
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveStreets.prototype.validerArbres = function() {
const validerReleve = this.validerReleve();
const geoloc = (
this.utils.valOk( $( '#latitude-arbres' ).val() ) &&
this.utils.valOk( $( '#longitude-arbres' ).val() )
);
const piedArbre = this.utils.valOk( $( '#equipement-pied-arbre' ).val(), false, 'other' );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const obs = (
$( '#form-arbre' ).valid() &&
$( '#form-arbre-fs' ).valid() &&
piedArbre
);
 
if ( piedArbre ) {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
 
// Controle des panneaux d'infos **********************************************/
 
ReleveStreets.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
ReleveStreets.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
ReleveStreets.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
ReleveStreets.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/WidgetStreets.js
New file
0,0 → 1,328
function WidgetStreets() {
this.utils = new UtilsStreets();
this.mode = null;
this.urlRacine = window.location.origin;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.infosUtilisateur = null;
}
 
WidgetStreets.prototype.init = function() {
const lthis = this;
 
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#mdp' ).val('');
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
 
this.chargerStatutSSO();
this.connexionDprodownMenu()
$( '#deconnexion a' ).click( function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
 
$( '#formulaire' ).on( 'click', '.saisir-plantes', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetStreets.prototype.chargerStatutSSO = function() {
const lthis = this;
var urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
$( '#connexion' ).click( function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !lthis.utils.valOk( $( '#nom-complet' ).text() ) ) {
var login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
if ( lthis.utils.valOk( login ) && lthis.utils.valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
alert( lthis.utils.msgTraduction( 'non-connexion' ) );
}
}
});
} else {
urlAuth = this.urlRacine + '/widget:cel:modules/streets/test-token.json';
// $( '#connexion' ).click( function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetStreets.prototype.deconnecterUtilisateur = function() {
var urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetStreets.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
 
WidgetStreets.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
var nomComplet = '',
courriel = '',
pseudo = '',
prenom = '',
nom = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
// console.log(jetonDecode);
 
idUtilisateur = this.infosUtilisateur.id;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
pseudo = this.infosUtilisateur.pseudo;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#bloc-connexion' ).addClass( 'hidden' );
$( '#utilisateur-connecte, #anonyme' ).removeClass( 'hidden' );
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/' + pseudo.toLowerCase().replace( ' ', '-' ) );
if ( this.utils.valOk( idUtilisateur ) ) {
var nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.utils.chargerForm( nomSquelette, thisObj );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetStreets.prototype.decoderJeton = function( jeton ) {
var parts = jeton.split( '.' ),
payload = parts[1];
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetStreets.prototype.b64d = function( input ) {
var remainder = input.length % 4;
 
if ( 0 !== remainder ) {
var padlen = 4 - remainder;
 
for ( var i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
return atob( input );
};
 
WidgetStreets.prototype.urlSiteTb = function() {
var urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// Volet de profil/déconnexion
WidgetStreets.prototype.connexionDprodownMenu = function() {
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).click( function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
}
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetStreets.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'plantes' :
this.utils.chargerFormPlantes( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.chargerObsUtilisateur( squelette );
break;
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetStreets.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this;
const urlObs = $( 'body' ).data( 'obs-list' ) + '/' + this.infosUtilisateur.id;
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !lthis.utils.valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
alert( lthis.utils.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetStreets.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
if ( this.utils.valOk( dataObs ) ) {
var streetsObs = [],
datRuComun = [],
obsArbres = [],
streetsObsE = {},
count = 0;
 
$.each( dataObs, function( i, obs ) {
if( /WidgetStreets/.test( obs.mots_cles_texte ) && !/(:?plantes)/.test( obs.mots_cles_texte ) ) {
if ( lthis.utils.valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
streetsObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + streetsObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + streetsObsE.rue + obs.zone_geo );
streetsObs[count] = lthis.utils.formaterReleveData( { 'obs':obs, 'obsE':streetsObsE } );
count++;
}
obsArbres.push( lthis.utils.formaterArbreData( { 'obs':obs, 'obsE':streetsObsE } ) );
streetsObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( var indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
streetsObs[indexReleve].push( arbre );
}
}
});
if ( this.utils.valOk( streetsObs ) ) {
this.prechargerLesObs( streetsObs );
$( '#streets-obs' ).val( JSON.stringify( streetsObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
WidgetStreets.prototype.prechargerLesObs = function( streetsObs ) {
const lthis = this;
const $listReleve = $( '#list-releves' );
const TEXT_ARBRE = ' ' + this.utils.msgTraduction( 'arbre' ).toLowerCase();
 
var nbArbres = '',
texteArbre = '';
 
var releveHtml = '';
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.click( function() {
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
 
$.each( streetsObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.utils.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<div class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.utils.msgTraduction( 'dupliquer' )+
'</div> '+
'<div class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="plantes">'+
'<i class="fas fa-seedling"></i> ' + lthis.utils.msgTraduction( 'saisir-plantes' )+
'</div> '
'</td>'+
'</tr>';
});
$listReleve.append( releveHtml );
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( streetsObs.length );
};
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/PlantesStreets.js
New file
0,0 → 1,1236
/**
* Constructeur PlantesStreets par défaut
*/
function PlantesStreets() {
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.debug = null;
this.html5 = null;
this.tagProjet = null;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.serviceSaisieUrl = null;
this.chargementImageIconeUrl = null;
this.pasDePhotoIconeUrl = null;
this.nomSciReferentiel = null;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
this.serviceAutocompletionNomSciUrl = null;
this.serviceAutocompletionNomSciUrlTpl = null;
this.obsMaxNbre = null;
this.dureeMessage = null;
this.infosUtilisateur = {};
this.releveDatas = null;
this.utils = new UtilsStreets();
}
 
PlantesStreets.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
PlantesStreets.prototype.initForm = function() {
const lthis = this;
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.log( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
PlantesStreets.prototype.initEvts = function() {
const lthis = this;
 
var releveDatas = [];
this.infosUtilisateur.id = $( '#id_utilisateur' ).val();
this.infosUtilisateur.prenom = $( '#prenom' ).val();
this.infosUtilisateur.nom = $( '#nom' ).val();
 
$( '#bouton-nouveau-releve' ).click( function() {
$( '#releve-data' ).val( '' );
if ( lthis.utils.valOk( lthis.infosUtilisateur.id ) ) {
lthis.utils.chargerForm( 'arbres', lthis );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
 
if( this.utils.valOk( this.infosUtilisateur.id ) && this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( this.utils.valOk( this.releveDatas[0].utilisateur, true, this.infosUtilisateur.id ) ) {
 
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( e ) {
arreter( e );
 
var options = {
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
 
$( '#miniature' ).append( '<img id="miniature-chargement" class="miniature" alt="chargement" src="' + this.chargementImageIconeUrl + '"/>' );
 
var imgCheminTmp = $( '#fichier' ).val(),
formatImgOk = lthis.verifierFormat( imgCheminTmp ),
imgNonDupliquee = lthis.verifierDuplication( imgCheminTmp );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
window.alert( lthis.utils.msgTraduction( 'format-non-supporte' ) + ' ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
window.alert( lthis.utils.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
});
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
// défilement des miniatures dans le résumé obs
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
suppObs( that );
});
 
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
 
// chargement plantes
$( '#bouton-poursuivre' ).on( 'click', function() {
var nomSquelette = $( this ).data( 'load' );
$( '#charger-form' ).data( 'load', nomSquelette );
lthis.utils.chargerForm( nomSquelette, lthis );
$( 'html, body' ).stop().animate({
scrollTop: $( '#charger-form' ).offset().top
}, 300 );
});
 
// Alertes et tooltips
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
// $( '.has-tooltip' ).tooltip( 'enable' );
}
}
};
 
// Préchargement des infos-obs ************************************************/
 
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
PlantesStreets.prototype.chargerSquelette = function( squelette, nomSquelette ) {
switch( nomSquelette ) {
case 'plantes' :
this.utils.chargerFormPlantes( squelette, nomSquelette );
break;
case 'arbres' :
default :
this.reinitialiserWidget( squelette );
break;
}
};
 
PlantesStreets.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.utils.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
// uniquement utilisé si taxon-liste ******************************************/
// Affiche/Cache le champ taxon
PlantesStreets.prototype.surChangementTaxonListe = function() {
const utils = new UtilsStreets();
if ( utils.valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.focus()
.on( 'change', function() {
if( !utils.valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
PlantesStreets.prototype.surChangementValeurTaxon = function() {
var numNomSel = 0;
 
if( this.utils.valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
var optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
// $( '#taxon' ).val( $( '#taxon-liste' ).val() );
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
numNomSel = $( '#taxon' ).data( 'numNomSel' );
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !this.utils.valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
PlantesStreets.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
 
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
 
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( lthis.utils.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
PlantesStreets.prototype.getUrlAutocompletionNomsSci = function() {
var taxonSelecteur = '#taxon';
if ( this.utils.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
var mots = $( taxonSelecteur ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
PlantesStreets.prototype.traiterRetourNomsSci = function( data ) {
var taxonSelecteur = '#taxon';
var suggestions = [];
 
if ( this.utils.valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
PlantesStreets.prototype.surAutocompletionTaxon = function( event, ui ) {
const utils = new UtilsStreets();
 
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
PlantesStreets.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
 
if ( this.utils.valOk( message ) ) {
$( '#miniature-msg' ).append( message );
} else {
$( '#miniatures' ).append( this.creerWidgetMiniature( reponse ) );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
PlantesStreets.prototype.creerWidgetMiniature = function( reponse ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
var html =
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + imgNom + '" src="' + miniatureUrl + '"/>'+
'<a class="effacer-miniature"><i class="fas fa-times"></i></a>'+
'</div>';
 
return html;
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
PlantesStreets.prototype.verifierFormat = function( cheminTmp ) {
var parts = cheminTmp.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
PlantesStreets.prototype.verifierDuplication = function( cheminTmp ) {
const lthis = this;
var parts = cheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.utils.valOk ( $( this ).attr ( 'alt' ), true, nomImage ) ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' );
if ( lthis.utils.valOk ( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
PlantesStreets.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Ajouter Obs ****************************************************************/
 
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
PlantesStreets.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( 'html, body' ).stop().animate({
scrollTop: $( '#zone-plantes' ).offset().top
}, 300);
 
if ( this.validerPlantes() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
var obsData = this.formaterFormObsData();
 
// Résumé obs et stockage en data de "#list-obs" pour envoi
this.afficherObs( obsData );
this.stockerObsData( obsData );
this.reinitialiserFormPlantes();
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
PlantesStreets.prototype.reinitialiserFormPlantes = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData( 'value' )
.removeData( 'numNomSel' )
.removeData( 'nomRet' )
.removeData( 'numNomRet' )
.removeData( 'nt' )
.removeData( 'famille' );
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
PlantesStreets.prototype.formaterFormObsData = function() {
var numArbre = $( '#choisir-arbre' ).val(),
miniatureImg = [],
imgB64 = [],
imgNom = [],
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
referentiel = ( !this.utils.valOk( numNomSel ) ) ? 'autre' : 'bdtfx';
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
var obsData = {
obsNum : this.obsNbre,
numArbre : numArbre,
plante : {
'num_nom_sel' : numNomSel,
'nom_sel' : $( '#taxon' ).val(),
'nom_ret' : $( '#taxon' ).data( 'nomRet' ),
'num_nom_ret' : $( '#taxon' ).data( 'numNomRet' ),
'num_taxon' : $( '#taxon' ).data( 'nt' ),
'famille' : $( '#taxon' ).data( 'famille' ),
'referentiel' : referentiel,
'certitude' : ( !this.utils.valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner',
'date' : this.utils.fournirDate( $( '#obs-date' ).val() ),
'notes' : $( '#commentaire' ).val(),
'pays' : this.releveDatas[0].pays,
'commune_nom' : this.releveDatas[0]['commune-nom'],
'commune_code_insee' : this.releveDatas[0]['commune-insee'],
'latitude' : this.releveDatas[numArbre]['latitude-arbres'],
'longitude' : this.releveDatas[numArbre]['longitude-arbres'],
'altitude' : this.releveDatas[numArbre]['altitude-arbres'],
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
]
}
};
return obsData;
};
 
/**
* Résumé obs
*/
PlantesStreets.prototype.afficherObs = function( datasObs ) {
var obsNum = datasObs.obsNum,
numArbre = datasObs.numArbre,
dateObs = datasObs.plante.date,
numNomSel = datasObs.plante['num_nom_sel'],
taxon = datasObs.plante['nom_sel'],
certitude = datasObs.plante.certitude,
miniatures = this.ajouterImgMiniatureAuTransfert(),
commentaires = '';
 
if ( this.utils.valOk( datasObs.plante.notes ) ) {
commentaires =
this.utils.msgTraduction( 'commentaires' ) +
' : <span>'+
datasObs.plante.notes +
'</span> ';
}
 
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
 
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ' col-md-4 col-sm-5';
responsivDiff5 = ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.utils.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.utils.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures+
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
'<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>' +
' <span class="nom-sci">' + taxon + '</span> '+
this.ajouterNumNomSel( numNomSel ) +
' [certitude : ' + certitude + ']'+
' ' + this.utils.msgTraduction( 'obs-le' ) + ' ' +
'<span class="date">' + dateObs + '</span>'+
'</li>'+
'<li>'+
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
PlantesStreets.prototype.ajouterImgMiniatureAuTransfert = function() {
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
premiere = true,
centre = '';
defilVisible = '';
 
if ( this.utils.valOk( $( '#miniatures img' ) ) ) {
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
if ( 1 === $( '#miniatures img' ).length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
PlantesStreets.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.utils.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.utils.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
PlantesStreets.prototype.stockerObsData = function( datasObs ) {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + datasObs.obsNum, datasObs.plante );
};
 
PlantesStreets.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
PlantesStreets.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
PlantesStreets.prototype.supprimerMiniatures = function() {
$( '#miniatures' ).empty();
$( '#miniature-msg' ).empty();
};
 
PlantesStreets.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
};
 
PlantesStreets.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
PlantesStreets.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
PlantesStreets.prototype.supprimerObsParId = function( obsId ) {
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
 
obsId = parseInt(obsId);
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '';
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
if ( this.utils.valOk( listObsData[ exIndexObs ] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[ exIndexObs ] );
}
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt( id );
}
}
};
 
PlantesStreets.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.log( observations );
}
if ( !this.utils.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
$( window ).on( 'beforeunload', function( event ) {
return lthis.utils.msgTraduction( 'rechargement-page' );
});
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
PlantesStreets.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
 
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'projet' : this.tagProjet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : this.infosUtilisateur.id,
prenom : this.infosUtilisateur.prenom,
nom : this.infosUtilisateur.nom,
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
PlantesStreets.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur' ).remove();
$( '.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( data, textStatus, jqXHR ) {
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.utils.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagProjet+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
// mise en valeur de l'obs en erreur + scroll vers celle ci en changeant le hash
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
// window.location.hash = 'obs' + idObs;
 
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
$( '#chargement,#bloc-gauche,#bloc-controle-liste-obs' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok,#bouton-poursuivre' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
PlantesStreets.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.utils.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
PlantesStreets.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.utils.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
PlantesStreets.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) );
},
lthis.utils.msgTraduction( 'date-incomplete' )
);
 
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.utils.valOk( value ) );
},
''
);
 
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
element.after( error );
},
onfocusout: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( lthis.utils.valOk( element.id, false, 'taxon' ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
PlantesStreets.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.utils.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.utils.valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-plantes' ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).click( function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
PlantesStreets.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
PlantesStreets.prototype.validerPlantes = function() {
const images = this.utils.valOk( $( '#miniatures .miniature' ) );
const taxon = this.utils.valOk( $( '#taxon' ).val() );
const taxonOuImage = this.validerTaxonImage( taxon, images );
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-plantes' ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
 
// Controle des panneaux d'infos **********************************************/
 
PlantesStreets.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
$( 'html, body' ).stop().animate({scrollTop: $( selecteur ).offset().top}, 300);
};
 
PlantesStreets.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
PlantesStreets.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
// lib hors objet --
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
function arreter( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
}
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
function extraireEnteteDebug( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
}
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
PlantesStreets.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js
New file
0,0 → 1,4
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+rLv":function(e,t,n){var r=n("dyZX").document;e.exports=r&&r.documentElement},"0/R4":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"0TWp":function(e,t,n){!function(e,t){t()}(0,function(){"use strict";!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(o||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var i,a=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(i,a){if(S.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!e["__Zone_disable_"+i]){var c="Zone:"+i;n(c),S[i]=a(e,t,D),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{P=P.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{P=P.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==_||e.type!==O&&e.type!==x){var r=e.state!=b;r&&e._transitionTo(b,k),e.runCount++;var o=j;j=e,P={parent:P,zone:this};try{e.type==x&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==_&&e.state!==T&&(e.type==O||e.data&&e.data.isPeriodic?r&&e._transitionTo(k,b):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(_,b,_))),P=P.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(m,_);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(T,m,_),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==m&&e._transitionTo(k,m),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new s(E,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new s(x,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new s(O,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(w,k,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(T,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(_,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t.__symbol__=C,t}(),c={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");d(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),s=function(){function t(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=n===O&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,u,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),Z++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==Z&&y(),Z--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(_,m)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==_&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),l=C("setTimeout"),f=C("Promise"),p=C("then"),h=[],v=!1;function d(t){if(0===Z&&0===h.length)if(i||e[f]&&(i=e[f].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,y)}else e[l](y,0);t&&h.push(t)}function y(){if(!v){for(v=!0;h.length;){var e=h;h=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){D.onUnhandledError(e)}}}D.microtaskDrainDone(),v=!1}}var g={name:"NO ZONE"},_="notScheduled",m="scheduling",k="scheduled",b="running",w="canceling",T="unknown",E="microTask",x="macroTask",O="eventTask",S={},D={symbol:C,currentZoneFrame:function(){return P},onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:d,showUncaughtError:function(){return!a[C("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:z,patchMethod:function(){return z},bindArguments:function(){return[]},patchThen:function(){return z},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(i=e.resolve(0))}},P={parent:null,zone:new a(null,null)},j=null,Z=0;function z(){}function C(e){return"__zone_symbol__"+e}r("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var e=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),l="__creationTrace__";r.onUnhandledError=function(e){if(r.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},r.microtaskDrainDone=function(){for(;c.length;)for(var e=function(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){p(e)}};c.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){r.onUnhandledError(e);try{var t=n[f];t&&"function"==typeof t&&t.call(this,e)}catch(e){}}function h(e){return e&&e.then}function v(e){return e}function d(e){return M.reject(e)}var y=a("state"),g=a("value"),_=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),b="Promise.then",w=null,T=!0,E=!1,x=0;function O(e,t){return function(n){try{j(e,t,n)}catch(t){j(e,!1,t)}}}var S=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",P=a("currentTaskTrace");function j(e,t,o){var a=S();if(e===o)throw new TypeError(D);if(e[y]===w){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(t){return a(function(){j(e,!1,t)})(),e}if(t!==E&&o instanceof M&&o.hasOwnProperty(y)&&o.hasOwnProperty(g)&&o[y]!==w)z(o),j(e,o[y],o[g]);else if(t!==E&&"function"==typeof u)try{u.call(o,a(O(e,t)),a(O(e,!1)))}catch(t){a(function(){j(e,!1,t)})()}else{e[y]=t;var s=e[g];if(e[g]=o,e[_]===_&&t===T&&(e[y]=e[k],e[g]=e[m]),t===E&&o instanceof Error){var f=n.currentTask&&n.currentTask.data&&n.currentTask.data[l];f&&i(o,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<s.length;)C(e,s[p++],s[p++],s[p++],s[p++]);if(0==s.length&&t==E){e[y]=x;try{throw new Error("Uncaught (in promise): "+function(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(t){var h=t;h.rejection=o,h.promise=e,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}return e}var Z=a("rejectionHandledHandler");function z(e){if(e[y]===x){try{var t=n[Z];t&&"function"==typeof t&&t.call(this,{rejection:e[g],promise:e})}catch(e){}e[y]=E;for(var r=0;r<c.length;r++)e===c[r].promise&&c.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[y],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=n&&_===n[_];o&&(n[m]=r,n[k]=i);var c=t.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);j(n,!0,c)}catch(e){j(n,!1,e)}},n)}var M=function(){function t(e){if(!(this instanceof t))throw new Error("Must be an instanceof Promise.");this[y]=w,this[g]=[];try{e&&e(O(this,T),O(this,E))}catch(e){j(this,!1,e)}}return t.toString=function(){return"function ZoneAwarePromise() { [native code] }"},t.resolve=function(e){return j(new this(null),T,e)},t.reject=function(e){return j(new this(null),E,e)},t.race=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t});function c(e){a&&(a=o(e))}function u(e){a&&(a=i(e))}try{for(var s=e(t),l=s.next();!l.done;l=s.next()){var f=l.value;h(f)||(f=this.resolve(f)),f.then(c,u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a},t.all=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),c=2,u=0,s=[],l=function(e){h(e)||(e=f.resolve(e));var t=u;e.then(function(e){s[t]=e,0==--c&&o(s)},i),c++,u++},f=this;try{for(var p=e(t),v=p.next();!v.done;v=p.next())l(v.value)}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(s),a},t.prototype.then=function(e,t){var r=new this.constructor(null),o=n.current;return this[y]==w?this[g].push(o,r,e,t):C(this,o,r,e,t),r},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){var t=new this.constructor(null);t[_]=_;var r=n.current;return this[y]==w?this[g].push(r,t,e,e):C(this,r,t,e,e),t},t}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise"),R=o(t,"Promise");R&&!R.configurable||(R&&delete R.writable,R&&delete R.value,R||(R={configurable:!0,enumerable:!0}),R.get=function(){return t[F]?t[F]:t[u]},R.set=function(e){e===M?t[F]=e:(t[u]=e,e.prototype[s]||A(e),r.setNativePromise(e))},i(t,"Promise",R)),t.Promise=M;var L=a("thenPatched");function A(e){var t=e.prototype,n=o(t,"then");if(!n||!1!==n.writable&&n.configurable){var r=t.then;t[s]=r,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){r.call(n,e,t)}).then(e,t)},e[L]=!0}}return r.patchThen=A,I&&A(I),Promise[n.__symbol__("uncaughtPromiseErrors")]=c,M}),Zone.__load_patch("fetch",function(e,t,n){var r=e.fetch,o=e.Promise,i=n.symbol("thenPatched"),a=n.symbol("fetchTaskScheduling"),c=n.symbol("fetchTaskAborting");if("function"==typeof r){var u=e.AbortController,s="function"==typeof u,l=null;s&&(e.AbortController=function(){var e=new u;return e.signal.abortController=e,e},l=n.patchMethod(u.prototype,"abort",function(e){return function(t,n){return t.task?t.task.zone.cancelTask(t.task):e.apply(t,n)}}));var f=function(){};e.fetch=function(){var e=this,u=Array.prototype.slice.call(arguments),p=u.length>1?u[1]:null,h=p&&p.signal;return new Promise(function(p,v){var d=t.current.scheduleMacroTask("fetch",f,u,function(){var c,s=t.current;try{s[a]=!0,c=r.apply(e,u)}catch(e){return void v(e)}finally{s[a]=!1}if(!(c instanceof o)){var l=c.constructor;l[i]||n.patchThen(l)}c.then(function(e){"notScheduled"!==d.state&&d.invoke(),p(e)},function(e){"notScheduled"!==d.state&&d.invoke(),v(e)})},function(){if(s)if(h&&h.abortController&&!h.aborted&&"function"==typeof h.abortController.abort&&l)try{t.current[c]=!0,l.call(h.abortController)}finally{t.current[c]=!1}else v("cancel fetch need a AbortController.signal");else v("No AbortController supported, can not cancel fetch")});h&&h.abortController&&(h.abortController.task=d)})}}});var t=Object.getOwnPropertyDescriptor,n=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",u=Zone.__symbol__(a),s=Zone.__symbol__(c),l="true",f="false",p="__zone_symbol__";function h(e,t){return Zone.current.wrap(e,t)}function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,y="undefined"!=typeof window,g=y?window:void 0,_=y&&g||"object"==typeof self&&self||global,m="removeAttribute",k=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=h(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),x=!E&&!T&&!(!y||!g.HTMLElement),O=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!y||!g.HTMLElement),S={},D=function(e){if(e=e||_.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||_,o=r[t];return x&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():void 0==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function P(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!e.hasOwnProperty(a)||!e[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=S[s];l||(l=S[s]=d("ON_PROPERTY"+s)),i.set=function(t){var n=this;n||e!==_||(n=_),n&&(n[l]&&n.removeEventListener(s,D),u&&u.apply(n,k),"function"==typeof t?(n[l]=t,n.addEventListener(s,D,!1)):n[l]=null)},i.get=function(){var t=this;if(t||e!==_||(t=_),!t)return null;var n=t[l];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},n(e,r,i),e[a]=!0}}}function j(e,t,n){if(t)for(var r=0;r<t.length;r++)P(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)P(e,o[a],n)}}var Z=d("originalInstance");function z(e){var t=_[e];if(t){_[d(e)]=t,_[e]=function(){var n=b(arguments,e);switch(n.length){case 0:this[Z]=new t;break;case 1:this[Z]=new t(n[0]);break;case 2:this[Z]=new t(n[0],n[1]);break;case 3:this[Z]=new t(n[0],n[1],n[2]);break;case 4:this[Z]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},I(_[e],t);var r,o=new t(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof o[t]?_[e].prototype[t]=function(){return this[Z][t].apply(this[Z],arguments)}:n(_[e].prototype,t,{set:function(n){"function"==typeof n?(this[Z][t]=h(n,e+"."+t),I(this[Z][t],n)):this[Z][t]=n},get:function(){return this[Z][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(_[e][r]=t[r])}}var C=!1;function M(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&(i=e);var a=d(n),c=null;if(i&&!(c=i[a])&&(c=i[a]=i[n],w(i&&t(i,n)))){var u=o(c,a,n);i[n]=function(){return u(this,arguments)},I(i[n],c),C&&function(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,i[n])}return c}function I(e,t){e[d("OriginalDelegate")]=t}var F=!1,R=!1;function L(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(F)return R;F=!0;try{var e=g.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(R=!0),R}catch(e){}}Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.apply(this[n],arguments):Object.prototype.toString.call(i);if(this===Promise){var a=e[r];if(a)return t.apply(a,arguments)}if(this===Error){var c=e[o];if(c)return t.apply(c,arguments)}}return t.apply(this,arguments)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.apply(this,arguments)}});var q=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){q=!1}var H={useG:!0},W={},K={},U=/^__zone_symbol__(\w+)(true|false)$/,X="__zone_symbol__propagationStopped";function B(e,t,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",y="prependListener",g="."+y+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][f]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}};function b(t,n){if(!t)return!1;var a=!0;n&&void 0!==n.useG&&(a=n.useG);var c=n&&n.vh,_=!0;n&&void 0!==n.chkDup&&(_=n.chkDup);var b=!1;n&&void 0!==n.rt&&(b=n.rt);for(var w=t;w&&!w.hasOwnProperty(o);)w=r(w);if(!w&&t[o]&&(w=t),!w)return!1;if(w[h])return!1;var T,x=n&&n.eventNameToString,O={},S=w[h]=w[o],D=w[d(i)]=w[i],P=w[d(u)]=w[u],j=w[d(s)]=w[s];function Z(e){q||"boolean"==typeof O.options||void 0===O.options||null===O.options||(e.options=!!O.options.capture,O.options=e.options)}n&&n.prepend&&(T=w[d(n.prepend)]=w[n.prepend]);var z=a?function(e){if(!O.isExisting)return Z(e),S.call(O.target,O.eventName,O.capture?k:m,O.options)}:function(e){return Z(e),S.call(O.target,O.eventName,e.invoke,O.options)},C=a?function(e){if(!e.isRemoved){var t=W[e.eventName],n=void 0;t&&(n=t[e.capture?l:f]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:m,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},M=n&&n.diff?n.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},F=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],R=function(t,n,r,o,i,u){return void 0===i&&(i=!1),void 0===u&&(u=!1),function(){var s=this||e,h=arguments[0],v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);d=!0}if(!c||c(t,v,s,arguments)){var y,g=arguments[2];if(F)for(var m=0;m<F.length;m++)if(h===F[m])return t.apply(this,arguments);var k=!1;void 0===g?y=!1:!0===g?y=!0:!1===g?y=!1:(y=!!g&&!!g.capture,k=!!g&&!!g.once);var b,w=Zone.current,T=W[h];if(T)b=T[y?l:f];else{var S=(x?x(h):h)+f,D=(x?x(h):h)+l,P=p+S,j=p+D;W[h]={},W[h][f]=P,W[h][l]=j,b=y?j:P}var Z,z=s[b],C=!1;if(z){if(C=!0,_)for(m=0;m<z.length;m++)if(M(z[m],v))return}else z=s[b]=[];var I=s.constructor.name,R=K[I];R&&(Z=R[h]),Z||(Z=I+n+(x?x(h):h)),O.options=g,k&&(O.options.once=!1),O.target=s,O.capture=y,O.eventName=h,O.isExisting=C;var L=a?H:void 0;L&&(L.taskData=O);var A=w.scheduleEventTask(Z,v,L,r,o);return O.target=null,L&&(L.taskData=null),k&&(g.once=!0),(q||"boolean"!=typeof A.options)&&(A.options=g),A.target=s,A.capture=y,A.eventName=h,d&&(A.originalDelegate=v),u?z.unshift(A):z.push(A),i?s:void 0}}};return w[o]=R(S,v,z,C,b),T&&(w[y]=R(T,g,function(e){return T.call(O.target,O.eventName,e.invoke,O.options)},C,b,!0)),w[i]=function(){var t,n=this||e,r=arguments[0],o=arguments[2];t=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);var i=arguments[1];if(!i)return D.apply(this,arguments);if(!c||c(D,i,n,arguments)){var a,u=W[r];u&&(a=u[t?l:f]);var s=a&&n[a];if(s)for(var p=0;p<s.length;p++){var h=s[p];if(M(h,i))return s.splice(p,1),h.isRemoved=!0,0===s.length&&(h.allRemoved=!0,n[a]=null),h.zone.cancelTask(h),b?n:void 0}return D.apply(this,arguments)}},w[u]=function(){for(var t=arguments[0],n=[],r=Y(this||e,x?x(t):t),o=0;o<r.length;o++){var i=r[o];n.push(i.originalDelegate?i.originalDelegate:i.callback)}return n},w[s]=function(){var t=this||e,n=arguments[0];if(n){var r=W[n];if(r){var o=t[r[f]],a=t[r[l]];if(o){var c=o.slice();for(h=0;h<c.length;h++)this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}if(a)for(c=a.slice(),h=0;h<c.length;h++){var u;this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}}}else{for(var p=Object.keys(t),h=0;h<p.length;h++){var v=U.exec(p[h]),d=v&&v[1];d&&"removeListener"!==d&&this[s].call(this,d)}this[s].call(this,"removeListener")}if(b)return this},I(w[o],S),I(w[i],D),j&&I(w[s],j),P&&I(w[u],P),!0}for(var w=[],T=0;T<t.length;T++)w[T]=b(t[T],n);return w}function Y(e,t){var n=[];for(var r in e){var o=U.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var c=0;c<a.length;c++)n.push(a[c])}}return n}var J=d("zoneTask");function V(e,t,n,r){var o=null,i=null;n+=r;var a={};function c(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[J]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=v(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var l=s.data.handleId;return"number"==typeof l?a[l]=s:l&&(l[J]=s),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(s.ref=l.ref.bind(l),s.unref=l.unref.bind(l)),"number"==typeof l||l?l:s}return n.apply(e,i)}}),i=M(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[J])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[J]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}var G=Object[d("defineProperty")]=Object.defineProperty,Q=Object[d("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=d("unconfigurables");function te(e,t){return e&&e[ee]&&e[ee][t]}function ne(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||G(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function re(e,t,n,r){try{return G(e,t,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return G(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}var oe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ie=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ce=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],le=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],pe=["error","message"],he=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],oe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ve(e,t,n,r){e&&j(e,function(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}(e,t,n),r)}function de(e,u){if(!E||O){var s="undefined"!=typeof WebSocket;if(function(){if((x||O)&&!t(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=t(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var r=XMLHttpRequest.prototype,o=t(r,"onreadystatechange");if(o){n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var i=!!(c=new XMLHttpRequest).onreadystatechange;return n(r,"onreadystatechange",o||{}),i}var a=d("fake");n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[a]},set:function(e){this[a]=e}});var c,u=function(){};return(c=new XMLHttpRequest).onreadystatechange=u,i=c[a]===u,c.onreadystatechange=null,i}()){var l=u.__Zone_ignore_on_properties;if(x){var f=window,p=L?[{target:f,ignoreProperties:["error"]}]:[];ve(f,he.concat(["messageerror"]),l?l.concat(p):l,r(f)),ve(Document.prototype,he,l),void 0!==f.SVGElement&&ve(f.SVGElement.prototype,he,l),ve(Element.prototype,he,l),ve(HTMLElement.prototype,he,l),ve(HTMLMediaElement.prototype,ie,l),ve(HTMLFrameSetElement.prototype,oe.concat(ce),l),ve(HTMLBodyElement.prototype,oe.concat(ce),l),ve(HTMLFrameElement.prototype,ae,l),ve(HTMLIFrameElement.prototype,ae,l);var v=f.HTMLMarqueeElement;v&&ve(v.prototype,ue,l);var y=f.Worker;y&&ve(y.prototype,pe,l)}ve(XMLHttpRequest.prototype,se,l);var g=u.XMLHttpRequestEventTarget;g&&ve(g&&g.prototype,se,l),"undefined"!=typeof IDBIndex&&(ve(IDBIndex.prototype,le,l),ve(IDBRequest.prototype,le,l),ve(IDBOpenDBRequest.prototype,le,l),ve(IDBDatabase.prototype,le,l),ve(IDBTransaction.prototype,le,l),ve(IDBCursor.prototype,le,l)),s&&ve(WebSocket.prototype,fe,l)}else!function(){for(var e=function(e){var t=he[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][ye]&&((t=h(o[n],r))[ye]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<he.length;t++)e(t)}(),z("XMLHttpRequest"),s&&function(e,n){var r=n.WebSocket;n.EventTarget||B(n,[r.prototype]),n.WebSocket=function(e,n){var u,s,l=arguments.length>1?new r(e,n):new r(e),f=t(l,"onmessage");return f&&!1===f.configurable?(u=o(l),s=l,[a,c,"send","close"].forEach(function(e){u[e]=function(){var t=i.call(arguments);if(e===a||e===c){var n=t.length>0?t[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);l[r]=u[r]}}return l[e].apply(l,t)}})):u=l,j(u,["close","error","message","open"],s),u};var u=n.WebSocket;for(var s in r)u[s]=r[s]}(0,u)}}var ye=d("unbound");function ge(e,n,r,o){var i=Zone.__symbol__(r);if(!e[i]){var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t(i,e);a&&a.value?(a.value=h(a.value,o),function(t,n,r){var o=a.configurable;re(t,e,ne(t,e,a),o)}(c.prototype)):i[e]=h(i[e],o)}else i[e]&&(i[e]=h(i[e],o))}),a.call(e,i,c,u)},I(e[r],a)}}Zone.__load_patch("util",function(e,t,n){n.patchOnProperties=j,n.patchMethod=M,n.bindArguments=b}),Zone.__load_patch("timers",function(e){V(e,"set","clear","Timeout"),V(e,"set","clear","Interval"),V(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){V(e,"request","cancel","AnimationFrame"),V(e,"mozRequest","mozCancel","AnimationFrame"),V(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,i){return t.current.run(n,e,i,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){var r=t.__symbol__("BLACK_LISTED_EVENTS");e[r]&&(t[r]=e[r]),function(e,t){!function(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[X]=!0,e&&e.apply(t,n)}})}(e,t)}(e,n),function(e,t){var n="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",r="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),o=[],i=e.wtf,a=n.split(",");i?o=a.map(function(e){return"HTML"+e+"Element"}).concat(r):e.EventTarget?o.push("EventTarget"):o=r;for(var c=e.__Zone_disable_IE_check||!1,u=e.__Zone_enable_cross_context_check||!1,s=A(),h="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v=0;v<he.length;v++){var d=p+((k=he[v])+f),y=p+(k+l);W[k]={},W[k][f]=d,W[k][l]=y}for(v=0;v<n.length;v++)for(var g=a[v],_=K[g]={},m=0;m<he.length;m++){var k;_[k=he[m]]=g+".addEventListener:"+k}var b=[];for(v=0;v<o.length;v++){var w=e[o[v]];b.push(w&&w.prototype)}B(e,b,{vh:function(e,t,n,r){if(!c&&s){if(u)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}else if(u)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0}}),t.patchEventTarget=B}(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){de(0,e),Object.defineProperty=function(e,t,n){if(te(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ne(e,t,n)),re(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ne(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&te(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(e,t,n){(x||O)&&"registerElement"in e.document&&ge(document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"]),(x||O)&&"customElements"in e&&ge(e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}),Zone.__load_patch("canvas",function(e){var t=e.HTMLCanvasElement;void 0!==t&&t.prototype&&t.prototype.toBlob&&function(e,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=M(t.prototype,"toBlob",function(e){return function(t,n){var r=function(e,t){return{name:"HTMLCanvasElement.toBlob",target:e,cbIdx:0,args:t}}(t,n);return r.cbIdx>=0&&"function"==typeof n[r.cbIdx]?v(r.name,n[r.cbIdx],r,i):e.apply(t,n)}})}()}),Zone.__load_patch("XHR",function(e,t){!function(l){var f=XMLHttpRequest.prototype,p=f[u],h=f[s];if(!p){var y=e.XMLHttpRequestEventTarget;if(y){var g=y.prototype;p=g[u],h=g[s]}}var _="readystatechange",m="scheduled";function k(e){var t=e.data,r=t.target;r[i]=!1,r[c]=!1;var a=r[o];p||(p=r[u],h=r[s]),a&&h.call(r,_,a);var l=r[o]=function(){if(r.readyState===r.DONE)if(!t.aborted&&r[i]&&e.state===m){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=e.invoke;e.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i<n.length;i++)n[i]===e&&n.splice(i,1);t.aborted||e.state!==m||o.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==r[i]||(r[c]=!0)};return p.call(r,_,l),r[n]||(r[n]=e),O.apply(r,t.args),r[i]=!0,e}function b(){}function w(e){var t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}var T=M(f,"open",function(){return function(e,t){return e[r]=0==t[2],e[a]=t[1],T.apply(e,t)}}),E=d("fetchTaskAborting"),x=d("fetchTaskScheduling"),O=M(f,"send",function(){return function(e,n){if(!0===t.current[x])return O.apply(e,n);if(e[r])return O.apply(e,n);var o={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},i=v("XMLHttpRequest.send",b,o,k,w);e&&!0===e[c]&&!o.aborted&&i.state===m&&i.invoke()}}),S=M(f,"abort",function(){return function(e,r){var o=e[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[E])return S.apply(e,r)}})}();var n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),a=d("xhrURL"),c=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(e){e.navigator&&e.navigator.geolocation&&function(e,n){for(var r=e.constructor.name,o=function(o){var i=n[o],a=e[i];if(a){if(!w(t(e,i)))return"continue";e[i]=function(e){var t=function(){return e.apply(this,b(arguments,r+"."+i))};return I(t,e),t}(a)}},i=0;i<n.length;i++)o(i)}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){Y(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var i=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})})},1:function(e,t,n){e.exports=n("hN/g")},"1TsA":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"2OiF":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"3Lyj":function(e,t,n){var r=n("KroJ");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},"45Tv":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(e,t,n){if(a(e,t,n))return c(e,t,n);var r=i(t);return null!==r?s(e,r,n):void 0};r.exp({getMetadata:function(e,t){return s(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},"49D4":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},"4LiD":function(e,t,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");e.exports=function(e,t,n,d,y,g){var _=r[e],m=_,k=y?"set":"add",b=m&&m.prototype,w={},T=function(e){var t=b[e];i(b,e,"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof m&&(g||b.forEach&&!f(function(){(new m).entries().next()}))){var E=new m,x=E[k](g?{}:-0,1)!=E,O=f(function(){E.has(1)}),S=p(function(e){new m(e)}),D=!g&&f(function(){for(var e=new m,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((m=t(function(t,n){s(t,m,e);var r=v(new _,t,m);return void 0!=n&&u(n,y,r[k],r),r})).prototype=b,b.constructor=m),(O||D)&&(T("delete"),T("has"),y&&T("get")),(D||x)&&T(k),g&&b.clear&&delete b.clear}else m=d.getConstructor(t,e,y,k),a(m.prototype,n),c.NEED=!0;return h(m,e),w[e]=m,o(o.G+o.W+o.F*(m!=_),w),g||d.setStrong(m,e,y),m}},"4R4u":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"6FMO":function(e,t,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},"7Dlh":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},"9AAn":function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},"9gX7":function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},Afnz:function(e,t,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,v,d,y,g){u(n,t,v);var _,m,k,b=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",T="values"==d,E=!1,x=e.prototype,O=x[f]||x["@@iterator"]||d&&x[d],S=O||b(d),D=d?T?b("entries"):S:void 0,P="Array"==t&&x.entries||O;if(P&&(k=l(P.call(new e)))!==Object.prototype&&k.next&&(s(k,w,!0),r||"function"==typeof k[f]||a(k,f,h)),T&&O&&"values"!==O.name&&(E=!0,S=function(){return O.call(this)}),r&&!g||!p&&!E&&x[f]||a(x,f,S),c[t]=S,c[w]=h,d)if(_={values:T?S:b("values"),keys:y?S:b("keys"),entries:D},g)for(m in _)m in x||i(x,m,_[m]);else o(o.P+o.F*(p||E),t,_);return _}},BqfV:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},CkkT:function(e,t,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");e.exports=function(e,t){var n=1==e,u=2==e,s=3==e,l=4==e,f=6==e,p=5==e||f,h=t||c;return function(t,c,v){for(var d,y,g=i(t),_=o(g),m=r(c,v,3),k=a(_.length),b=0,w=n?h(t,k):u?h(t,0):void 0;k>b;b++)if((p||b in _)&&(y=m(d=_[b],b,g),e))if(n)w[b]=y;else if(y)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(l)return!1;return f?-1:s||l?l:w}}},DVgA:function(e,t,n){var r=n("zhAb"),o=n("4R4u");e.exports=Object.keys||function(e){return r(e,o)}},EK0E:function(e,t,n){"use strict";var r,o=n("CkkT")(0),i=n("KroJ"),a=n("Z6vF"),c=n("czNK"),u=n("ZD67"),s=n("0/R4"),l=n("eeVq"),f=n("s5qY"),p=a.getWeak,h=Object.isExtensible,v=u.ufstore,d={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(s(e)){var t=p(e);return!0===t?v(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},_=e.exports=n("4LiD")("WeakMap",y,g,u,!0,!0);l(function(){return 7!=(new _).set((Object.freeze||Object)(d),7).get(d)})&&(c((r=u.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(e){var t=_.prototype,n=t[e];i(t,e,function(t,o){if(s(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},EWmC:function(e,t,n){var r=n("LZWt");e.exports=Array.isArray||function(e){return"Array"==r(e)}},EemH:function(e,t,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;t.f=n("nh4g")?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},FJW5:function(e,t,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");e.exports=n("nh4g")?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},FZcq:function(e,t,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),e.exports=n("g3g5").Reflect},H6hf:function(e,t,n){var r=n("y3w9");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},"I8a+":function(e,t,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},Iw71:function(e,t,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"J+6e":function(e,t,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");e.exports=n("g3g5").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},JiEa:function(e,t){t.f=Object.getOwnPropertySymbols},K0xU:function(e,t,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},KroJ:function(e,t,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=Function.toString,u=(""+c).split("toString");n("g3g5").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(s&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||c.call(this)})},Kuth:function(e,t,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var e,t=n("Iw71")("iframe"),r=i.length;for(t.style.display="none",n("+rLv").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},LQAc:function(e,t){e.exports=!1},LZWt:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},M6Qj:function(e,t,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},Mukb:function(e,t,n){var r=n("hswa"),o=n("RjD/");e.exports=n("nh4g")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},N6cJ:function(e,t,n){var r=n("9AAn"),o=n("XKFU"),i=n("VTer")("metadata"),a=i.store||(i.store=new(n("EK0E"))),c=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i};e.exports={store:a,map:c,has:function(e,t,n){var r=c(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=c(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){c(n,r,!0).set(e,t)},keys:function(e,t){var n=c(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){o(o.S,"Reflect",e)}}},OP3Y:function(e,t,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},Opxb:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("2OiF"),a=r.key,c=r.set;r.exp({metadata:function(e,t){return function(n,r){c(e,t,(void 0!==r?o:i)(n),a(r))}}})},Q3ne:function(e,t,n){var r=n("SlkY");e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},QaDb:function(e,t,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},RYi7:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"RjD/":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"S/j/":function(e,t,n){var r=n("vhPU");e.exports=function(e){return Object(r(e))}},SlkY:function(e,t,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(t=e.exports=function(e,t,n,f,p){var h,v,d,y,g=p?function(){return e}:u(e),_=r(n,f,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=c(e.length);h>m;m++)if((y=t?_(a(v=e[m])[0],v[1]):_(e[m]))===s||y===l)return y}else for(d=g.call(e);!(v=d.next()).done;)if((y=o(d,_,v.value,t))===s||y===l)return y}).BREAK=s,t.RETURN=l},T39b:function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,"Set"),e=0===e?0:e,e)}},r)},UqcF:function(e,t){t.f={}.propertyIsEnumerable},VTer:function(e,t,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},XKFU:function(e,t,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(e,t,n){var s,l,f,p,h=e&u.F,v=e&u.G,d=e&u.P,y=e&u.B,g=v?r:e&u.S?r[t]||(r[t]={}):(r[t]||{}).prototype,_=v?o:o[t]||(o[t]={}),m=_.prototype||(_.prototype={});for(s in v&&(n=t),n)f=((l=!h&&g&&void 0!==g[s])?g:n)[s],p=y&&l?c(f,r):d&&"function"==typeof f?c(Function.call,f):f,g&&a(g,s,f,e&u.U),_[s]!=f&&i(_,s,p),d&&m[s]!=f&&(m[s]=f)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},XMVh:function(e,t,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},Xbzi:function(e,t,n){var r=n("0/R4"),o=n("i5dc").set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},YTvA:function(e,t,n){var r=n("VTer")("keys"),o=n("ylqs");e.exports=function(e){return r[e]||(r[e]=o(e))}},Ymqv:function(e,t,n){var r=n("LZWt");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},Z6vF:function(e,t,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return s&&f.NEED&&u(e)&&!i(e,r)&&l(e),e}}},ZD67:function(e,t,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),h=s(6),v=0,d=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var s=e(function(e,r){c(e,s,t,"_i"),e._t=t,e._i=v++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(s.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).has(e):n&&l(n,this._i)}}),s},def:function(e,t,n){var r=o(i(t),!0);return!0===r?d(e).set(t,n):r[e._i]=n,e},ufstore:d}},aCFj:function(e,t,n){var r=n("Ymqv"),o=n("vhPU");e.exports=function(e){return r(o(e))}},aagx:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},apmT:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},czNK:function(e,t,n){"use strict";var r=n("DVgA"),o=n("JiEa"),i=n("UqcF"),a=n("S/j/"),c=n("Ymqv"),u=Object.assign;e.exports=!u||n("eeVq")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,s=1,l=o.f,f=i.f;u>s;)for(var p,h=c(arguments[s++]),v=l?r(h).concat(l(h)):r(h),d=v.length,y=0;d>y;)f.call(h,p=v[y++])&&(n[p]=h[p]);return n}:u},"d/Gc":function(e,t,n){var r=n("RYi7"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},dyZX:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eeVq:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},elZq:function(e,t,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},"fN/3":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},fyDq:function(e,t,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},g3g5:function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},"hN/g":function(e,t,n){"use strict";n.r(t),n("FZcq"),n("0TWp")},hPIQ:function(e,t){e.exports={}},hswa:function(e,t,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;t.f=n("nh4g")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},i5dc:function(e,t,n){var r=n("0/R4"),o=n("y3w9"),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},"iW+S":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=i(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:c(arguments[2]))}})},m0Pp:function(e,t,n){var r=n("2OiF");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},ne8i:function(e,t,n){var r=n("RYi7"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},nh4g:function(e,t,n){e.exports=!n("eeVq")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},s5qY:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},uAtd:function(e,t,n){var r=n("T39b"),o=n("Q3ne"),i=n("N6cJ"),a=n("y3w9"),c=n("OP3Y"),u=i.keys,s=i.key,l=function(e,t){var n=u(e,t),i=c(e);if(null===i)return n;var a=l(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return l(a(e),arguments.length<2?void 0:s(arguments[1]))}})},vhPU:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},w2a5:function(e,t,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");e.exports=function(e){return function(t,n,a){var c,u=r(t),s=o(u.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},wmvG:function(e,t,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),h=n("Z6vF").fastKey,v=n("s5qY"),d=p?"_s":"size",y=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){c(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[d]=0,void 0!=r&&u(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=v(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[d]=0},delete:function(e){var n=v(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(e){v(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(v(this,t),e)}}),p&&r(l.prototype,"size",{get:function(){return v(this,t)[d]}}),l},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[d]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){s(e,t,function(e,n){this._t=v(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},xpql:function(e,t,n){e.exports=!n("nh4g")&&!n("eeVq")(function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a})},y3w9:function(e,t,n){var r=n("0/R4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ylqs:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},zRwo:function(e,t,n){var r=n("6FMO");e.exports=function(e,t){return new(r(e))(t)}},zhAb:function(e,t,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(s,n)||s.push(n));return s}},"zq+C":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=c.get(t);return u.delete(n),!!u.size||c.delete(t)}})}},[[1,0]]]);
!function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for($e=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n<r;n++)d(e[n],t)}function o(e){return function(t){Pe(t)&&(d(t,e),oe.length&&r(t.querySelectorAll(oe),e))}}function l(e){var t=xe.call(e,"is"),n=e.nodeName.toUpperCase(),r=ae.call(ne,t?J+t.toUpperCase():Y+n);return t&&-1<r&&!a(n,t)?-1:r}function a(e,t){return-1<oe.indexOf(e+'[is="'+t+'"]')}function i(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,o=e.target,l=e[K]||2,a=e[X]||3;!tt||o&&o!==t||!t[q]||"style"===r||e.prevValue===e.newValue&&(""!==e.newValue||n!==l&&n!==a)||t[q](r,n===l?null:e.prevValue,n===a?null:e.newValue)}function u(e){var t=o(e);return function(e){C.push(t,e.target),$e&&clearTimeout($e),$e=setTimeout(n,1)}}function c(e){et&&(et=!1,e.currentTarget.removeEventListener(Q,c)),oe.length&&r((e.target||g).querySelectorAll(oe),e.detail===_?_:U),Se&&function(){for(var e,t=0,n=Re.length;t<n;t++)le.contains(e=Re[t])||(n--,Re.splice(t--,1),d(e,_))}()}function s(e,t){var n=this;Ze.call(n,e,t),w.call(n,{target:n})}function m(e,t,n){var r=t.apply(e,n),o=l(r);return-1<o&&F(r,re[o]),n.pop()&&oe.length&&function(e){for(var t,n=0,r=e.length;n<r;n++)F(t=e[n],re[l(t)])}(r.querySelectorAll(oe)),r}function f(e,t){Ne(e,t),N?N.observe(e,Ke):(Je&&(e.setAttribute=s,e[P]=O(e),e[R](W,w)),e[R]($,i)),e[G]&&tt&&(e.created=!0,e[G](),e.created=!1)}function p(e){throw new Error("A "+e+" type is already registered")}function d(e,t){var n,r,o=l(e);-1<o&&(I(e,re[o]),o=0,t!==U||e[U]?t!==_||e[_]||(e[U]=!1,e[_]=!0,r="disconnected",o=1):(e[_]=!1,e[U]=!0,r="connected",o=1,Se&&ae.call(Re,e)<0&&Re.push(e)),o&&(n=e[t+k]||e[r+k])&&n.call(e))}function h(){}function T(e,t,n){var r=n&&n[x]||"",o=t.prototype,l=Oe(o),a=t.observedAttributes||me,i={prototype:l};Ve(l,G,{value:function(){if(be)be=!1;else if(!this[Le]){this[Le]=!0,new t(this),o[G]&&o[G].call(this);var e=ye[we.get(t)];(!Ee||e.create.length>1)&&E(this)}}}),Ve(l,q,{value:function(e){-1<ae.call(a,e)&&o[q]&&o[q].apply(this,arguments)}}),o[Z]&&Ve(l,B,{value:o[Z]}),o[j]&&Ve(l,z,{value:o[j]}),r&&(i[x]=r),e=e.toUpperCase(),ye[e]={constructor:t,create:r?[r,Ae(e)]:[e]},we.set(t,e),g[V](e.toLowerCase(),i),v(e),Ce[e].r()}function L(e){var t=ye[e.toUpperCase()];return t&&t.constructor}function M(e){return"string"==typeof e?e:e&&e.is||""}function E(e){for(var t,n=e[q],r=n?e.attributes:me,o=r.length;o--;)n.call(e,(t=r[o]).name||t.nodeName,null,t.value||t.nodeValue)}function v(e){return(e=e.toUpperCase())in Ce||(Ce[e]={},Ce[e].p=new ge(function(t){Ce[e].r=t})),Ce[e].p}function H(){Me&&delete e.customElements,se(e,"customElements",{configurable:!0,value:new h}),se(e,"CustomElementRegistry",{configurable:!0,value:h});for(var t=y.get(/^HTML[A-Z]*[a-z]/),n=t.length;n--;function(t){var n=e[t];if(n){e[t]=function(e){var t,r;return e||(e=this),e[Le]||(be=!0,t=ye[we.get(e.constructor)],(e=(r=Ee&&1===t.create.length)?Reflect.construct(n,me,t.constructor):g.createElement.apply(g,t.create))[Le]=!0,be=!1,r||E(e)),e},e[t].prototype=n.prototype;try{n.prototype.constructor=e[t]}catch(r){se(n,Le,{value:e[t]})}}}(t[n]));g.createElement=function(e,t){var n=M(t);return n?ze.call(this,e,Ae(n)):ze.call(this,e)},Qe||(Ye=!0,g[V](""))}var g=e.document,b=e.Object,y=function(e){var t,n,r,o,l=/^[A-Z]+[a-z]/,a=function(e,t){(t=t.toLowerCase())in i||(i[e]=(i[e]||[]).concat(t),i[t]=i[t.toUpperCase()]=e)},i=(b.create||b)(null),u={};for(n in e)for(o in e[n])for(i[o]=r=e[n][o],t=0;t<r.length;t++)i[r[t].toLowerCase()]=i[r[t].toUpperCase()]=o;return u.get=function(e){return"string"==typeof e?i[e]||(l.test(e)?[]:""):function(e){var t,n=[];for(t in i)e.test(t)&&n.push(t);return n}(e)},u.set=function(e,t){return l.test(e)?a(e,t):a(t,e),u},u}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});"object"!=typeof t&&(t={type:t||"auto"});var C,w,A,O,N,D,I,F,S,V="registerElement",P="__"+V+(1e5*e.Math.random()>>0),R="addEventListener",U="attached",k="Callback",_="detached",x="extends",q="attributeChanged"+k,B=U+k,Z="connected"+k,j="disconnected"+k,G="created"+k,z=_+k,K="ADDITION",X="REMOVAL",$="DOMAttrModified",Q="DOMContentLoaded",W="DOMSubtreeModified",Y="<",J="=",ee=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,te=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ne=[],re=[],oe="",le=g.documentElement,ae=ne.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ie=b.prototype,ue=ie.hasOwnProperty,ce=ie.isPrototypeOf,se=b.defineProperty,me=[],fe=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,de=b.getPrototypeOf,he=b.setPrototypeOf,Te=!!b.__proto__,Le="__dreCEv1",Me=e.customElements,Ee=!/^force/.test(t.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),ve=b.create||b,He=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ae.call(t,e)]},set:function(r,o){(e=ae.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},ge=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},be=!1,ye=ve(null),Ce=ve(null),we=new He,Ae=function(e){return e.toLowerCase()},Oe=b.create||function e(t){return t?(e.prototype=t,new e):this},Ne=he||(Te?function(e,t){return e.__proto__=t,e}:pe&&fe?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o<l;o++)ue.call(e,n=r[o])||se(e,n,fe(t,n))}return function(t,n){do{e(t,n)}while((n=de(n))&&!ce.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),De=e.MutationObserver||e.WebKitMutationObserver,Ie=e.HTMLAnchorElement,Fe=(e.HTMLElement||e.Element||e.Node).prototype,Se=!ce.call(Fe,le),Ve=Se?function(e,t,n){return e[t]=n.value,e}:se,Pe=Se?function(e){return 1===e.nodeType}:function(e){return ce.call(Fe,e)},Re=Se&&[],Ue=Fe.attachShadow,ke=Fe.cloneNode,_e=Fe.dispatchEvent,xe=Fe.getAttribute,qe=Fe.hasAttribute,Be=Fe.removeAttribute,Ze=Fe.setAttribute,je=g.createElement,Ge=g.importNode,ze=je,Ke=De&&{attributes:!0,characterData:!0,attributeOldValue:!0},Xe=De||function(e){Je=!1,le.removeEventListener($,Xe)},$e=0,Qe=V in g&&!/^force-all/.test(t.type),We=!0,Ye=!1,Je=!0,et=!0,tt=!0;if(De&&((S=g.createElement("div")).innerHTML="<div><div></div></div>",new De(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=fe(Fe,"innerHTML"))&&S.set;n&&se(Fe,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Qe||(he||Te?(I=function(e,t){ce.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[P]||(e[P]=b(!0),f(e,t))},Se?(Je=!1,function(){var e=fe(Fe,R),t=e.value,n=function(e){var t=new CustomEvent($,{bubbles:!0});t.attrName=e,t.prevValue=xe.call(this,e),t.newValue=null,t[X]=t.attrChange=2,Be.call(this,e),_e.call(this,t)},r=function(e,t){var n=qe.call(this,e),r=n&&xe.call(this,e),o=new CustomEvent($,{bubbles:!0});Ze.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[K]=o.attrChange=0,_e.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[P],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent($,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[K]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,_e.call(n,t))};e.value=function(e,l,a){e===$&&this[q]&&this.setAttribute!==r&&(this[P]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},se(Fe,R,e)}()):De||(le[R]($,Xe),le.setAttribute(P,1),le.removeAttribute(P),Je&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[P],o[P]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],K);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],X)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l<a;l++)"setAttribute"!==(n=(t=o[l]).name)&&(r[n]=t.value);return r})),g[V]=function(e,t){if(n=e.toUpperCase(),We&&(We=!1,De?(N=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new De(function(r){for(var o,l,a,i=0,u=r.length;i<u;i++)"childList"===(o=r[i]).type?(n(o.addedNodes,e),n(o.removedNodes,t)):(l=o.target,tt&&l[q]&&"style"!==o.attributeName&&(a=xe.call(l,o.attributeName))!==o.oldValue&&l[q](o.attributeName,o.oldValue,a))})}(o(U),o(_)),(D=function(e){return N.observe(e,{childList:!0,subtree:!0}),e})(g),Ue&&(Fe.attachShadow=function(){return D(Ue.apply(this,arguments))})):(C=[],g[R]("DOMNodeInserted",u(U)),g[R]("DOMNodeRemoved",u(_))),g[R](Q,c),g[R]("readystatechange",c),g.importNode=function(e,t){switch(e.nodeType){case 1:return m(g,Ge,[e,!!t]);case 11:for(var n=g.createDocumentFragment(),r=e.childNodes,o=r.length,l=0;l<o;l++)n.appendChild(g.importNode(r[l],!!t));return n;default:return ke.call(e,!!t)}},Fe.cloneNode=function(e){return m(this,ke,[!!e])}),Ye)return Ye=!1;if(-2<ae.call(ne,J+n)+ae.call(ne,Y+n)&&p(e),!ee.test(n)||-1<ae.call(te,n))throw new Error("The type "+e+" is invalid");var n,l,a=function(){return s?g.createElement(f,n):g.createElement(f)},i=t||ie,s=ue.call(i,x),f=s?t[x].toUpperCase():n;return s&&-1<ae.call(ne,Y+f)&&p(f),l=ne.push((s?J:Y)+n)-1,oe=oe.concat(oe.length?",":"",s?f+'[is="'+e.toLowerCase()+'"]':f),a.prototype=re[l]=ue.call(i,"prototype")?i.prototype:Oe(Fe),oe.length&&r(g.querySelectorAll(oe),U),a},g.createElement=ze=function(e,t){var n=M(t),r=n?je.call(g,e,Ae(n)):je.call(g,e),o=""+e,l=ae.call(ne,(n?J:Y)+(n||o).toUpperCase()),i=-1<l;return n&&(r.setAttribute("is",n=n.toLowerCase()),i&&(i=a(o.toUpperCase(),n))),tt=!g.createElement.innerHTMLHelper,i&&F(r,re[l]),r}),h.prototype={constructor:h,define:Ee?function(e,t,n){if(n)T(e,t,n);else{var r=e.toUpperCase();ye[r]={constructor:t,create:[r]},we.set(t,r),Me.define(e,t)}}:T,get:Ee?function(e){return Me.get(e)||L(e)}:L,whenDefined:Ee?function(e){return ge.race([Me.whenDefined(e),v(e)])}:v},!Me||/^force/.test(t.type))H();else if(!t.noBuiltIn)try{!function(t,n,r){var o=new RegExp("^<a\\s+is=('|\")"+r+"\\1></a>$");if(n[x]="a",(t.prototype=Oe(Ie.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ie,[],e)},{},"document-register-element-a")}catch(e){H()}if(!t.noBuiltIn)try{if(je.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Ae=function(e){return{is:e.toLowerCase()}}}}(window);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(t,e,n){t.exports=n("zUnb")},"4R65":function(t,e,n){!function(t){"use strict";var e=Object.freeze;function n(t){var e,n,i,s;for(n=1,i=arguments.length;n<i;n++)for(e in s=arguments[n])t[e]=s[e];return t}Object.freeze=function(t){return t};var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function s(t,e){var n=Array.prototype.slice;if(t.bind)return t.bind.apply(t,n.call(arguments,1));var i=n.call(arguments,2);return function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)}}var o=0;function r(t){return t._leaflet_id=t._leaflet_id||++o,t._leaflet_id}function a(t,e,n){var i,s,o,r;return r=function(){i=!1,s&&(o.apply(n,s),s=!1)},o=function(){i?s=arguments:(t.apply(n,arguments),setTimeout(r,e),i=!0)}}function l(t,e,n){var i=e[1],s=e[0],o=i-s;return t===i&&n?t:((t-s)%o+o)%o+s}function h(){return!1}function u(t,e){var n=Math.pow(10,void 0===e?6:e);return Math.round(t*n)/n}function c(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return c(t).split(/\s+/)}function p(t,e){for(var n in t.hasOwnProperty("options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function m(t,e,n){var i=[];for(var s in t)i.push(encodeURIComponent(n?s.toUpperCase():s)+"="+encodeURIComponent(t[s]));return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")}var f=/\{ *([\w_-]+) *\}/g;function _(t,e){return t.replace(f,function(t,n){var i=e[n];if(void 0===i)throw new Error("No value provided for variable "+t);return"function"==typeof i&&(i=i(e)),i})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function b(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function x(t){var e=+new Date,n=Math.max(0,16-(e-w));return w=e+n,window.setTimeout(t,n)}var E=window.requestAnimationFrame||b("RequestAnimationFrame")||x,C=window.cancelAnimationFrame||b("CancelAnimationFrame")||b("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,n){if(!n||E!==x)return E.call(window,s(t,e));t.call(e)}function S(t){t&&C.call(window,t)}var T=(Object.freeze||Object)({freeze:e,extend:n,create:i,bind:s,lastId:o,stamp:r,throttle:a,wrapNum:l,falseFn:h,formatNum:u,trim:c,splitWords:d,setOptions:p,getParamString:m,template:_,isArray:g,indexOf:y,emptyImageUrl:v,requestFn:E,cancelFn:C,requestAnimFrame:k,cancelAnimFrame:S});function I(){}I.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},s=e.__super__=this.prototype,o=i(s);for(var r in o.constructor=e,e.prototype=o,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(e[r]=this[r]);return t.statics&&(n(e,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),n.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=n(i(o.options),t.options)),n(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){s.callInitHooks&&s.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},I.include=function(t){return n(this.prototype,t),this},I.mergeOptions=function(t){return n(this.prototype.options,t),this},I.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),n="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};var P={on:function(t,e,n){if("object"==typeof t)for(var i in t)this._on(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._on(t[s],e,n);return this},off:function(t,e,n){if(t)if("object"==typeof t)for(var i in t)this._off(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._off(t[s],e,n);else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var i=this._events[t];i||(this._events[t]=i=[]),n===this&&(n=void 0);for(var s={fn:e,ctx:n},o=i,r=0,a=o.length;r<a;r++)if(o[r].fn===e&&o[r].ctx===n)return;o.push(s)},_off:function(t,e,n){var i,s,o;if(this._events&&(i=this._events[t]))if(e){if(n===this&&(n=void 0),i)for(s=0,o=i.length;s<o;s++){var r=i[s];if(r.ctx===n&&r.fn===e)return r.fn=h,this._firingCount&&(this._events[t]=i=i.slice()),void i.splice(s,1)}}else{for(s=0,o=i.length;s<o;s++)i[s].fn=h;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var s=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var r=0,a=o.length;r<a;r++){var l=o[r];l.fn.call(l.ctx||this,s)}this._firingCount--}}return i&&this._propagateEvent(s),this},listens:function(t,e){var n=this._events&&this._events[t];if(n&&n.length)return!0;if(e)for(var i in this._eventParents)if(this._eventParents[i].listens(t,e))return!0;return!1},once:function(t,e,n){if("object"==typeof t){for(var i in t)this.once(i,t[i],e);return this}var o=s(function(){this.off(t,e,n).off(t,o,n)},this);return this.on(t,e,n).on(t,o,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[r(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[r(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};P.addEventListener=P.on,P.removeEventListener=P.clearAllEventListeners=P.off,P.addOneTimeEventListener=P.once,P.fireEvent=P.fire,P.hasEventListeners=P.listens;var M=I.extend(P);function D(t,e,n){this.x=n?Math.round(t):t,this.y=n?Math.round(e):e}var A=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,n){return t instanceof D?t:g(t)?new D(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,n)}function R(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function N(t,e){return!t||t instanceof R?t:new R(t,e)}function F(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function z(t,e){return t instanceof F?t:new F(t,e)}function V(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==n&&(this.alt=+n)}function B(t,e,n){return t instanceof V?t:g(t)&&"object"!=typeof t[0]?3===t.length?new V(t[0],t[1],t[2]):2===t.length?new V(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new V(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new V(t,e,n)}D.prototype={clone:function(){return new D(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new D(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new D(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=A(this.x),this.y=A(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,n=t.y-this.y;return Math.sqrt(e*e+n*n)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+u(this.x)+", "+u(this.y)+")"}},R.prototype={extend:function(t){return t=O(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new D((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new D(this.min.x,this.max.y)},getTopRight:function(){return new D(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,n;return(t="number"==typeof t[0]||t instanceof D?O(t):N(t))instanceof R?(e=t.min,n=t.max):e=n=t,e.x>=this.min.x&&n.x<=this.max.x&&e.y>=this.min.y&&n.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>=e.x&&i.x<=n.x&&s.y>=e.y&&i.y<=n.y},overlaps:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>e.x&&i.x<n.x&&s.y>e.y&&i.y<n.y},isValid:function(){return!(!this.min||!this.max)}},F.prototype={extend:function(t){var e,n,i=this._southWest,s=this._northEast;if(t instanceof V)e=t,n=t;else{if(!(t instanceof F))return t?this.extend(B(t)||z(t)):this;if(n=t._northEast,!(e=t._southWest)||!n)return this}return i||s?(i.lat=Math.min(e.lat,i.lat),i.lng=Math.min(e.lng,i.lng),s.lat=Math.max(n.lat,s.lat),s.lng=Math.max(n.lng,s.lng)):(this._southWest=new V(e.lat,e.lng),this._northEast=new V(n.lat,n.lng)),this},pad:function(t){var e=this._southWest,n=this._northEast,i=Math.abs(e.lat-n.lat)*t,s=Math.abs(e.lng-n.lng)*t;return new F(new V(e.lat-i,e.lng-s),new V(n.lat+i,n.lng+s))},getCenter:function(){return new V((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new V(this.getNorth(),this.getWest())},getSouthEast:function(){return new V(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof V||"lat"in t?B(t):z(t);var e,n,i=this._southWest,s=this._northEast;return t instanceof F?(e=t.getSouthWest(),n=t.getNorthEast()):e=n=t,e.lat>=i.lat&&n.lat<=s.lat&&e.lng>=i.lng&&n.lng<=s.lng},intersects:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&i.lat<=n.lat&&s.lng>=e.lng&&i.lng<=n.lng},overlaps:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&i.lat<n.lat&&s.lng>e.lng&&i.lng<n.lng},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},V.prototype={equals:function(t,e){return!!t&&(t=B(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+u(this.lat,t)+", "+u(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,B(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,n=e/Math.cos(Math.PI/180*this.lat);return z([this.lat-e,this.lng-n],[this.lat+e,this.lng+n])},clone:function(){return new V(this.lat,this.lng,this.alt)}};var j={latLngToPoint:function(t,e){var n=this.projection.project(t),i=this.scale(e);return this.transformation._transform(n,i)},pointToLatLng:function(t,e){var n=this.scale(e),i=this.transformation.untransform(t,n);return this.projection.unproject(i)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,n=this.scale(t);return new R(this.transformation.transform(e.min,n),this.transformation.transform(e.max,n))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?l(t.lng,this.wrapLng,!0):t.lng;return new V(this.wrapLat?l(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),n=this.wrapLatLng(e),i=e.lat-n.lat,s=e.lng-n.lng;if(0===i&&0===s)return t;var o=t.getSouthWest(),r=t.getNorthEast();return new F(new V(o.lat-i,o.lng-s),new V(r.lat-i,r.lng-s))}},H=n({},j,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var n=Math.PI/180,i=t.lat*n,s=e.lat*n,o=Math.sin((e.lat-t.lat)*n/2),r=Math.sin((e.lng-t.lng)*n/2),a=o*o+Math.cos(i)*Math.cos(s)*r*r,l=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*l}}),Z={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,n=this.MAX_LATITUDE,i=Math.max(Math.min(n,t.lat),-n),s=Math.sin(i*e);return new D(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new V((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return new R([-t,-t],[t,t])}()};function U(t,e,n,i){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=n,this._d=i}function G(t,e,n,i){return new U(t,e,n,i)}U.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new D((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var $=n({},H,{code:"EPSG:3857",projection:Z,transformation:function(){var t=.5/(Math.PI*Z.R);return G(t,.5,-t,.5)}()}),q=n({},$,{code:"EPSG:900913"});function W(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function K(t,e){var n,i,s,o,r,a,l="";for(n=0,s=t.length;n<s;n++){for(i=0,o=(r=t[n]).length;i<o;i++)a=r[i],l+=(i?"L":"M")+a.x+" "+a.y;l+=e?kt?"z":"x":""}return l||"M0 0"}var Y=document.documentElement.style,Q="ActiveXObject"in window,X=Q&&!document.addEventListener,J="msLaunchUri"in navigator&&!("documentMode"in document),tt=Tt("webkit"),et=Tt("android"),nt=Tt("android 2")||Tt("android 3"),it=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),st=et&&Tt("Google")&&it<537&&!("AudioNode"in window),ot=!!window.opera,rt=Tt("chrome"),at=Tt("gecko")&&!tt&&!ot&&!Q,lt=!rt&&Tt("safari"),ht=Tt("phantom"),ut="OTransition"in Y,ct=0===navigator.platform.indexOf("Win"),dt=Q&&"transition"in Y,pt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,mt="MozPerspective"in Y,ft=!window.L_DISABLE_3D&&(dt||pt||mt)&&!ut&&!ht,_t="undefined"!=typeof orientation||Tt("mobile"),gt=_t&&tt,yt=_t&&pt,vt=!window.PointerEvent&&window.MSPointerEvent,bt=!(!window.PointerEvent&&!vt),wt=!window.L_NO_TOUCH&&(bt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),xt=_t&&ot,Et=_t&&at,Ct=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Lt=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!W("svg").createSVGRect),St=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Tt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It=(Object.freeze||Object)({ie:Q,ielt9:X,edge:J,webkit:tt,android:et,android23:nt,androidStock:st,opera:ot,chrome:rt,gecko:at,safari:lt,phantom:ht,opera12:ut,win:ct,ie3d:dt,webkit3d:pt,gecko3d:mt,any3d:ft,mobile:_t,mobileWebkit:gt,mobileWebkit3d:yt,msPointer:vt,pointer:bt,touch:wt,mobileOpera:xt,mobileGecko:Et,retina:Ct,canvas:Lt,svg:kt,vml:St}),Pt=vt?"MSPointerDown":"pointerdown",Mt=vt?"MSPointerMove":"pointermove",Dt=vt?"MSPointerUp":"pointerup",At=vt?"MSPointerCancel":"pointercancel",Ot=["INPUT","SELECT","OPTION"],Rt={},Nt=!1,Ft=0;function zt(t){Rt[t.pointerId]=t,Ft++}function Vt(t){Rt[t.pointerId]&&(Rt[t.pointerId]=t)}function Bt(t){delete Rt[t.pointerId],Ft--}function jt(t,e){for(var n in t.touches=[],Rt)t.touches.push(Rt[n]);t.changedTouches=[t],e(t)}var Ht=vt?"MSPointerDown":bt?"pointerdown":"touchstart",Zt=vt?"MSPointerUp":bt?"pointerup":"touchend",Ut="_leaflet_";function Gt(t,e,n){var i,s,o=!1,r=250;function a(t){var e;if(bt){if(!J||"mouse"===t.pointerType)return;e=Ft}else e=t.touches.length;if(!(e>1)){var n=Date.now(),a=n-(i||n);s=t.touches?t.touches[0]:t,o=a>0&&a<=r,i=n}}function l(t){if(o&&!s.cancelBubble){if(bt){if(!J||"mouse"===t.pointerType)return;var n,r,a={};for(r in s)a[r]=(n=s[r])&&n.bind?n.bind(s):n;s=a}s.type="dblclick",e(s),i=null}}return t[Ut+Ht+n]=a,t[Ut+Zt+n]=l,t[Ut+"dblclick"+n]=e,t.addEventListener(Ht,a,!1),t.addEventListener(Zt,l,!1),t.addEventListener("dblclick",e,!1),this}function $t(t,e){var n=t[Ut+Zt+e],i=t[Ut+"dblclick"+e];return t.removeEventListener(Ht,t[Ut+Ht+e],!1),t.removeEventListener(Zt,n,!1),J||t.removeEventListener("dblclick",i,!1),this}var qt,Wt,Kt,Yt,Qt,Xt=me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jt=me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),te="webkitTransition"===Jt||"OTransition"===Jt?Jt+"End":"transitionend";function ee(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var n=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!n||"auto"===n)&&document.defaultView){var i=document.defaultView.getComputedStyle(t,null);n=i?i[e]:null}return"auto"===n?null:n}function ie(t,e,n){var i=document.createElement(t);return i.className=e||"",n&&n.appendChild(i),i}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function oe(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function re(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ae(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=de(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)}function he(t,e){if(void 0!==t.classList)for(var n=d(e),i=0,s=n.length;i<s;i++)t.classList.add(n[i]);else if(!le(t,e)){var o=de(t);ce(t,(o?o+" ":"")+e)}}function ue(t,e){void 0!==t.classList?t.classList.remove(e):ce(t,c((" "+de(t)+" ").replace(" "+e+" "," ")))}function ce(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function de(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function pe(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var n=!1,i="DXImageTransform.Microsoft.Alpha";try{n=t.filters.item(i)}catch(t){if(1===e)return}e=Math.round(100*e),n?(n.Enabled=100!==e,n.Opacity=e):t.style.filter+=" progid:"+i+"(opacity="+e+")"}(t,e)}function me(t){for(var e=document.documentElement.style,n=0;n<t.length;n++)if(t[n]in e)return t[n];return!1}function fe(t,e,n){var i=e||new D(0,0);t.style[Xt]=(dt?"translate("+i.x+"px,"+i.y+"px)":"translate3d("+i.x+"px,"+i.y+"px,0)")+(n?" scale("+n+")":"")}function _e(t,e){t._leaflet_pos=e,ft?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ge(t){return t._leaflet_pos||new D(0,0)}if("onselectstart"in document)qt=function(){ke(window,"selectstart",Oe)},Wt=function(){Te(window,"selectstart",Oe)};else{var ye=me(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);qt=function(){if(ye){var t=document.documentElement.style;Kt=t[ye],t[ye]="none"}},Wt=function(){ye&&(document.documentElement.style[ye]=Kt,Kt=void 0)}}function ve(){ke(window,"dragstart",Oe)}function be(){Te(window,"dragstart",Oe)}function we(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(xe(),Yt=t,Qt=t.style.outline,t.style.outline="none",ke(window,"keydown",xe))}function xe(){Yt&&(Yt.style.outline=Qt,Yt=void 0,Qt=void 0,Te(window,"keydown",xe))}function Ee(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function Ce(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Le=(Object.freeze||Object)({TRANSFORM:Xt,TRANSITION:Jt,TRANSITION_END:te,get:ee,getStyle:ne,create:ie,remove:se,empty:oe,toFront:re,toBack:ae,hasClass:le,addClass:he,removeClass:ue,setClass:ce,getClass:de,setOpacity:pe,testProp:me,setTransform:fe,setPosition:_e,getPosition:ge,disableTextSelection:qt,enableTextSelection:Wt,disableImageDrag:ve,enableImageDrag:be,preventOutline:we,restoreOutline:xe,getSizedParentNode:Ee,getScale:Ce});function ke(t,e,n,i){if("object"==typeof e)for(var s in e)Ie(t,s,e[s],n);else for(var o=0,r=(e=d(e)).length;o<r;o++)Ie(t,e[o],n,i);return this}var Se="_leaflet_events";function Te(t,e,n,i){if("object"==typeof e)for(var s in e)Pe(t,s,e[s],n);else if(e)for(var o=0,r=(e=d(e)).length;o<r;o++)Pe(t,e[o],n,i);else{for(var a in t[Se])Pe(t,a,t[Se][a]);delete t[Se]}return this}function Ie(t,e,n,i){var o=e+r(n)+(i?"_"+r(i):"");if(t[Se]&&t[Se][o])return this;var a=function(e){return n.call(i||t,e||window.event)},l=a;bt&&0===e.indexOf("touch")?function(t,e,n,i){"touchstart"===e?function(t,e,n){var i=s(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Ot.indexOf(t.target.tagName)<0))return;Oe(t)}jt(t,e)});t["_leaflet_touchstart"+n]=i,t.addEventListener(Pt,i,!1),Nt||(document.documentElement.addEventListener(Pt,zt,!0),document.documentElement.addEventListener(Mt,Vt,!0),document.documentElement.addEventListener(Dt,Bt,!0),document.documentElement.addEventListener(At,Bt,!0),Nt=!0)}(t,n,i):"touchmove"===e?function(t,e,n){var i=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&jt(t,e)};t["_leaflet_touchmove"+n]=i,t.addEventListener(Mt,i,!1)}(t,n,i):"touchend"===e&&function(t,e,n){var i=function(t){jt(t,e)};t["_leaflet_touchend"+n]=i,t.addEventListener(Dt,i,!1),t.addEventListener(At,i,!1)}(t,n,i)}(t,e,a,o):!wt||"dblclick"!==e||!Gt||bt&&rt?"addEventListener"in t?"mousewheel"===e?t.addEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):"mouseenter"===e||"mouseleave"===e?(a=function(e){e=e||window.event,Ze(t,e)&&l(e)},t.addEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1)):("click"===e&&et&&(a=function(t){!function(t,e){var n=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,i=Ve&&n-Ve;i&&i>100&&i<500||t.target._simulatedClick&&!t._simulated?Re(t):(Ve=n,e(t))}(t,l)}),t.addEventListener(e,a,!1)):"attachEvent"in t&&t.attachEvent("on"+e,a):Gt(t,a,o),t[Se]=t[Se]||{},t[Se][o]=a}function Pe(t,e,n,i){var s=e+r(n)+(i?"_"+r(i):""),o=t[Se]&&t[Se][s];if(!o)return this;bt&&0===e.indexOf("touch")?function(t,e,n){var i=t["_leaflet_"+e+n];"touchstart"===e?t.removeEventListener(Pt,i,!1):"touchmove"===e?t.removeEventListener(Mt,i,!1):"touchend"===e&&(t.removeEventListener(Dt,i,!1),t.removeEventListener(At,i,!1))}(t,e,s):!wt||"dblclick"!==e||!$t||bt&&rt?"removeEventListener"in t?t.removeEventListener("mousewheel"===e?"onwheel"in t?"wheel":"mousewheel":"mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,o,!1):"detachEvent"in t&&t.detachEvent("on"+e,o):$t(t,s),t[Se][s]=null}function Me(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,He(t),this}function De(t){return Ie(t,"mousewheel",Me),this}function Ae(t){return ke(t,"mousedown touchstart dblclick",Me),Ie(t,"click",je),this}function Oe(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Oe(t),Me(t),this}function Ne(t,e){if(!e)return new D(t.clientX,t.clientY);var n=Ce(e),i=n.boundingClientRect;return new D((t.clientX-i.left)/n.x-e.clientLeft,(t.clientY-i.top)/n.y-e.clientTop)}var Fe=ct&&rt?2*window.devicePixelRatio:at?window.devicePixelRatio:1;function ze(t){return J?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ve,Be={};function je(t){Be[t.type]=!0}function He(t){var e=Be[t.type];return Be[t.type]=!1,e}function Ze(t,e){var n=e.relatedTarget;if(!n)return!0;try{for(;n&&n!==t;)n=n.parentNode}catch(t){return!1}return n!==t}var Ue=(Object.freeze||Object)({on:ke,off:Te,stopPropagation:Me,disableScrollPropagation:De,disableClickPropagation:Ae,preventDefault:Oe,stop:Re,getMousePosition:Ne,getWheelDelta:ze,fakeStop:je,skipped:He,isExternalTarget:Ze,addListener:ke,removeListener:Te}),Ge=M.extend({run:function(t,e,n,i){this.stop(),this._el=t,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(i||.5,.2),this._startPos=ge(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,n=1e3*this._duration;e<n?this._runFrame(this._easeOut(e/n),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var n=this._startPos.add(this._offset.multiplyBy(t));e&&n._round(),_e(this._el,n),this.fire("step")},_complete:function(){S(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),$e=M.extend({options:{crs:$,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=p(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=s(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(B(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jt&&ft&&!xt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ke(this._proxy,te,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(B(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t=t||(ft?this.options.zoomDelta:1)),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t=t||(ft?this.options.zoomDelta:1)),e)},setZoomAround:function(t,e,n){var i=this.getZoomScale(e),s=this.getSize().divideBy(2),o=(t instanceof D?t:this.latLngToContainerPoint(t)).subtract(s).multiplyBy(1-1/i),r=this.containerPointToLatLng(s.add(o));return this.setView(r,e,{zoom:n})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():z(t);var n=O(e.paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,n.add(i));if((s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s)===1/0)return{center:t.getCenter(),zoom:s};var o=i.subtract(n).divideBy(2),r=this.project(t.getSouthWest(),s),a=this.project(t.getNorthEast(),s);return{center:this.unproject(r.add(a).divideBy(2).add(o),s),zoom:s}},fitBounds:function(t,e){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var n=this._getBoundsCenterZoom(t,e);return this.setView(n.center,n.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=O(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Ge,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){he(this._mapPane,"leaflet-pan-anim");var n=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,n,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){if(!1===(n=n||{}).animate||!ft)return this.setView(t,e,n);this._stop();var i=this.project(this.getCenter()),s=this.project(t),o=this.getSize(),r=this._zoom;t=B(t),e=void 0===e?r:e;var a=Math.max(o.x,o.y),l=a*this.getZoomScale(r,e),h=s.distanceTo(i)||1,u=2.0164;function c(t){var e=(l*l-a*a+(t?-1:1)*u*u*h*h)/(2*(t?l:a)*u*h),n=Math.sqrt(e*e+1)-e;return n<1e-9?-18:Math.log(n)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=c(0),f=Date.now(),_=(c(1)-m)/1.42,g=n.duration?1e3*n.duration:1e3*_*.8;return this._moveStart(!0,n.noMoveStart),(function n(){var o=(Date.now()-f)/g,l=function(t){return 1-Math.pow(1-t,1.5)}(o)*_;o<=1?(this._flyToFrame=k(n,this),this._move(this.unproject(i.add(s.subtract(i).multiplyBy(function(t){return a*(p(m)*function(t){return d(t)/p(t)}(m+1.42*t)-d(m))/u}(l)/h)),r),this.getScaleZoom(a/function(t){return a*(p(m)/p(m+1.42*t))}(l),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}).call(this),this},flyToBounds:function(t,e){var n=this._getBoundsCenterZoom(t,e);return this.flyTo(n.center,n.zoom,e)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var n=this.getCenter(),i=this._limitCenter(n,this._zoom,z(t));return n.equals(i)||this.panTo(i,e),this._enforcingBounds=!1,this},panInside:function(t,e){var n=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getCenter(),o=this.project(s),r=this.project(t),a=this.getPixelBounds(),l=a.getSize().divideBy(2),h=N([a.min.add(n),a.max.subtract(i)]);if(!h.contains(r)){this._enforcingBounds=!0;var u=o.subtract(r),c=O(r.x+u.x,r.y+u.y);(r.x<h.min.x||r.x>h.max.x)&&(c.x=o.x-u.x,u.x>0?c.x+=l.x-n.x:c.x-=l.x-i.x),(r.y<h.min.y||r.y>h.max.y)&&(c.y=o.y-u.y,u.y>0?c.y+=l.y-n.y:c.y-=l.y-i.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),a=o.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(s(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=s(this._handleGeolocationResponse,this),i=s(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,n=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+n+"."})},_handleGeolocationResponse:function(t){var e=new V(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),i=this._locateOptions;if(i.setView){var s=this.getBoundsZoom(n);this.setView(e,i.maxZoom?Math.min(s,i.maxZoom):s)}var o={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(o[r]=t.coords[r]);this.fire("locationfound",o)},addHandler:function(t,e){if(!e)return this;var n=this[t]=new e(this);return this._handlers.push(n),this.options[t]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=ie("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new F(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,n){t=z(t),n=O(n||[0,0]);var i=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(n),h=N(this.project(a,i),this.project(r,i)).getSize(),u=ft?this.options.zoomSnap:1,c=l.x/h.x,d=l.y/h.y,p=e?Math.max(c,d):Math.min(c,d);return i=this.getScaleZoom(p,i),u&&(i=Math.round(i/(u/100))*(u/100),i=e?Math.ceil(i/u)*u:Math.floor(i/u)*u),Math.max(s,Math.min(o,i))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var n=this._getTopLeftPoint(t,e);return new R(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=void 0===e?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs,i=n.zoom(t*n.scale(e=void 0===e?this._zoom:e));return isNaN(i)?1/0:i},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(B(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(B(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(B(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,e){return this.options.crs.distance(B(t),B(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(B(t)))},mouseEventToContainerPoint:function(t){return Ne(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ee(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");ke(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ft,he(t,"leaflet-container"+(wt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(X?" leaflet-oldie":"")+(lt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(he(t.markerPane,"leaflet-zoom-hide"),he(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){_e(this._mapPane,new D(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var i=this._zoom!==e;this._moveStart(i,!1)._move(t,e)._moveEnd(i),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,n){void 0===e&&(e=this._zoom);var i=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(i||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){_e(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Te:ke;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),ft&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=k(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,o=t.target||t.srcElement,a=!1;o;){if((n=this._targets[r(o)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(n)){a=!0;break}if(n&&n.listens(e,!0)){if(s&&!Ze(o,t))break;if(i.push(n),s)break}if(o===this._container)break;o=o.parentNode}return i.length||a||s||!Ze(o,t)||(i=[this]),i},_handleDOMEvent:function(t){if(this._loaded&&!He(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e||we(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var s=n({},t);s.type="preclick",this._fireDOMEvent(s,s.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&Oe(t);var r={originalEvent:t};if("keypress"!==t.type){var a=o.getLatLng&&(!o._radius||o._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?o.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var l=0;l<i.length;l++)if(i[l].fire(e,r,!0),r.originalEvent._stopped||!1===i[l].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ge(this._mapPane)||new D(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var n=this.getSize()._divideBy(2);return this.project(t,e)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return N([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,n){if(!n)return t;var i=this.project(t,e),s=this.getSize().divideBy(2),o=new R(i.subtract(s),i.add(s)),r=this._getBoundsOffset(o,n,e);return r.round().equals([0,0])?t:this.unproject(i.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var n=this.getPixelBounds(),i=new R(n.min.add(t),n.max.add(t));return t.add(this._getBoundsOffset(i,e))},_getBoundsOffset:function(t,e,n){var i=N(this.project(e.getNorthEast(),n),this.project(e.getSouthWest(),n)),s=i.min.subtract(t.min),o=i.max.subtract(t.max);return new D(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),n=this.getMaxZoom(),i=ft?this.options.zoomSnap:1;return i&&(t=Math.round(t/i)*i),Math.max(e,Math.min(n,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ue(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var n=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(n)||(this.panBy(n,e),0))},_createAnimProxy:function(){var t=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=Xt,n=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),n===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,n){if(this._animatingZoom)return!0;if(n=n||{},!this._zoomAnimated||!1===n.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var i=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/i);return!(!0!==n.animate&&!this.getSize().contains(s)||(k(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,n,i){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,he(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:i}),setTimeout(s(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ue(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),k(function(){this._moveEnd(!0)},this))}}),qe=I.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),n=this.getPosition(),i=t._controlCorners[n];return he(e,"leaflet-control"),-1!==n.indexOf("bottom")?i.insertBefore(e,i.firstChild):i.appendChild(e),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),We=function(t){return new qe(t)};$e.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",n=this._controlContainer=ie("div",e+"control-container",this._container);function i(i,s){t[i+s]=ie("div",e+i+" "+e+s,n)}i("top","left"),i("top","right"),i("bottom","left"),i("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=qe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,n,i){return n<i?-1:i<n?1:0}},initialize:function(t,e,n){for(var i in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[i],i);for(i in e)this._addLayer(e[i],i,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return qe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(r(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){he(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(he(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ue(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ue(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ie("div",t),n=this.options.collapsed;e.setAttribute("aria-haspopup",!0),Ae(e),De(e);var i=this._section=ie("section",t+"-list");n&&(this._map.on("click",this.collapse,this),et||ke(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=ie("a",t+"-toggle",e);s.href="#",s.title="Layers",wt?(ke(s,"click",Re),ke(s,"click",this.expand,this)):ke(s,"focus",this.expand,this),n||this.expand(),this._baseLayersList=ie("div",t+"-base",i),this._separator=ie("div",t+"-separator",i),this._overlaysList=ie("div",t+"-overlays",i),e.appendChild(i)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&r(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:n}),this.options.sortLayers&&this._layers.sort(s(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;oe(this._baseLayersList),oe(this._overlaysList),this._layerControlInputs=[];var t,e,n,i,s=0;for(n=0;n<this._layers.length;n++)this._addItem(i=this._layers[n]),e=e||i.overlay,t=t||!i.overlay,s+=i.overlay?0:1;return this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&s>1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),n=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;n&&this._map.fire(n,e)},_createRadioElement:function(t,e){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=n,i.firstChild},_addItem:function(t){var e,n=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=i):e=this._createRadioElement("leaflet-base-layers",i),this._layerControlInputs.push(e),e.layerId=r(t.layer),ke(e,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var o=document.createElement("div");return n.appendChild(o),o.appendChild(e),o.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,n=this._layerControlInputs,i=[],s=[];this._handlingClick=!0;for(var o=n.length-1;o>=0;o--)e=this._getLayer((t=n[o]).layerId).layer,t.checked?i.push(e):t.checked||s.push(e);for(o=0;o<s.length;o++)this._map.hasLayer(s[o])&&this._map.removeLayer(s[o]);for(o=0;o<i.length;o++)this._map.hasLayer(i[o])||this._map.addLayer(i[o]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._layerControlInputs,i=this._map.getZoom(),s=n.length-1;s>=0;s--)e=this._getLayer((t=n[s]).layerId).layer,t.disabled=void 0!==e.options.minZoom&&i<e.options.minZoom||void 0!==e.options.maxZoom&&i>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Ye=qe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",n=ie("div",e+" leaflet-bar"),i=this.options;return this._zoomInButton=this._createButton(i.zoomInText,i.zoomInTitle,e+"-in",n,this._zoomIn),this._zoomOutButton=this._createButton(i.zoomOutText,i.zoomOutTitle,e+"-out",n,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),n},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,n,i,s){var o=ie("a",n,i);return o.innerHTML=t,o.href="#",o.title=e,o.setAttribute("role","button"),o.setAttribute("aria-label",e),Ae(o),ke(o,"click",Re),ke(o,"click",s,this),ke(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ue(this._zoomInButton,e),ue(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&he(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&he(this._zoomInButton,e)}});$e.mergeOptions({zoomControl:!0}),$e.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Qe=qe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=ie("div","leaflet-control-scale"),n=this.options;return this._addScales(n,"leaflet-control-scale-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,n){t.metric&&(this._mScale=ie("div",e,n)),t.imperial&&(this._iScale=ie("div",e,n))},_update:function(){var t=this._map,e=t.getSize().y/2,n=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(n)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,n,i,s=3.2808399*t;s>5280?(n=this._getRoundNum(e=s/5280),this._updateScale(this._iScale,n+" mi",n/e)):(i=this._getRoundNum(s),this._updateScale(this._iScale,i+" ft",i/s))},_updateScale:function(t,e,n){t.style.width=Math.round(this.options.maxWidth*n)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),n=t/e;return e*(n>=10?10:n>=5?5:n>=3?3:n>=2?2:1)}}),Xe=qe.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),Ae(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var n=[];this.options.prefix&&n.push(this.options.prefix),t.length&&n.push(t.join(", ")),this._container.innerHTML=n.join(" | ")}}});$e.mergeOptions({attributionControl:!0}),$e.addInitHook(function(){this.options.attributionControl&&(new Xe).addTo(this)}),qe.Layers=Ke,qe.Zoom=Ye,qe.Scale=Qe,qe.Attribution=Xe,We.layers=function(t,e,n){return new Ke(t,e,n)},We.zoom=function(t){return new Ye(t)},We.scale=function(t){return new Qe(t)},We.attribution=function(t){return new Xe(t)};var Je=I.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Je.addTo=function(t,e){return t.addHandler(e,this),this};var tn,en={Events:P},nn=wt?"touchstart mousedown":"mousedown",sn={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},on={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},rn=M.extend({options:{clickTolerance:3},initialize:function(t,e,n,i){p(this,i),this._element=t,this._dragStartTarget=e||t,this._preventOutline=n},enable:function(){this._enabled||(ke(this._dragStartTarget,nn,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(rn._dragging===this&&this.finishDrag(),Te(this._dragStartTarget,nn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")&&!(rn._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(rn._dragging=this,this._preventOutline&&we(this._element),ve(),qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,n=Ee(this._element);this._startPoint=new D(e.clientX,e.clientY),this._parentScale=Ce(n),ke(document,on[t.type],this._onMove,this),ke(document,sn[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,n=new D(e.clientX,e.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,Oe(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ge(this._element).subtract(n),he(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),he(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(n),this._moving=!0,S(this._animRequest),this._lastEvent=t,this._animRequest=k(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),_e(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in ue(document.body,"leaflet-dragging"),this._lastTarget&&(ue(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),on)Te(document,on[t],this._onMove,this),Te(document,sn[t],this._onUp,this);be(),Wt(),this._moved&&this._moving&&(S(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,rn._dragging=!1}});function an(t,e){if(!e||!t.length)return t.slice();var n=e*e;return function(t,e){var n=t.length,i=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);i[0]=i[n-1]=1,function t(e,n,i,s,o){var r,a,l,h=0;for(a=s+1;a<=o-1;a++)(l=pn(e[a],e[s],e[o],!0))>h&&(r=a,h=l);h>i&&(n[r]=1,t(e,n,i,s,r),t(e,n,i,r,o))}(t,i,e,0,n-1);var s,o=[];for(s=0;s<n;s++)i[s]&&o.push(t[s]);return o}(t=function(t,e){for(var n=[t[0]],i=1,s=0,o=t.length;i<o;i++)dn(t[i],t[s])>e&&(n.push(t[i]),s=i);return s<o-1&&n.push(t[o-1]),n}(t,n),n)}function ln(t,e,n){return Math.sqrt(pn(t,e,n,!0))}function hn(t,e,n,i,s){var o,r,a,l=i?tn:cn(t,n),h=cn(e,n);for(tn=h;;){if(!(l|h))return[t,e];if(l&h)return!1;a=cn(r=un(t,e,o=l||h,n,s),n),o===l?(t=r,l=a):(e=r,h=a)}}function un(t,e,n,i,s){var o,r,a=e.x-t.x,l=e.y-t.y,h=i.min,u=i.max;return 8&n?(o=t.x+a*(u.y-t.y)/l,r=u.y):4&n?(o=t.x+a*(h.y-t.y)/l,r=h.y):2&n?(o=u.x,r=t.y+l*(u.x-t.x)/a):1&n&&(o=h.x,r=t.y+l*(h.x-t.x)/a),new D(o,r,s)}function cn(t,e){var n=0;return t.x<e.min.x?n|=1:t.x>e.max.x&&(n|=2),t.y<e.min.y?n|=4:t.y>e.max.y&&(n|=8),n}function dn(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}function pn(t,e,n,i){var s,o=e.x,r=e.y,a=n.x-o,l=n.y-r,h=a*a+l*l;return h>0&&((s=((t.x-o)*a+(t.y-r)*l)/h)>1?(o=n.x,r=n.y):s>0&&(o+=a*s,r+=l*s)),a=t.x-o,l=t.y-r,i?a*a+l*l:new D(o,r)}function mn(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function fn(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),mn(t)}var _n=(Object.freeze||Object)({simplify:an,pointToSegmentDistance:ln,closestPointOnSegment:function(t,e,n){return pn(t,e,n)},clipSegment:hn,_getEdgeIntersection:un,_getBitCode:cn,_sqClosestPointOnSegment:pn,isFlat:mn,_flat:fn});function gn(t,e,n){var i,s,o,r,a,l,h,u,c,d=[1,4,2,8];for(s=0,h=t.length;s<h;s++)t[s]._code=cn(t[s],e);for(r=0;r<4;r++){for(u=d[r],i=[],s=0,o=(h=t.length)-1;s<h;o=s++)l=t[o],(a=t[s])._code&u?l._code&u||((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)):(l._code&u&&((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)),i.push(a));t=i}return t}var yn=(Object.freeze||Object)({clipPolygon:gn}),vn={project:function(t){return new D(t.lng,t.lat)},unproject:function(t){return new V(t.y,t.x)},bounds:new R([-180,-90],[180,90])},bn={R:6378137,R_MINOR:6356752.314245179,bounds:new R([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,n=this.R,i=t.lat*e,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=o*Math.sin(i),a=Math.tan(Math.PI/4-i/2)/Math.pow((1-r)/(1+r),o/2);return i=-n*Math.log(Math.max(a,1e-10)),new D(t.lng*e*n,i)},unproject:function(t){for(var e,n=180/Math.PI,i=this.R,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=Math.exp(-t.y/i),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)e=o*Math.sin(a),e=Math.pow((1-e)/(1+e),o/2),a+=h=Math.PI/2-2*Math.atan(r*e)-a;return new V(a*n,t.x*n/i)}},wn=(Object.freeze||Object)({LonLat:vn,Mercator:bn,SphericalMercator:Z}),xn=n({},H,{code:"EPSG:3395",projection:bn,transformation:function(){var t=.5/(Math.PI*bn.R);return G(t,.5,-t,.5)}()}),En=n({},H,{code:"EPSG:4326",projection:vn,transformation:G(1/180,1,-1/180,.5)}),Cn=n({},j,{projection:vn,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var n=e.lng-t.lng,i=e.lat-t.lat;return Math.sqrt(n*n+i*i)},infinite:!0});j.Earth=H,j.EPSG3395=xn,j.EPSG3857=$,j.EPSG900913=q,j.EPSG4326=En,j.Simple=Cn;var Ln=M.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var n=this.getEvents();e.on(n,this),this.once("remove",function(){e.off(n,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});$e.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},_addLayers:function(t){for(var e=0,n=(t=t?g(t)?t:[t]:[]).length;e<n;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[r(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=r(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,n=this._getZoomSpan();for(var i in this._zoomBoundLayers){var s=this._zoomBoundLayers[i].options;t=void 0===s.minZoom?t:Math.min(t,s.minZoom),e=void 0===s.maxZoom?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var kn=Ln.extend({initialize:function(t,e){var n,i;if(p(this,e),this._layers={},t)for(n=0,i=t.length;n<i;n++)this.addLayer(t[n])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,n,i=Array.prototype.slice.call(arguments,1);for(e in this._layers)(n=this._layers[e])[t]&&n[t].apply(n,i);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return r(t)}}),Sn=kn.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),kn.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),kn.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new F;for(var e in this._layers){var n=this._layers[e];t.extend(n.getBounds?n.getBounds():n.getLatLng())}return t}}),Tn=I.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var n=this._getIconUrl(t);if(!n){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(n,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var n=this.options,i=n[e+"Size"];"number"==typeof i&&(i=[i,i]);var s=O(i),o=O("shadow"===e&&n.shadowAnchor||n.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(n.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),In=Tn.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return In.imagePath||(In.imagePath=this._detectIconPath()),(this.options.imagePath||In.imagePath)+Tn.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ie("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");return document.body.removeChild(t),null===e||0!==e.indexOf("url")?"":e.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Pn=Je.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new rn(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),he(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ue(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,n=e._map,i=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,o=ge(e._icon),r=n.getPixelBounds(),a=n.getPixelOrigin(),l=N(r.min._subtract(a).add(s),r.max._subtract(a).subtract(s));if(!l.contains(o)){var h=O((Math.max(l.max.x,o.x)-l.max.x)/(r.max.x-l.max.x)-(Math.min(l.min.x,o.x)-l.min.x)/(r.min.x-l.min.x),(Math.max(l.max.y,o.y)-l.max.y)/(r.max.y-l.max.y)-(Math.min(l.min.y,o.y)-l.min.y)/(r.min.y-l.min.y)).multiplyBy(i);n.panBy(h,{animate:!1}),this._draggable._newPos._add(h),this._draggable._startPos._add(h),_e(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(S(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,n=e._shadow,i=ge(e._icon),s=e._map.layerPointToLatLng(i);n&&_e(n,i),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){S(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Mn=Ln.extend({options:{icon:new In,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){p(this,e),this._latlng=B(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=B(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),n=t.icon.createIcon(this._icon),i=!1;n!==this._icon&&(this._icon&&this._removeIcon(),i=!0,t.title&&(n.title=t.title),"IMG"===n.tagName&&(n.alt=t.alt||"")),he(n,e),t.keyboard&&(n.tabIndex="0"),this._icon=n,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),o=!1;s!==this._shadow&&(this._removeShadow(),o=!0),s&&(he(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),i&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&o&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){_e(this._icon,t),this._shadow&&_e(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(he(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Pn)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Pn(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;pe(this._icon,t),this._shadow&&pe(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Dn=Ln.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),An=Dn.extend({options:{fill:!0,radius:10},initialize:function(t,e){p(this,e),this._latlng=B(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=B(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Dn.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,n=this._clickTolerance(),i=[t+n,e+n];this._pxBounds=new R(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),On=An.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=n({},i,{radius:e})),p(this,e),this._latlng=B(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new F(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Dn.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,n=this._map,i=n.options.crs;if(i.distance===H.distance){var s=Math.PI/180,o=this._mRadius/H.R/s,r=n.project([e+o,t]),a=n.project([e-o,t]),l=r.add(a).divideBy(2),h=n.unproject(l).lat,u=Math.acos((Math.cos(o*s)-Math.sin(e*s)*Math.sin(h*s))/(Math.cos(e*s)*Math.cos(h*s)))/s;(isNaN(u)||0===u)&&(u=o/Math.cos(Math.PI/180*e)),this._point=l.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:l.x-n.project([h,t-u]).x,this._radiusY=l.y-r.y}else{var c=i.unproject(i.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x}this._updateBounds()}}),Rn=Dn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){p(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,n,i=1/0,s=null,o=pn,r=0,a=this._parts.length;r<a;r++)for(var l=this._parts[r],h=1,u=l.length;h<u;h++){var c=o(t,e=l[h-1],n=l[h],!0);c<i&&(i=c,s=o(t,e,n))}return s&&(s.distance=Math.sqrt(i)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a=this._rings[0],l=a.length;if(!l)return null;for(t=0,e=0;t<l-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,i=0;t<l-1;t++)if((i+=n=(s=a[t]).distanceTo(o=a[t+1]))>e)return this._map.layerPointToLatLng([o.x-(r=(i-e)/n)*(o.x-s.x),o.y-r*(o.y-s.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=B(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new F,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return mn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],n=mn(t),i=0,s=t.length;i<s;i++)n?(e[i]=B(t[i]),this._bounds.extend(e[i])):e[i]=this._convertLatLngs(t[i]);return e},_project:function(){var t=new R;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),n=new D(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(n),t.max._add(n),this._pxBounds=t)},_projectLatlngs:function(t,e,n){var i,s,o=t.length;if(t[0]instanceof V){for(s=[],i=0;i<o;i++)s[i]=this._map.latLngToLayerPoint(t[i]),n.extend(s[i]);e.push(s)}else for(i=0;i<o;i++)this._projectLatlngs(t[i],e,n)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,n,i,s,o,r,a,l=this._parts;for(e=0,i=0,s=this._rings.length;e<s;e++)for(n=0,o=(a=this._rings[e]).length;n<o-1;n++)(r=hn(a[n],a[n+1],t,n,!0))&&(l[i]=l[i]||[],l[i].push(r[0]),r[1]===a[n+1]&&n!==o-2||(l[i].push(r[1]),i++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,n=0,i=t.length;n<i;n++)t[n]=an(t[n],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var n,i,s,o,r,a,l=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,o=this._parts.length;n<o;n++)for(i=0,s=(r=(a=this._parts[n]).length)-1;i<r;s=i++)if((e||0!==i)&&ln(t,a[s],a[i])<=l)return!0;return!1}});Rn._flat=fn;var Nn=Rn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a,l=this._rings[0],h=l.length;if(!h)return null;for(o=r=a=0,t=0,e=h-1;t<h;e=t++)r+=((n=l[t]).x+(i=l[e]).x)*(s=n.y*i.x-i.y*n.x),a+=(n.y+i.y)*s,o+=3*s;return this._map.layerPointToLatLng(0===o?l[0]:[r/o,a/o])},_convertLatLngs:function(t){var e=Rn.prototype._convertLatLngs.call(this,t),n=e.length;return n>=2&&e[0]instanceof V&&e[0].equals(e[n-1])&&e.pop(),e},_setLatLngs:function(t){Rn.prototype._setLatLngs.call(this,t),mn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return mn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,n=new D(e,e);if(t=new R(t.min.subtract(n),t.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,s=0,o=this._rings.length;s<o;s++)(i=gn(this._rings[s],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,n,i,s,o,r,a,l,h=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(s=0,a=this._parts.length;s<a;s++)for(o=0,r=(l=(e=this._parts[s]).length)-1;o<l;r=o++)(n=e[o]).y>t.y!=(i=e[r]).y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(h=!h);return h||Rn.prototype._containsPoint.call(this,t,!0)}}),Fn=Sn.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,n,i,s=g(t)?t:t.features;if(s){for(e=0,n=s.length;e<n;e++)((i=s[e]).geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var o=this.options;if(o.filter&&!o.filter(t))return this;var r=zn(t,o);return r?(r.feature=Un(t),r.defaultOptions=r.options,this.resetStyle(r),o.onEachFeature&&o.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}});function zn(t,e){var n,i,s,o,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,l=[],h=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Vn;if(!a&&!r)return null;switch(r.type){case"Point":return n=u(a),h?h(t,n):new Mn(n);case"MultiPoint":for(s=0,o=a.length;s<o;s++)n=u(a[s]),l.push(h?h(t,n):new Mn(n));return new Sn(l);case"LineString":case"MultiLineString":return i=Bn(a,"LineString"===r.type?0:1,u),new Rn(i,e);case"Polygon":case"MultiPolygon":return i=Bn(a,"Polygon"===r.type?1:2,u),new Nn(i,e);case"GeometryCollection":for(s=0,o=r.geometries.length;s<o;s++){var c=zn({geometry:r.geometries[s],type:"Feature",properties:t.properties},e);c&&l.push(c)}return new Sn(l);default:throw new Error("Invalid GeoJSON object.")}}function Vn(t){return new V(t[1],t[0],t[2])}function Bn(t,e,n){for(var i,s=[],o=0,r=t.length;o<r;o++)i=e?Bn(t[o],e-1,n):(n||Vn)(t[o]),s.push(i);return s}function jn(t,e){return e="number"==typeof e?e:6,void 0!==t.alt?[u(t.lng,e),u(t.lat,e),u(t.alt,e)]:[u(t.lng,e),u(t.lat,e)]}function Hn(t,e,n,i){for(var s=[],o=0,r=t.length;o<r;o++)s.push(e?Hn(t[o],e-1,n,i):jn(t[o],i));return!e&&n&&s.push(s[0]),s}function Zn(t,e){return t.feature?n({},t.feature,{geometry:e}):Un(e)}function Un(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Gn={toGeoJSON:function(t){return Zn(this,{type:"Point",coordinates:jn(this.getLatLng(),t)})}};function $n(t,e){return new Fn(t,e)}Mn.include(Gn),On.include(Gn),An.include(Gn),Rn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=Hn(this._latlngs,e?1:0,!1,t);return Zn(this,{type:(e?"Multi":"")+"LineString",coordinates:n})}}),Nn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=e&&!mn(this._latlngs[0]),i=Hn(this._latlngs,n?2:e?1:0,!0,t);return e||(i=[i]),Zn(this,{type:(n?"Multi":"")+"Polygon",coordinates:i})}}),kn.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(n){e.push(n.toGeoJSON(t).geometry.coordinates)}),Zn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var n="GeometryCollection"===e,i=[];return this.eachLayer(function(e){if(e.toGeoJSON){var s=e.toGeoJSON(t);if(n)i.push(s.geometry);else{var o=Un(s);"FeatureCollection"===o.type?i.push.apply(i,o.features):i.push(o)}}}),n?Zn(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}});var qn=$n,Wn=Ln.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,n){this._url=t,this._bounds=z(e),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(he(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&re(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ie("img");he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),this.options.className&&he(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=s(this.fire,this,"load"),e.onerror=s(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,n,e)},_reset:function(){var t=this._image,e=new R(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=e.getSize();_e(t,e.min),t.style.width=n.x+"px",t.style.height=n.y+"px"},_updateOpacity:function(){pe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Kn=Wn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ie("video");if(he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=s(this.fire,this,"load"),t){for(var n=e.getElementsByTagName("source"),i=[],o=0;o<n.length;o++)i.push(n[o].src);this._url=n.length>0?i:[e.src]}else{g(this._url)||(this._url=[this._url]),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop;for(var r=0;r<this._url.length;r++){var a=ie("source");a.src=this._url[r],e.appendChild(a)}}}}),Yn=Ln.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){p(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&pe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&pe(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(pe(this._container,0),this._removeTimeout=setTimeout(s(se,void 0,this._container),200)):se(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=B(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&re(this._container),this},bringToBack:function(){return this._map&&ae(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),n=this._getAnchor();this._zoomAnimated?_e(this._container,t.add(n)):e=e.add(t).add(n);var i=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=i+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),Qn=Yn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Yn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Dn||this._source.on("preclick",Me))},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Dn||this._source.off("preclick",Me))},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=ie("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=ie("div",t+"-content-wrapper",e);if(this._contentNode=ie("div",t+"-content",n),Ae(n),De(this._contentNode),ke(n,"contextmenu",Me),this._tipContainer=ie("div",t+"-tip-container",e),this._tip=ie("div",t+"-tip",this._tipContainer),this.options.closeButton){var i=this._closeButton=ie("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",ke(i,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var n=t.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),e.width=n+1+"px",e.whiteSpace="",e.height="";var i=this.options.maxHeight;i&&t.offsetHeight>i?(e.height=i+"px",he(t,"leaflet-popup-scrolled")):ue(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),n=this._getAnchor();_e(this._container,e.add(n))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+e,i=this._containerWidth,s=new D(this._containerLeft,-n-this._containerBottom);s._add(ge(this._container));var o=t.layerPointToContainerPoint(s),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),l=O(this.options.autoPanPaddingBottomRight||r),h=t.getSize(),u=0,c=0;o.x+i+l.x>h.x&&(u=o.x+i-h.x+l.x),o.x-u-a.x<0&&(u=o.x-a.x),o.y+n+l.y>h.y&&(c=o.y+n-h.y+l.y),o.y-c-a.y<0&&(c=o.y-a.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),Re(t)},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});$e.mergeOptions({closePopupOnClick:!0}),$e.include({openPopup:function(t,e,n){return t instanceof Qn||(t=new Qn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ln.include({bindPopup:function(t,e){return t instanceof Qn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Qn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Re(t),e instanceof Dn?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xn=Yn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){this._contentNode=this._container=ie("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,n=this._container,i=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),o=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,l=O(this.options.offset),h=this._getAnchor();"top"===o?t=t.add(O(-r/2+l.x,-a+l.y+h.y,!0)):"bottom"===o?t=t.subtract(O(r/2-l.x,-l.y,!0)):"center"===o?t=t.subtract(O(r/2+l.x,a/2-h.y+l.y,!0)):"right"===o||"auto"===o&&s.x<i.x?(o="right",t=t.add(O(l.x+h.x,h.y-a/2+l.y,!0))):(o="left",t=t.subtract(O(r+h.x-l.x,a/2-h.y-l.y,!0))),ue(n,"leaflet-tooltip-right"),ue(n,"leaflet-tooltip-left"),ue(n,"leaflet-tooltip-top"),ue(n,"leaflet-tooltip-bottom"),he(n,"leaflet-tooltip-"+o),_e(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&pe(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});$e.include({openTooltip:function(t,e,n){return t instanceof Xn||(t=new Xn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ln.include({bindTooltip:function(t,e){return t instanceof Xn?(p(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=new Xn(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),wt&&(n.click=this._openTooltip)),this[e](n),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(he(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(ue(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){this._tooltip&&this._map&&this.openTooltip(t.layer||t.target,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,n,i=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),n=this._map.containerPointToLayerPoint(e),i=this._map.layerPointToLatLng(n)),this._tooltip.setLatLng(i)}});var Jn=Tn.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;if(e.innerHTML=!1!==n.html?n.html:"",n.bgPos){var i=O(n.bgPos);e.style.backgroundPosition=-i.x+"px "+-i.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Tn.Default=In;var ti=Ln.extend({options:{tileSize:256,opacity:1,updateWhenIdle:_t,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(re(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=a(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof D?t:new D(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,n=this.getPane().children,i=-t(-1/0,1/0),s=0,o=n.length;s<o;s++)e=n[s].style.zIndex,n[s]!==this._container&&e&&(i=t(i,+e));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X){pe(this._container,this.options.opacity);var t=+new Date,e=!1,n=!1;for(var i in this._tiles){var s=this._tiles[i];if(s.current&&s.loaded){var o=Math.min(1,(t-s.loaded)/200);pe(s.el,o),o<1?e=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),e&&(S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var n in this._levels)this._levels[n].el.children.length||n===t?(this._levels[n].el.style.zIndex=e-Math.abs(t-n),this._onUpdateLevel(n)):(se(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var i=this._levels[t],s=this._map;return i||((i=this._levels[t]={}).el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),i.el.style.zIndex=e,i.origin=s.project(s.unproject(s.getPixelOrigin()),t).round(),i.zoom=t,this._setZoomTransform(i,s.getCenter(),s.getZoom()),this._onCreateLevel(i)),this._level=i,i}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var i=e.coords;this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,n,i){var s=Math.floor(t/2),o=Math.floor(e/2),r=n-1,a=new D(+s,+o);a.z=+r;var l=this._tileCoordsToKey(a),h=this._tiles[l];return h&&h.active?(h.retain=!0,!0):(h&&h.loaded&&(h.retain=!0),r>i&&this._retainParent(s,o,r,i))},_retainChildren:function(t,e,n,i){for(var s=2*t;s<2*t+2;s++)for(var o=2*e;o<2*e+2;o++){var r=new D(s,o);r.z=n+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),n+1<i&&this._retainChildren(s,o,n+1,i))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,n,i){var s=this._clampZoom(Math.round(e));(void 0!==this.options.maxZoom&&s>this.options.maxZoom||void 0!==this.options.minZoom&&s<this.options.minZoom)&&(s=void 0),i&&!(this.options.updateWhenZooming&&s!==this._tileZoom)||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==s&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var n in this._levels)this._setZoomTransform(this._levels[n],t,e)},_setZoomTransform:function(t,e,n){var i=this._map.getZoomScale(n,t.zoom),s=t.origin.multiplyBy(i).subtract(this._map._getNewPixelOrigin(e,n)).round();ft?fe(t.el,s,i):_e(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,n=this._tileSize=this.getTileSize(),i=this._tileZoom,s=this._map.getPixelWorldBounds(this._tileZoom);s&&(this._globalTileRange=this._pxBoundsToTileRange(s)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],i).x/n.x),Math.ceil(t.project([0,e.wrapLng[1]],i).x/n.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],i).y/n.x),Math.ceil(t.project([e.wrapLat[1],0],i).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,n=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(n,this._tileZoom),s=e.project(t,this._tileZoom).floor(),o=e.getSize().divideBy(2*i);return new R(s.subtract(o),s.add(o))},_update:function(t){var e=this._map;if(e){var n=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var i=this._getTiledPixelBounds(t),s=this._pxBoundsToTileRange(i),o=s.getCenter(),r=[],a=this.options.keepBuffer,l=new R(s.getBottomLeft().subtract([a,-a]),s.getTopRight().add([a,-a]));if(!(isFinite(s.min.x)&&isFinite(s.min.y)&&isFinite(s.max.x)&&isFinite(s.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var h in this._tiles){var u=this._tiles[h].coords;u.z===this._tileZoom&&l.contains(new D(u.x,u.y))||(this._tiles[h].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(t,n);else{for(var c=s.min.y;c<=s.max.y;c++)for(var d=s.min.x;d<=s.max.x;d++){var p=new D(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort(function(t,e){return t.distanceTo(o)-e.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],f);this._level.el.appendChild(f)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var n=this._globalTileRange;if(!e.wrapLng&&(t.x<n.min.x||t.x>n.max.x)||!e.wrapLat&&(t.y<n.min.y||t.y>n.max.y))return!1}if(!this.options.bounds)return!0;var i=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(i)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,n=this.getTileSize(),i=t.scaleBy(n),s=i.add(n);return[e.unproject(i,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),n=new F(e[0],e[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),n=new D(+e[0],+e[1]);return n.z=+e[2],n},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){he(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,X&&this.options.opacity<1&&pe(t,this.options.opacity),et&&!nt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var n=this._getTilePos(t),i=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),s(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&k(s(this._tileReady,this,t,null,o)),_e(o,n),this._tiles[i]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,n){e&&this.fire("tileerror",{error:e,tile:n,coords:t});var i=this._tileCoordsToKey(t);(n=this._tiles[i])&&(n.loaded=+new Date,this._map._fadeAnimated?(pe(n.el,0),S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),e||(he(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(s(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new R(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ei=ti.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Ct&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),et||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var n=document.createElement("img");return ke(n,"load",s(this._tileOnLoad,this,e,n)),ke(n,"error",s(this._tileOnError,this,e,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return _(this._url,n(e,this.options))},_tileOnLoad:function(t,e){X?setTimeout(s(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,n){var i=this.options.errorTileUrl;i&&e.getAttribute("src")!==i&&(e.src=i),t(n,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,e.complete||(e.src=v,se(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return st||e.el.setAttribute("src",v),ti.prototype._removeTile.call(this,t)},_tileReady:function(t,e,n){if(this._map&&(!n||n.getAttribute("src")!==v))return ti.prototype._tileReady.call(this,t,e,n)}});function ni(t,e){return new ei(t,e)}var ii=ei.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var s in e)s in this.options||(i[s]=e[s]);var o=(e=p(this,e)).detectRetina&&Ct?2:1,r=this.getTileSize();i.width=r.x*o,i.height=r.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,ei.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),n=this._crs,i=N(n.project(e[0]),n.project(e[1])),s=i.min,o=i.max,r=(this._wmsVersion>=1.3&&this._crs===En?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ei.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});ei.WMS=ii,ni.wms=function(t,e){return new ii(t,e)};var si=Ln.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&he(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var n=this._map.getZoomScale(e,this._zoom),i=ge(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),r=this._map.project(t,e).subtract(o),a=s.multiplyBy(-n).add(i).add(s).subtract(r);ft?fe(this._container,a,n):_e(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),n=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new R(n,n.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),oi=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){si.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ke(t,"mousemove",a(this._onMouseMove,32,this),this),ke(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ke(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,se(this._container),Te(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=this._container,n=t.getSize(),i=Ct?2:1;_e(e,t.min),e.width=i*n.x,e.height=i*n.y,e.style.width=n.x+"px",e.style.height=n.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){si.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,n=e.next,i=e.prev;n?n.prev=i:this._drawLast=i,i?i.next=n:this._drawFirst=n,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,n,i=t.options.dashArray.split(/[, ]+/),s=[];for(n=0;n<i.length;n++){if(e=Number(i[n]),isNaN(e))return;s.push(e)}t.options._dashArray=s}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new R,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var n=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var i=this._drawFirst;i;i=i.next)t=i.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var n,i,s,o,r=t._parts,a=r.length,l=this._ctx;if(a){for(l.beginPath(),n=0;n<a;n++){for(i=0,s=r[n].length;i<s;i++)o=r[n][i],l[i?"lineTo":"moveTo"](o.x,o.y);e&&l.closePath()}this._fillStroke(l,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,n=this._ctx,i=Math.max(Math.round(t._radius),1),s=(Math.max(Math.round(t._radiusY),1)||i)/i;1!==s&&(n.save(),n.scale(1,s)),n.beginPath(),n.arc(e.x,e.y/s,i,0,2*Math.PI,!1),1!==s&&n.restore(),this._fillStroke(n,t)}},_fillStroke:function(t,e){var n=e.options;n.fill&&(t.globalAlpha=n.fillOpacity,t.fillStyle=n.fillColor||n.color,t.fill(n.fillRule||"evenodd")),n.stroke&&0!==n.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=n.opacity,t.lineWidth=n.weight,t.strokeStyle=n.color,t.lineCap=n.lineCap,t.lineJoin=n.lineJoin,t.stroke())},_onClick:function(t){for(var e,n,i=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)(e=s.layer).options.interactive&&e._containsPoint(i)&&!this._map._draggableMoved(e)&&(n=e);n&&(je(t),this._fireEvent([n],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ue(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var n,i,s=this._drawFirst;s;s=s.next)(n=s.layer).options.interactive&&n._containsPoint(e)&&(i=n);i!==this._hoveredLayer&&(this._handleMouseOut(t),i&&(he(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseover"),this._hoveredLayer=i)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,n){this._map._fireDOMEvent(e,n||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;n&&(n.prev=i,i?i.next=n:n&&(this._drawFirst=n),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;i&&(i.next=n,n?n.prev=i:i&&(this._drawLast=i),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function ri(t){return Lt?new oi(t):null}var ai=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),li={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(si.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ai("shape");he(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ai("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,n=t._fill,i=t.options,s=t._container;s.stroked=!!i.stroke,s.filled=!!i.fill,i.stroke?(e||(e=t._stroke=ai("stroke")),s.appendChild(e),e.weight=i.weight+"px",e.color=i.color,e.opacity=i.opacity,e.dashStyle=i.dashArray?g(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):"",e.endcap=i.lineCap.replace("butt","flat"),e.joinstyle=i.lineJoin):e&&(s.removeChild(e),t._stroke=null),i.fill?(n||(n=t._fill=ai("fill")),s.appendChild(n),n.color=i.fillColor||i.color,n.opacity=i.fillOpacity):n&&(s.removeChild(n),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),n=Math.round(t._radius),i=Math.round(t._radiusY||n);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+n+","+i+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){re(t._container)},_bringToBack:function(t){ae(t._container)}},hi=St?ai:W,ui=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=hi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=hi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Te(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=t.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,n.setAttribute("width",e.x),n.setAttribute("height",e.y)),_e(n,t.min),n.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=hi("path");t.options.className&&he(e,t.options.className),t.options.interactive&&he(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,n=t.options;e&&(n.stroke?(e.setAttribute("stroke",n.color),e.setAttribute("stroke-opacity",n.opacity),e.setAttribute("stroke-width",n.weight),e.setAttribute("stroke-linecap",n.lineCap),e.setAttribute("stroke-linejoin",n.lineJoin),n.dashArray?e.setAttribute("stroke-dasharray",n.dashArray):e.removeAttribute("stroke-dasharray"),n.dashOffset?e.setAttribute("stroke-dashoffset",n.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),n.fill?(e.setAttribute("fill",n.fillColor||n.color),e.setAttribute("fill-opacity",n.fillOpacity),e.setAttribute("fill-rule",n.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,K(t._parts,e))},_updateCircle:function(t){var e=t._point,n=Math.max(Math.round(t._radius),1),i="a"+n+","+(Math.max(Math.round(t._radiusY),1)||n)+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-n)+","+e.y+i+2*n+",0 "+i+2*-n+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){re(t._path)},_bringToBack:function(t){ae(t._path)}});function ci(t){return kt||St?new ui(t):null}St&&ui.include(li),$e.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&ri(t)||ci(t)}});var di=Nn.extend({initialize:function(t,e){Nn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=z(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ui.create=hi,ui.pointsToPath=K,Fn.geometryToLayer=zn,Fn.coordsToLatLng=Vn,Fn.coordsToLatLngs=Bn,Fn.latLngToCoords=jn,Fn.latLngsToCoords=Hn,Fn.getFeature=Zn,Fn.asFeature=Un,$e.mergeOptions({boxZoom:!0});var pi=Je.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Te(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),qt(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(t),ke(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),he(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new R(this._point,this._startPoint),n=e.getSize();_e(this._box,e.min),this._box.style.width=n.x+"px",this._box.style.height=n.y+"px"},_finish:function(){this._moved&&(se(this._box),ue(this._container,"leaflet-crosshair")),Wt(),be(),Te(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(s(this._resetState,this),0);var e=new F(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});$e.addInitHook("addHandler","boxZoom",pi),$e.mergeOptions({doubleClickZoom:!0});var mi=Je.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,n=e.getZoom(),i=e.options.zoomDelta,s=t.originalEvent.shiftKey?n-i:n+i;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});$e.addInitHook("addHandler","doubleClickZoom",mi),$e.mergeOptions({dragging:!0,inertia:!nt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=Je.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new rn(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}he(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ue(this._map._container,"leaflet-grab"),ue(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=z(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),n=this._initialWorldOffset,i=this._draggable._newPos.x,s=(i-e+n)%t+e-n,o=(i+e+n)%t-e-n,r=Math.abs(s+n)<Math.abs(o+n)?s:o;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,n=e.options,i=!n.inertia||this._times.length<2;if(e.fire("dragend",t),i)e.fire("moveend");else{this._prunePositions(+new Date);var s=this._lastPos.subtract(this._positions[0]),o=n.easeLinearity,r=s.multiplyBy(o/((this._lastTime-this._times[0])/1e3)),a=r.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,a),h=r.multiplyBy(l/a),u=l/(n.inertiaDeceleration*o),c=h.multiplyBy(-u/2).round();c.x||c.y?(c=e._limitOffset(c,e.options.maxBounds),k(function(){e.panBy(c,{duration:u,easeLinearity:o,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}});$e.addInitHook("addHandler","dragging",fi),$e.mergeOptions({keyboard:!0,keyboardPanDelta:80});var _i=Je.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),ke(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Te(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,n=t.scrollTop||e.scrollTop,i=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(i,n)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,n,i=this._panKeys={},s=this.keyCodes;for(e=0,n=s.left.length;e<n;e++)i[s.left[e]]=[-1*t,0];for(e=0,n=s.right.length;e<n;e++)i[s.right[e]]=[t,0];for(e=0,n=s.down.length;e<n;e++)i[s.down[e]]=[0,t];for(e=0,n=s.up.length;e<n;e++)i[s.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,n,i=this._zoomKeys={},s=this.keyCodes;for(e=0,n=s.zoomIn.length;e<n;e++)i[s.zoomIn[e]]=t;for(e=0,n=s.zoomOut.length;e<n;e++)i[s.zoomOut[e]]=-t},_addHooks:function(){ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Te(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,n=t.keyCode,i=this._map;if(n in this._panKeys)i._panAnim&&i._panAnim._inProgress||(e=this._panKeys[n],t.shiftKey&&(e=O(e).multiplyBy(3)),i.panBy(e),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds));else if(n in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!i._popup||!i._popup.options.closeOnEscapeKey)return;i.closePopup()}Re(t)}}});$e.addInitHook("addHandler","keyboard",_i),$e.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var gi=Je.extend({addHooks:function(){ke(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Te(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=ze(t),n=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(s(this._performZoom,this),i),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),n=this._map.options.zoomSnap||0;t._stop();var i=4*Math.log(2/(1+Math.exp(-Math.abs(this._delta/(4*this._map.options.wheelPxPerZoomLevel)))))/Math.LN2,s=n?Math.ceil(i/n)*n:i,o=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,o&&("center"===t.options.scrollWheelZoom?t.setZoom(e+o):t.setZoomAround(this._lastMousePos,e+o))}});$e.addInitHook("addHandler","scrollWheelZoom",gi),$e.mergeOptions({tap:!0,tapTolerance:15});var yi=Je.extend({addHooks:function(){ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Te(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Oe(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],n=e.target;this._startPos=this._newPos=new D(e.clientX,e.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&he(n,"leaflet-active"),this._holdTimeout=setTimeout(s(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),ke(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Te(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],n=e.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&ue(n,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var n=document.createEvent("MouseEvents");n._simulated=!0,e.target._simulatedClick=!0,n.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(n)}});wt&&!bt&&$e.addInitHook("addHandler","tap",yi),$e.mergeOptions({touchZoom:wt&&!nt,bounceAtZoomLimits:!0});var vi=Je.extend({addHooks:function(){he(this._map._container,"leaflet-touch-zoom"),ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Te(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(n.add(i)._divideBy(2))),this._startDist=n.distanceTo(i),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ke(document,"touchmove",this._onTouchMove,this),ke(document,"touchend",this._onTouchEnd,this),Oe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]),o=n.distanceTo(i)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var r=n._add(i)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=s(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=k(a,this,!0),Oe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),Te(document,"touchmove",this._onTouchMove),Te(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});$e.addInitHook("addHandler","touchZoom",vi),$e.BoxZoom=pi,$e.DoubleClickZoom=mi,$e.Drag=fi,$e.Keyboard=_i,$e.ScrollWheelZoom=gi,$e.Tap=yi,$e.TouchZoom=vi,Object.freeze=e,t.version="1.4.0",t.Control=qe,t.control=We,t.Browser=It,t.Evented=M,t.Mixin=en,t.Util=T,t.Class=I,t.Handler=Je,t.extend=n,t.bind=s,t.stamp=r,t.setOptions=p,t.DomEvent=Ue,t.DomUtil=Le,t.PosAnimation=Ge,t.Draggable=rn,t.LineUtil=_n,t.PolyUtil=yn,t.Point=D,t.point=O,t.Bounds=R,t.bounds=N,t.Transformation=U,t.transformation=G,t.Projection=wn,t.LatLng=V,t.latLng=B,t.LatLngBounds=F,t.latLngBounds=z,t.CRS=j,t.GeoJSON=Fn,t.geoJSON=$n,t.geoJson=qn,t.Layer=Ln,t.LayerGroup=kn,t.layerGroup=function(t,e){return new kn(t,e)},t.FeatureGroup=Sn,t.featureGroup=function(t){return new Sn(t)},t.ImageOverlay=Wn,t.imageOverlay=function(t,e,n){return new Wn(t,e,n)},t.VideoOverlay=Kn,t.videoOverlay=function(t,e,n){return new Kn(t,e,n)},t.DivOverlay=Yn,t.Popup=Qn,t.popup=function(t,e){return new Qn(t,e)},t.Tooltip=Xn,t.tooltip=function(t,e){return new Xn(t,e)},t.Icon=Tn,t.icon=function(t){return new Tn(t)},t.DivIcon=Jn,t.divIcon=function(t){return new Jn(t)},t.Marker=Mn,t.marker=function(t,e){return new Mn(t,e)},t.TileLayer=ei,t.tileLayer=ni,t.GridLayer=ti,t.gridLayer=function(t){return new ti(t)},t.SVG=ui,t.svg=ci,t.Renderer=si,t.Canvas=oi,t.canvas=ri,t.Path=Dn,t.CircleMarker=An,t.circleMarker=function(t,e){return new An(t,e)},t.Circle=On,t.circle=function(t,e,n){return new On(t,e,n)},t.Polyline=Rn,t.polyline=function(t,e){return new Rn(t,e)},t.Polygon=Nn,t.polygon=function(t,e){return new Nn(t,e)},t.Rectangle=di,t.rectangle=function(t,e){return new di(t,e)},t.Map=$e,t.map=function(t,e){return new $e(t,e)};var bi=window.L;t.noConflict=function(){return window.L=bi,this},window.L=t}(e)},GPNb:function(t,e){function n(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="GPNb"},INa4:function(t,e){!function(t,e,n){L.drawVersion="0.4.14",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(t,e){this._map=t,this._container=t._container,this._overlayPane=t._panes.overlayPane,this._popupPane=t._panes.popupPane,e&&e.shapeOptions&&(e.shapeOptions=L.Util.extend({},this.options.shapeOptions,e.shapeOptions)),L.setOptions(this,e);var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(L.DomUtil.disableTextSelection(),t.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(t){L.setOptions(this,t)},_fireCreatedEvent:function(t){this._map.fire(L.Draw.Event.CREATED,{layer:t,layerType:this.type})},_cancelDrawing:function(t){27===t.keyCode&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(t,e){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,e&&e.drawError&&(e.drawError=L.Util.extend({},this.options.drawError,e.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),e=this._poly,n=e.getLatLngs(),i=n.splice(-1,1)[0];this._poly.setLatLngs(n),this._markerGroup.removeLayer(t),e.getLatLngs().length<2&&this._map.removeLayer(e),this._vertexChanged(i,!1)}},addVertex:function(t){this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(t)?this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(t)),this._poly.addLatLng(t),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),this._vertexChanged(t,!0))},completeShape:function(){this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var t=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),e=this._poly.newLatLngIntersects(t[t.length-1]);!this.options.allowIntersection&&e||!this._shapeIsValid()?this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_shapeIsValid:function(){return!0},_onZoomEnd:function(){null!==this._markers&&this._updateGuide()},_onMouseMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.layerPointToLatLng(e);this._currentLatLng=n,this._updateTooltip(n),this._updateGuide(e),this._mouseMarker.setLatLng(n),L.DomEvent.preventDefault(t.originalEvent)},_vertexChanged:function(t,e){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(t,e),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(t){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent;this._startPoint.call(this,e.clientX,e.clientY)}},_startPoint:function(t,e){this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){var e=t.originalEvent;this._endPoint.call(this,e.clientX,e.clientY,t),this._clickHandled=null},_endPoint:function(e,n,i){if(this._mouseDownOrigin){var s=L.point(e,n).distanceTo(this._mouseDownOrigin),o=this._calculateFinishDistance(i.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(i.latlng),this._finishShape()):o<10&&L.Browser.touch?this._finishShape():Math.abs(s)<9*(t.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,n,i=t.originalEvent;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=i.touches[0].clientX,n=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,n),this._endPoint.call(this,e,n,t),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var n;if(this.type===L.Draw.Polyline.TYPE)n=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;n=this._markers[0]}var i=this._map.latLngToContainerPoint(n.getLatLng()),s=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),o=this._map.latLngToContainerPoint(s.getLatLng());e=i.distanceTo(o)}else e=1/0;return e},_updateFinishHandler:function(){var t=this._markers.length;t>1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_updateGuide:function(t){var e=this._markers?this._markers.length:0;e>0&&(t=t||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[e-1].getLatLng()),t))},_updateTooltip:function(t){var e=this._getTooltipText();t&&this._tooltip.updatePosition(t),this._errorShown||this._tooltip.updateContent(e)},_drawGuide:function(t,e){var n,i,s,o=Math.floor(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))),r=this.options.maxGuideLineLength,a=o>r?o-r:this.options.guidelineDistance;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));a<o;a+=this.options.guidelineDistance)n=a/o,i={x:Math.floor(t.x*(1-n)+n*e.x),y:Math.floor(t.y*(1-n)+n*e.y)},(s=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer)).style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(s,i)},_updateGuideColor:function(t){if(this._guidesContainer)for(var e=0,n=this._guidesContainer.childNodes.length;e<n;e++)this._guidesContainer.childNodes[e].style.backgroundColor=t},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var t,e;return 0===this._markers.length?t={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(e=this.options.showLength?this._getMeasurementString():"",t=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:e}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:e}),t},_updateRunningMeasure:function(t,e){var n,i,s=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(n=s-(e?2:1),i=L.GeometryUtil.isVersion07x()?t.distanceTo(this._markers[n].getLatLng())*(this.options.factor||1):this._map.distance(t,this._markers[n].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=i*(e?1:-1))},_getMeasurementString:function(){var t,e=this._currentLatLng,n=this._markers[this._markers.length-1].getLatLng();return t=L.GeometryUtil.isVersion07x()?n&&e&&e.distanceTo?this._measurementRunningTotal+e.distanceTo(n)*(this.options.factor||1):this._measurementRunningTotal||0:n&&e?this._measurementRunningTotal+this._map.distance(e,n)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(t,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var t=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(t,e){L.Draw.Polyline.prototype.initialize.call(this,t,e),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var t=this._markers.length;1===t&&this._markers[0].on("click",this._finishShape,this),t>2&&(this._markers[t-1].on("dblclick",this._finishShape,this),t>3&&this._markers[t-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var t,e;return 0===this._markers.length?t=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(t=L.drawLocal.draw.handlers.polygon.tooltip.cont,e=this._getMeasurementString()):(t=L.drawLocal.draw.handlers.polygon.tooltip.end,e=this._getMeasurementString()),{text:t,subtext:e}},_getMeasurementString:function(){var t=this._area,e="";return t||this.options.showLength?(this.options.showLength&&(e=L.Draw.Polyline.prototype._getMeasurementString.call(this)),t&&(e+="<br>"+L.GeometryUtil.readableArea(t,this.options.metric,this.options.precision)),e):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(t,e){var n;!this.options.allowIntersection&&this.options.showArea&&(n=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(n)),L.Draw.Polyline.prototype._vertexChanged.call(this,t,e)},_cleanUpShape:function(){var t=this._markers.length;t>0&&(this._markers[0].off("click",this._finishShape,this),t>2&&this._markers[t-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(t,e){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),e.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(e,"mouseup",this._onMouseUp,this),L.DomEvent.off(e,"touchend",this._onMouseUp,this),e.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(t){this._isDrawing=!0,this._startLatLng=t.latlng,L.DomEvent.on(e,"mouseup",this._onMouseUp,this).on(e,"touchend",this._onMouseUp,this).preventDefault(t.originalEvent)},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(e))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,showArea:!0,clickable:!0},metric:!0},initialize:function(t,e){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(t){this._shape||this._isCurrentlyTwoClickDrawing?this._isCurrentlyTwoClickDrawing&&!function(t,e){for(;(t=t.parentElement)&&!t.classList.contains("leaflet-pane"););return t}(t.target)||L.Draw.SimpleShape.prototype._onMouseUp.call(this):this._isCurrentlyTwoClickDrawing=!0},_drawShape:function(t){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,t)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,t),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_getTooltipText:function(){var t,e,n,i=L.Draw.SimpleShape.prototype._getTooltipText.call(this),s=this.options.showArea;return this._shape&&(t=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),e=L.GeometryUtil.geodesicArea(t),n=s?L.GeometryUtil.readableArea(e,this.options.metric):""),{text:i.text,subtext:n}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._mouseMarker.setLatLng(e),this._marker?(e=this._mouseMarker.getLatLng(),this._marker.setLatLng(e)):(this._marker=this._createMarker(e),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(t){return new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(t){this._onMouseMove(t),this._onClick()},_fireCreatedEvent:function(){var t=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},_fireCreatedEvent:function(){var t=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)},_createMarker:function(t){return new L.CircleMarker(t,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(t,e){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},_drawShape:function(t){if(L.GeometryUtil.isVersion07x())var e=this._startLatLng.distanceTo(t);else e=this._map.distance(this._startLatLng,t);this._shape?this._shape.setRadius(e):(this._shape=new L.Circle(this._startLatLng,e,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_onMouseMove:function(t){var e,n=t.latlng,i=this.options.showRadius,s=this.options.metric;if(this._tooltip.updatePosition(n),this._isDrawing){this._drawShape(n),e=this._shape.getRadius().toFixed(1);var o="";i&&(o=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(e,s,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:o})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(t,e){this._marker=t,L.setOptions(this,e)},addHooks:function(){var t=this._marker;t.dragging.enable(),t.on("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},removeHooks:function(){var t=this._marker;t.dragging.disable(),t.off("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},_onDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_toggleMarkerHighlight:function(){var t=this._marker._icon;t&&(t.style.display="none",L.DomUtil.hasClass(t,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,-4)):(L.DomUtil.addClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,4)),t.style.display="")},_offsetMarker:function(t,e){var n=parseInt(t.style.marginTop,10)-e,i=parseInt(t.style.marginLeft,10)-e;t.style.marginTop=n+"px",t.style.marginLeft=i+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(t){this.latlngs=[t._latlngs],t._holes&&(this.latlngs=this.latlngs.concat(t._holes)),this._poly=t,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(t){for(var e=0;e<this._verticesHandlers.length;e++)t(this._verticesHandlers[e])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(t){t.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(t){t.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(t){t.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var t=0;t<this.latlngs.length;t++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[t],this._poly.options.poly))},_updateLatLngs:function(t){this.latlngs=[t.layer._latlngs],t.layer._holes&&(this.latlngs=this.latlngs.concat(t.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(t,e,n){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=t,n&&n.drawError&&(n.drawError=L.Util.extend({},this.options.drawError,n.drawError)),this._latlngs=e,L.setOptions(this,n)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var t=this._poly,e=t._path;t instanceof L.Polygon||(t.options.fill=!1,t.options.editing&&(t.options.editing.fill=!1)),e&&t.options.editing.className&&(t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var t=this._poly,e=t._path;e&&t.options.editing.className&&(t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.original),t._map&&(t._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var t,e,n,i,s,o,r=this._defaultShape();for(t=0,n=r.length;t<n;t++)(i=this._createMarker(r[t],t)).on("click",this._onMarkerClick,this),i.on("contextmenu",this._onContextMenu,this),this._markers.push(i);for(t=0,e=n-1;t<n;e=t++)(0!==t||L.Polygon&&this._poly instanceof L.Polygon)&&(this._createMiddleMarker(s=this._markers[e],o=this._markers[t]),this._updatePrevNext(s,o))},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:this.options.icon});return n._origLatLng=t,n._index=e,n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(n),n},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var t=this._defaultShape(),e=[].splice.apply(t,arguments);return this._poly._convertLatLngs(t,!0),this._poly.redraw(),e},_removeMarker:function(t){var e=t._index;this._markerGroup.removeLayer(t),this._markers.splice(e,1),this._spliceLatLngs(e,1),this._updateIndexes(e,-1),t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(t){var e=t.target,n=this._poly;if(L.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),n.options.poly){var i=n._map._editTooltip;if(!n.options.poly.allowIntersection&&n.intersects()){var s=n.options.color;n.setStyle({color:this.options.drawError.color}),0!==L.version.indexOf("0.7")&&e.dragging._draggable._onUp(t),this._onMarkerClick(t),i&&i.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){n.setStyle({color:s}),i&&i.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var o=this._poly.getLatLngs();this._poly._convertLatLngs(o,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(t){var e=L.Polygon&&this._poly instanceof L.Polygon?4:3,n=t.target;this._defaultShape().length<e||(this._removeMarker(n),this._updatePrevNext(n._prev,n._next),n._middleLeft&&this._markerGroup.removeLayer(n._middleLeft),n._middleRight&&this._markerGroup.removeLayer(n._middleRight),n._prev&&n._next?this._createMiddleMarker(n._prev,n._next):n._prev?n._next||(n._prev._middleRight=null):n._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(t){this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:t.target,layers:this._markerGroup,poly:this._poly}),L},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e),i=t.target;L.extend(i._origLatLng,n),i._middleLeft&&i._middleLeft.setLatLng(this._getMiddleLatLng(i._prev,i)),i._middleRight&&i._middleRight.setLatLng(this._getMiddleLatLng(i,i._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(n){n._index>t&&(n._index+=e)})},_createMiddleMarker:function(t,e){var n,i,s,o=this._getMiddleLatLng(t,e),r=this._createMarker(o);r.setOpacity(.6),t._middleRight=e._middleLeft=r,i=function(){r.off("touchmove",i,this);var s=e._index;r._index=s,r.off("click",n,this).on("click",this._onMarkerClick,this),o.lat=r.getLatLng().lat,o.lng=r.getLatLng().lng,this._spliceLatLngs(s,0,o),this._markers.splice(s,0,r),r.setOpacity(1),this._updateIndexes(s,1),e._index++,this._updatePrevNext(t,r),this._updatePrevNext(r,e),this._poly.fire("editstart")},s=function(){r.off("dragstart",i,this),r.off("dragend",s,this),r.off("touchmove",i,this),this._createMiddleMarker(t,r),this._createMiddleMarker(r,e)},r.on("click",n=function(){i.call(this),s.call(this),this._fireEdit()},this).on("dragstart",i,this).on("dragend",s,this).on("touchmove",i,this),this._markerGroup.addLayer(r)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var n=this._poly._map,i=n.project(t.getLatLng()),s=n.project(e.getLatLng());return n.unproject(i._add(s)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(t,e){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=t,L.Util.setOptions(this,e)},addHooks:function(){var t=this._shape;this._shape._map&&(this._map=this._shape._map,t.setStyle(t.options.editing),t._map&&(this._map=t._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape;if(t.setStyle(t.options.original),t._map){this._unbindMarker(this._moveMarker);for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._unbindMarker(this._resizeMarkers[e]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:e,zIndexOffset:10});return this._bindMarker(n),this._markerGroup.addLayer(n),n},_bindMarker:function(t){t.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(t){t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(t){t.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(t){var e=t.target,n=e.getLatLng();e===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(t){t.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(t){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t),"function"==typeof this._getCorners){var e=this._getCorners(),n=t.target,i=n._cornerIndex;n.setOpacity(0),this._oppositeCorner=e[(i+2)%4],this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e);return t.target===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),!1},_onTouchEnd:function(t){t.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getBounds().getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners();this._resizeMarkers=[];for(var e=0,n=t.length;e<n;e++)this._resizeMarkers.push(this._createMarker(t[e],this.options.resizeIcon)),this._resizeMarkers[e]._cornerIndex=e},_onMarkerDragStart:function(t){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t);var e=this._getCorners(),n=t.target._cornerIndex;this._oppositeCorner=e[(n+2)%4],this._toggleCornerMarkers(0,n)},_onMarkerDragEnd:function(t){var e,n=t.target;n===this._moveMarker&&(e=this._shape.getBounds().getCenter(),n.setLatLng(e)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,t)},_move:function(t){for(var e,n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),i=this._shape.getBounds().getCenter(),s=[],o=0,r=n.length;o<r;o++)s.push([t.lat+(e=[n[o].lat-i.lat,n[o].lng-i.lng])[0],t.lng+e[1]]);this._shape.setLatLngs(s),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(t){var e;this._shape.setBounds(L.latLngBounds(t,this._oppositeCorner)),e=this._shape.getBounds(),this._moveMarker.setLatLng(e.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var t=this._shape.getBounds();return[t.getNorthWest(),t.getNorthEast(),t.getSouthEast(),t.getSouthWest()]},_toggleCornerMarkers:function(t){for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setOpacity(t)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setLatLng(t[e])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getLatLng();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(t){if(this._resizeMarkers.length){var e=this._getResizeMarkerPoint(t);this._resizeMarkers[0].setLatLng(e)}this._shape.setLatLng(t),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var t=this._shape.getLatLng(),e=this._getResizeMarkerPoint(t);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(e,this.options.resizeIcon))},_getResizeMarkerPoint:function(t){var e=this._shape._radius*Math.cos(Math.PI/4),n=this._map.project(t);return this._map.unproject([n.x+e,n.y-e])},_resize:function(t){var e=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=e.distanceTo(t):radius=this._map.distance(e,t),this._shape.setRadius(radius),this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart),L.DomEvent.off(this._container,"touchend",this._onTouchEnd),L.DomEvent.off(this._container,"touchmove",this._onTouchMove),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave))},_touchEvent:function(t,e){var n={};if(void 0!==t.touches){if(!t.touches.length)return;n=t.touches[0]}else{if("touch"!==t.pointerType)return;if(n=t,!this._filterClick(t))return}var i=this._map.mouseEventToContainerPoint(n),s=this._map.mouseEventToLayerPoint(n),o=this._map.layerPointToLatLng(s);this._map.fire(e,{latlng:o,layerPoint:s,containerPoint:i,pageX:n.pageX,pageY:n.pageY,originalEvent:t})},_filterClick:function(t){var e=t.timeStamp||t.originalEvent.timeStamp,n=L.DomEvent._lastClick&&e-L.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?(L.DomEvent.stop(t),!1):(L.DomEvent._lastClick=e,!0)},_onTouchStart:function(t){this._map._loaded&&this._touchEvent(t,"touchstart")},_onTouchEnd:function(t){this._map._loaded&&this._touchEvent(t,"touchend")},_onTouchCancel:function(t){if(this._map._loaded){var e="touchcancel";this._detectIE()&&(e="pointercancel"),this._touchEvent(t,e)}},_onTouchLeave:function(t){this._map._loaded&&this._touchEvent(t,"touchleave")},_onTouchMove:function(t){this._map._loaded&&this._touchEvent(t,"touchmove")},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];e.concat(this._detectIE?["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]:["touchcancel"]),L.DomUtil.addClass(t,"leaflet-clickable"),L.DomEvent.on(t,"click",this._onMouseClick,this),L.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var n=0;n<e.length;n++)L.DomEvent.on(t,e[n],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.LatLngUtil={cloneLatLngs:function(t){for(var e=[],n=0,i=t.length;n<i;n++)Array.isArray(t[n])?e.push(L.LatLngUtil.cloneLatLngs(t[n])):e.push(this.cloneLatLng(t[n]));return e},cloneLatLng:function(t){return L.latLng(t.lat,t.lng)}},function(){var t={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(t){var e,n,i=t.length,s=0,o=Math.PI/180;if(i>2){for(var r=0;r<i;r++)s+=((n=t[(r+1)%i]).lng-(e=t[r]).lng)*o*(2+Math.sin(e.lat*o)+Math.sin(n.lat*o));s=6378137*s*6378137/2}return Math.abs(s)},formattedNumber:function(t,e){var n=parseFloat(t).toFixed(e),i=L.drawLocal.format&&L.drawLocal.format.numeric,s=i&&i.delimiters,o=s&&s.thousands,r=s&&s.decimal;if(o||r){var a=n.split(".");n=o?a[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o):a[0],r=r||".",a.length>1&&(n=n+r+a[1])}return n},readableArea:function(e,n,i){var s,o;return i=L.Util.extend({},t,i),n?(o=["ha","m"],type=typeof n,"string"===type?o=[n]:"boolean"!==type&&(o=n),s=e>=1e6&&-1!==o.indexOf("km")?L.GeometryUtil.formattedNumber(1e-6*e,i.km)+" km\xb2":e>=1e4&&-1!==o.indexOf("ha")?L.GeometryUtil.formattedNumber(1e-4*e,i.ha)+" ha":L.GeometryUtil.formattedNumber(e,i.m)+" m\xb2"):s=(e/=.836127)>=3097600?L.GeometryUtil.formattedNumber(e/3097600,i.mi)+" mi\xb2":e>=4840?L.GeometryUtil.formattedNumber(e/4840,i.ac)+" acres":L.GeometryUtil.formattedNumber(e,i.yd)+" yd\xb2",s},readableDistance:function(e,n,i,s,o){var r;switch(o=L.Util.extend({},t,o),n?"string"==typeof n?n:"metric":i?"feet":s?"nauticalMile":"yards"){case"metric":r=e>1e3?L.GeometryUtil.formattedNumber(e/1e3,o.km)+" km":L.GeometryUtil.formattedNumber(e,o.m)+" m";break;case"feet":e*=3.28083,r=L.GeometryUtil.formattedNumber(e,o.ft)+" ft";break;case"nauticalMile":e*=.53996,r=L.GeometryUtil.formattedNumber(e/1e3,o.nm)+" nm";break;case"yards":default:r=(e*=1.09361)>1760?L.GeometryUtil.formattedNumber(e/1760,o.mi)+" miles":L.GeometryUtil.formattedNumber(e,o.yd)+" yd"}return r},isVersion07x:function(){var t=L.version.split(".");return 0===parseInt(t[0],10)&&7===parseInt(t[1],10)}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(t,e,n,i){return this._checkCounterclockwise(t,n,i)!==this._checkCounterclockwise(e,n,i)&&this._checkCounterclockwise(t,e,n)!==this._checkCounterclockwise(t,e,i)},_checkCounterclockwise:function(t,e,n){return(n.y-t.y)*(e.x-t.x)>(e.y-t.y)*(n.x-t.x)}}),L.Polyline.include({intersects:function(){var t,e=this._getProjectedPoints(),n=e?e.length:0;if(this._tooFewPointsForIntersection())return!1;for(t=n-1;t>=3;t--)if(this._lineSegmentsIntersectsRange(e[t-1],e[t],t-2))return!0;return!1},newLatLngIntersects:function(t,e){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(t),e)},newPointIntersects:function(t,e){var n=this._getProjectedPoints(),i=n?n.length:0,s=n?n[i-1]:null,o=i-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(s,t,o,e?1:0)},_tooFewPointsForIntersection:function(t){var e=this._getProjectedPoints(),n=e?e.length:0;return!e||(n+=t||0)<=3},_lineSegmentsIntersectsRange:function(t,e,n,i){var s=this._getProjectedPoints();i=i||0;for(var o=n;o>i;o--)if(L.LineUtil.segmentsIntersect(t,e,s[o-1],s[o]))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var t=[],e=this._defaultShape(),n=0;n<e.length;n++)t.push(this._map.latLngToLayerPoint(e[n]));return t}}),L.Polygon.include({intersects:function(){var t,e=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||this._lineSegmentsIntersectsRange(e[(t=e.length)-1],e[0],t-2,1))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");var e;L.Control.prototype.initialize.call(this,t),this._toolbars={},L.DrawToolbar&&this.options.draw&&(e=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=e,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(e=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=e,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(t){var e,n=L.DomUtil.create("div","leaflet-draw"),i=!1;for(var s in this._toolbars)this._toolbars.hasOwnProperty(s)&&(e=this._toolbars[s].addToolbar(t))&&(i||(L.DomUtil.hasClass(e,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(e.childNodes[0],"leaflet-draw-toolbar-top"),i=!0),n.appendChild(e));return n},onRemove:function(){for(var t in this._toolbars)this._toolbars.hasOwnProperty(t)&&this._toolbars[t].removeToolbar()},setDrawingOptions:function(t){for(var e in this._toolbars)this._toolbars[e]instanceof L.DrawToolbar&&this._toolbars[e].setOptions(t)},_toolbarEnabled:function(t){var e=t.target;for(var n in this._toolbars)this._toolbars[n]!==e&&this._toolbars[n].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(t){L.setOptions(this,t),this._modes={},this._actionButtons=[],this._activeMode=null;var e=L.version.split(".");1===parseInt(e[0],10)&&parseInt(e[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(t){var e,n=L.DomUtil.create("div","leaflet-draw-section"),i=0,s=this._toolbarClass||"",o=this.getModeHandlers(t);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=t,e=0;e<o.length;e++)o[e].enabled&&this._initModeHandler(o[e].handler,this._toolbarContainer,i++,s,o[e].title);if(i)return this._lastButtonIndex=--i,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),n.appendChild(this._toolbarContainer),n.appendChild(this._actionsContainer),n},removeToolbar:function(){for(var t in this._modes)this._modes.hasOwnProperty(t)&&(this._disposeButton(this._modes[t].button,this._modes[t].handler.enable,this._modes[t].handler),this._modes[t].handler.disable(),this._modes[t].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var e=0,n=this._actionButtons.length;e<n;e++)this._disposeButton(this._actionButtons[e].button,this._actionButtons[e].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(t,e,n,i,s){var o=t.type;this._modes[o]={},this._modes[o].handler=t,this._modes[o].button=this._createButton({type:o,title:s,className:i+"-"+o,container:e,callback:this._modes[o].handler.enable,context:this._modes[o].handler}),this._modes[o].buttonIndex=n,this._modes[o].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream},_createButton:function(t){var e=L.DomUtil.create("a",t.className||"",t.container),n=L.DomUtil.create("span","sr-only",t.container);e.href="#",e.appendChild(n),t.title&&(e.title=t.title,n.innerHTML=t.title),t.text&&(e.innerHTML=t.text,n.innerHTML=t.text);var i=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(e,"click",L.DomEvent.stopPropagation).on(e,"mousedown",L.DomEvent.stopPropagation).on(e,"dblclick",L.DomEvent.stopPropagation).on(e,"touchstart",L.DomEvent.stopPropagation).on(e,"click",L.DomEvent.preventDefault).on(e,i,t.callback,t.context),e},_disposeButton:function(t,e){var n=this._detectIOS()?"touchstart":"click";L.DomEvent.off(t,"click",L.DomEvent.stopPropagation).off(t,"mousedown",L.DomEvent.stopPropagation).off(t,"dblclick",L.DomEvent.stopPropagation).off(t,"touchstart",L.DomEvent.stopPropagation).off(t,"click",L.DomEvent.preventDefault).off(t,n,e)},_handlerActivated:function(t){this.disable(),this._activeMode=this._modes[t.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(t){var e,n,i,s,o=this._actionsContainer,r=this.getActions(t),a=r.length;for(n=0,i=this._actionButtons.length;n<i;n++)this._disposeButton(this._actionButtons[n].button,this._actionButtons[n].callback);for(this._actionButtons=[];o.firstChild;)o.removeChild(o.firstChild);for(var l=0;l<a;l++)"enabled"in r[l]&&!r[l].enabled||(e=L.DomUtil.create("li","",o),s=this._createButton({title:r[l].title,text:r[l].text,container:e,callback:r[l].callback,context:r[l].context}),this._actionButtons.push({button:s,callback:r[l].callback}))},_showActionsToolbar:function(){var t=this._activeMode.buttonIndex,e=this._lastButtonIndex,n=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=n+"px",0===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),t===e&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(t){this._map=t,this._popupPane=t._panes.popupPane,this._visible=!1,this._container=t.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(t){return this._container?(t.subtext=t.subtext||"",0!==t.subtext.length||this._singleLineLabel?t.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(t.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+t.subtext+"</span><br />":"")+"<span>"+t.text+"</span>",t.text||t.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(t){var e=this._map.latLngToLayerPoint(t),n=this._container;return this._container&&(this._visible&&(n.style.visibility="inherit"),L.DomUtil.setPosition(n,e)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(t){for(var e in this.options)this.options.hasOwnProperty(e)&&t[e]&&(t[e]=L.extend({},this.options[e],t[e]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,t)},getModeHandlers:function(t){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(t,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(t,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(t,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(t,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(t,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(t,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(t){return[{enabled:t.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:t.completeShape,context:t},{enabled:t.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:t.deleteLastVertex,context:t},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(t){for(var e in L.setOptions(this,t),this._modes)this._modes.hasOwnProperty(e)&&t.hasOwnProperty(e)&&this._modes[e].handler.setOptions(t[e])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(t){t.edit&&(void 0===t.edit.selectedPathOptions&&(t.edit.selectedPathOptions=this.options.edit.selectedPathOptions),t.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,t.edit.selectedPathOptions)),t.remove&&(t.remove=L.extend({},this.options.remove,t.remove)),t.poly&&(t.poly=L.extend({},this.options.poly,t.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,t),this._selectedFeatureCount=0},getModeHandlers:function(t){var e=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(t,{featureGroup:e,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(t,{featureGroup:e}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(t){var e=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return t.removeAllLayers&&e.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),e},addToolbar:function(t){var e=L.Toolbar.prototype.addToolbar.call(this,t);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),e},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var t,e=0!==this.options.featureGroup.getLayers().length;this.options.edit&&(t=this._modes[L.EditToolbar.Edit.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(t=this._modes[L.EditToolbar.Delete.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.setOptions(this,e),this._featureGroup=e.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),t._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(t){this._revertLayer(t)},this)},save:function(){var t=new L.LayerGroup;this._featureGroup.eachLayer(function(e){e.edited&&(t.addLayer(e),e.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:t})},_backupLayer:function(t){var e=L.Util.stamp(t);this._uneditedLayerProps[e]||(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?this._uneditedLayerProps[e]={latlngs:L.LatLngUtil.cloneLatLngs(t.getLatLngs())}:t instanceof L.Circle?this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng()),radius:t.getRadius()}:(t instanceof L.Marker||t instanceof L.CircleMarker)&&(this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(t){var e=L.Util.stamp(t);t.edited=!1,this._uneditedLayerProps.hasOwnProperty(e)&&(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?t.setLatLngs(this._uneditedLayerProps[e].latlngs):t instanceof L.Circle?(t.setLatLng(this._uneditedLayerProps[e].latlng),t.setRadius(this._uneditedLayerProps[e].radius)):(t instanceof L.Marker||t instanceof L.CircleMarker)&&t.setLatLng(this._uneditedLayerProps[e].latlng),t.fire("revert-edited",{layer:t}))},_enableLayerEdit:function(t){var e,n,i=t.layer||t.target||t;this._backupLayer(i),this.options.poly&&(n=L.Util.extend({},this.options.poly),i.options.poly=n),this.options.selectedPathOptions&&((e=L.Util.extend({},this.options.selectedPathOptions)).maintainColor&&(e.color=i.options.color,e.fillColor=i.options.fillColor),i.options.original=L.extend({},i.options),i.options.editing=e),i instanceof L.Marker?(i.editing&&i.editing.enable(),i.dragging.enable(),i.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):i.editing.enable()},_disableLayerEdit:function(t){var e=t.layer||t.target||t;e.edited=!1,e.editing&&e.editing.disable(),delete e.options.editing,delete e.options.original,this._selectedPathOptions&&(e instanceof L.Marker?this._toggleMarkerHighlight(e):(e.setStyle(e.options.previousOptions),delete e.options.previousOptions)),e instanceof L.Marker?(e.dragging.disable(),e.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):e.editing.disable()},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_onMarkerDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.changedTouches[0]),n=this._map.layerPointToLatLng(e);t.target.setLatLng(n)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.Util.setOptions(this,e),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(t){this._deletableLayers.addLayer(t),t.fire("revert-deleted",{layer:t})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(t){this._removeLayer({layer:t})},this),this.save()},_enableLayerDelete:function(t){(t.layer||t.target||t).on("click",this._removeLayer,this)},_disableLayerDelete:function(t){var e=t.layer||t.target||t;e.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(e)},_removeLayer:function(t){var e=t.layer||t.target||t;this._deletableLayers.removeLayer(e),this._deletedLayers.addLayer(e),e.fire("deleted")},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document)},Yoyx:function(t,e,n){var i,s;!function(o){if("object"==typeof t&&"object"==typeof t.exports){var r=o(n("GPNb"),e);void 0!==r&&(t.exports=r)}else void 0===(s="function"==typeof(i=o)?i.apply(e,[n,e]):i)||(t.exports=s)}(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=/-+([a-z0-9])/g;function i(t,e,n){var i=t.indexOf(e);return-1==i?n:[t.slice(0,i).trim(),t.slice(i+1).trim()]}function s(t,e,n){return Array.isArray(t)?e.visitArray(t,n):"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===l?e.visitStringMap(t,n):null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.visitPrimitive(t,n):e.visitOther(t,n)}e.dashCaseToCamelCase=function(t){return t.replace(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t[1].toUpperCase()})},e.splitAtColon=function(t,e){return i(t,":",e)},e.splitAtPeriod=function(t,e){return i(t,".",e)},e.visitValue=s,e.isDefined=function(t){return null!==t&&void 0!==t},e.noUndefined=function(t){return void 0===t?null:t};var o=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return s(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,i={};return Object.keys(t).forEach(function(o){i[o]=s(t[o],n,e)}),i},t.prototype.visitPrimitive=function(t,e){return t},t.prototype.visitOther=function(t,e){return t},t}();e.ValueTransformer=o,e.SyncAsync={assertSync:function(t){if(h(t))throw new Error("Illegal state: value cannot be a promise");return t},then:function(t,e){return h(t)?t.then(e):e(t)},all:function(t){return t.some(h)?Promise.all(t):t}},e.error=function(t){throw new Error("Internal Error: "+t)},e.syntaxError=function(t,e){var n=Error(t);return n[r]=!0,e&&(n[a]=e),n};var r="ngSyntaxError",a="ngParseErrors";e.isSyntaxError=function(t){return t[r]},e.getParseErrors=function(t){return t[a]||[]},e.escapeRegExp=function(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var l=Object.getPrototypeOf({});function h(t){return!!t&&"function"==typeof t.then}e.utf8Encode=function(t){for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);if(i>=55296&&i<=56319&&t.length>n+1){var s=t.charCodeAt(n+1);s>=56320&&s<=57343&&(n++,i=(i-55296<<10)+s-56320+65536)}i<=127?e+=String.fromCharCode(i):i<=2047?e+=String.fromCharCode(i>>6&31|192,63&i|128):i<=65535?e+=String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128):i<=2097151&&(e+=String.fromCharCode(i>>18&7|240,i>>12&63|128,i>>6&63|128,63&i|128))}return e},e.stringify=function t(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(t).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return""+e.overriddenName;if(e.name)return""+e.name;var n=e.toString();if(null==n)return""+n;var i=n.indexOf("\n");return-1===i?n:n.substring(0,i)},e.resolveForwardRef=function(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t},e.isPromise=h,e.Version=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}})},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},zUnb:function(t,e,n){"use strict";function i(t){return"function"==typeof t}n.r(e);let s=!1;const o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function r(t){setTimeout(()=>{throw t})}const a={closed:!0,next(t){},error(t){if(o.useDeprecatedSynchronousErrorHandling)throw t},complete(){}},l=Array.isArray||(t=>t&&"number"==typeof t.length);function h(t){return null!=t&&"object"==typeof t}const u={e:{}};let c;function d(){try{return c.apply(this,arguments)}catch(t){return u.e=t,u}}function p(t){return c=t,d}class m extends Error{constructor(t){super(t?`${t.length} errors occurred during unsubscription:\n ${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:""),this.errors=t,this.name="UnsubscriptionError",Object.setPrototypeOf(this,m.prototype)}}class f{constructor(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let t,e=!1;if(this.closed)return;let{_parent:n,_parents:s,_unsubscribe:o,_subscriptions:r}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let a=-1,c=s?s.length:0;for(;n;)n.remove(this),n=++a<c&&s[a]||null;if(i(o)&&p(o).call(this)===u&&(e=!0,t=t||(u.e instanceof m?_(u.e.errors):[u.e])),l(r))for(a=-1,c=r.length;++a<c;){const n=r[a];if(h(n)&&p(n.unsubscribe).call(n)===u){e=!0,t=t||[];let n=u.e;n instanceof m?t=t.concat(_(n.errors)):t.push(n)}}if(e)throw new m(t)}add(t){if(!t||t===f.EMPTY)return f.EMPTY;if(t===this)return this;let e=t;switch(typeof t){case"function":e=new f(t);case"object":if(e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if("function"!=typeof e._addParent){const t=e;(e=new f)._subscriptions=[t]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}return(this._subscriptions||(this._subscriptions=[])).push(e),e._addParent(this),e}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}_addParent(t){let{_parent:e,_parents:n}=this;e&&e!==t?n?-1===n.indexOf(t)&&n.push(t):this._parents=[t]:this._parent=t}}function _(t){return t.reduce((t,e)=>t.concat(e instanceof m?e.errors:e),[])}f.EMPTY=function(t){return t.closed=!0,t}(new f);const g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("rxSubscriber"):"@@rxSubscriber";class y extends f{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){if(t instanceof y||"syncErrorThrowable"in t&&t[g]){const e=t[g]();this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)}else this.syncErrorThrowable=!0,this.destination=new v(this,t);break}default:this.syncErrorThrowable=!0,this.destination=new v(this,t,e,n)}}[g](){return this}static create(t,e,n){const i=new y(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:t,_parents:e}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this}}class v extends y{constructor(t,e,n,s){let o;super(),this._parentSubscriber=t;let r=this;i(e)?o=e:e&&(o=e.next,n=e.error,s=e.complete,e!==a&&(i((r=Object.create(e)).unsubscribe)&&this.add(r.unsubscribe.bind(r)),r.unsubscribe=this.unsubscribe.bind(this))),this._context=r,this._next=o,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=o;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;r(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);o.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;r(t)}}__tryOrSetError(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const b="function"==typeof Symbol&&Symbol.observable||"@@observable";function w(){}class x{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const e=new x;return e.source=this,e.operator=t,e}subscribe(t,e,n){const{operator:i}=this,s=function(t,e,n){if(t){if(t instanceof y)return t;if(t[g])return t[g]()}return t||e||n?new y(t,e,n):new y(a)}(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),o.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),t.error(e)}}forEach(t,e){return new(e=E(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[b](){return this}pipe(...t){return 0===t.length?this:function(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:w}(t)(this)}toPromise(t){return new(t=E(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}x.create=(t=>new x(t));class C extends Error{constructor(){super("object unsubscribed"),this.name="ObjectUnsubscribedError",Object.setPrototypeOf(this,C.prototype)}}class L extends f{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class k extends y{constructor(t){super(t),this.destination=t}}class S extends x{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[g](){return new k(this)}lift(t){const e=new T(this,this);return e.operator=t,e}next(t){if(this.closed)throw new C;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].next(t)}}error(t){if(this.closed)throw new C;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].error(t);this.observers.length=0}complete(){if(this.closed)throw new C;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let i=0;i<e;i++)n[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new C;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new C;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new L(this,t))}asObservable(){const t=new x;return t.source=this,t}}S.create=((t,e)=>new T(t,e));class T extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):f.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}class P extends y{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}const M=t=>e=>{for(let n=0,i=t.length;n<i&&!e.closed;n++)e.next(t[n]);e.closed||e.complete()},D=t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,r),e),A=function(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}(),O=t=>e=>{const n=t[A]();for(;;){const t=n.next();if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e},R=t=>e=>{const n=t[b]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)},N=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function F(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const z=t=>{if(t instanceof x)return e=>t._isScalar?(e.next(t.value),void e.complete()):t.subscribe(e);if(N(t))return M(t);if(F(t))return D(t);if(t&&"function"==typeof t[A])return O(t);if(t&&"function"==typeof t[b])return R(t);{const e=`You provided ${h(t)?"an invalid object":`'${t}'`} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.";throw new TypeError(e)}};function V(t,e,n,i){const s=new P(t,n,i);return z(e)(s)}class B extends y{notifyNext(t,e,n,i,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}function j(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new H(t,e))}}class H{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new Z(t,this.project,this.thisArg))}}class Z extends y{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function U(t,e){return new x(e?n=>{const i=new f;let s=0;return i.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||i.add(this.schedule())):n.complete()})),i}:M(t))}function G(t,e){if(!e)return t instanceof x?t:new x(z(t));if(null!=t){if(function(t){return t&&"function"==typeof t[b]}(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>{const s=t[b]();i.add(s.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i}:R(t))}(t,e);if(F(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i}:D(t))}(t,e);if(N(t))return U(t,e);if(function(t){return t&&"function"==typeof t[A]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new x(e?n=>{const i=new f;let s;return i.add(()=>{s&&"function"==typeof s.return&&s.return()}),i.add(e.schedule(()=>{s=t[A](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const i=s.next();t=i.value,e=i.done}catch(t){return void n.error(t)}e?n.complete():(n.next(t),this.schedule())}))})),i}:O(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function $(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe($((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new W(t,this.project,this.concurrent))}}class W extends B{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){this.add(V(this,t,e,n))}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function K(t){return t}function Y(t=Number.POSITIVE_INFINITY){return $(K,t)}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof x?t[0]:Y(e)(U(t,n))}function X(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),s=e.subscribe(i);return i.closed||(i.connection=n.connect()),s}}class tt extends y{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,!i||n&&i!==n||i.unsubscribe()}}const et=class extends x{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new f).add(this.source.subscribe(new class extends k{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}(this.getSubject(),this))),t.closed?(this._connection=null,t=f.EMPTY):this._connection=t),t}refCount(){return X()(this)}}.prototype,nt={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:et._subscribe},_isComplete:{value:et._isComplete,writable:!0},getSubject:{value:et.getSubject},connect:{value:et.connect},refCount:{value:et.refCount}};function it(){return new S}function st(){return t=>X()(function(t,e){return function(e){let n;n="function"==typeof t?t:function(){return t};const i=Object.create(e,nt);return i.source=e,i.subjectFactory=n,i}}(it)(t))}function ot(t){return{providedIn:t.providedIn||null,factory:t.factory,value:void 0}}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0!==e?ot({providedIn:e.providedIn||"root",factory:e.factory}):void 0}toString(){return`InjectionToken ${this._desc}`}}const at="__parameters__";function lt(t,e,n){const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return i.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,i){const s=t.hasOwnProperty(at)?t[at]:Object.defineProperty(t,at,{value:[]})[at];for(;s.length<=i;)s.push(null);return(s[i]=s[i]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s}const ht=Function;function ut(t){return"function"==typeof t}const ct="undefined"!=typeof window&&window,dt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,pt="undefined"!=typeof global&&global,mt=ct||pt||dt,ft=Promise.resolve(0);let _t=null;function gt(){if(!_t){const t=mt.Symbol;if(t&&t.iterator)_t=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(_t=n)}}}return _t}function yt(t){"undefined"==typeof Zone?ft.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function vt(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function bt(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(bt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const wt=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,xt=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{/,Et=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{[\s\S]*constructor\s*\(/;function Ct(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function Lt(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}function kt(t){return t.__forward_ref__=kt,t.toString=function(){return bt(this())},t}function St(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===kt?t():t}const Tt=lt("Inject",t=>({token:t})),It=lt("Optional"),Pt=lt("Self"),Mt=lt("SkipSelf"),Dt="__source",At=new Object,Ot=At,Rt=new rt("INJECTOR");class Nt{static create(t,e){return Array.isArray(t)?new Wt(t,e):new Wt(t.providers,t.parent,t.name||null)}}Nt.THROW_IF_NOT_FOUND=At,Nt.NULL=new class{get(t,e=At){if(e===At)throw new Error(`NullInjectorError: No provider for ${bt(t)}!`);return e}},Nt.ngInjectableDef=ot({providedIn:"any",factory:()=>te(Rt)});const Ft=function(t){return t},zt=[],Vt=Ft,Bt=function(){return Array.prototype.slice.call(arguments)},jt={},Ht=function(t){for(let e in t)if(t[e]===jt)return e;throw Error("!prop")}({provide:String,useValue:jt}),Zt="ngTokenPath",Ut="ngTempTokenPath",Gt=Nt.NULL,$t=/\n/gm,qt="\u0275";class Wt{constructor(t,e=Gt,n=null){this.parent=e,this.source=n;const i=this._records=new Map;i.set(Nt,{token:Nt,fn:Ft,deps:zt,value:this,useNew:!1}),i.set(Rt,{token:Rt,fn:Ft,deps:zt,value:this,useNew:!1}),function t(e,n){if(n)if((n=St(n))instanceof Array)for(let i=0;i<n.length;i++)t(e,n[i]);else{if("function"==typeof n)throw Qt("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Qt("Unexpected provider",n);{let t=St(n.provide);const i=function(t){const e=function(t){let e=zt;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let i=6,s=St(n[t]);if(s instanceof Array)for(let t=0,e=s;t<e.length;t++){const n=e[t];n instanceof It||n==It?i|=1:n instanceof Mt||n==Mt?i&=-3:n instanceof Pt||n==Pt?i&=-5:s=n instanceof Tt?n.token:St(n)}e.push({token:s,options:i})}}else if(t.useExisting)e=[{token:St(t.useExisting),options:6}];else if(!(n||Ht in t))throw Qt("'deps' required",t);return e}(t);let n=Ft,i=zt,s=!1,o=St(t.provide);if(Ht in t)i=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)s=!0,n=St(t.useClass);else{if("function"!=typeof o)throw Qt("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);s=!0,n=o}return{deps:e,fn:n,useNew:s,value:i}}(n);if(!0===n.multi){let i=e.get(t);if(i){if(i.fn!==Bt)throw Kt(t)}else e.set(t,i={token:n.provide,deps:[],useNew:!1,fn:Bt,value:zt});i.deps.push({token:t=n,options:6})}const s=e.get(t);if(s&&s.fn==Bt)throw Kt(t);e.set(t,i)}}}(i,t)}get(t,e,n=0){const i=this._records.get(t);try{return function t(e,n,i,s,o,r){try{return function(e,n,i,s,o,r){let a;if(!n||4&r)2&r||(a=s.get(e,o,0));else{if((a=n.value)==Vt)throw Error(qt+"Circular dependency");if(a===zt){n.value=Vt;let e=void 0,o=n.useNew,r=n.fn,l=n.deps,h=zt;if(l.length){h=[];for(let e=0;e<l.length;e++){const n=l[e],o=n.options,r=2&o?i.get(n.token):void 0;h.push(t(n.token,r,i,r||4&o?s:Gt,1&o?null:Nt.THROW_IF_NOT_FOUND,0))}}n.value=a=o?new r(...h):r.apply(e,h)}}return a}(e,n,i,s,o,r)}catch(t){throw t instanceof Error||(t=new Error(t)),(t[Ut]=t[Ut]||[]).unshift(e),n&&n.value==Vt&&(n.value=zt),t}}(t,i,this._records,this.parent,e,n)}catch(e){const n=e[Ut];throw t[Dt]&&n.unshift(t[Dt]),e.message=Yt("\n"+e.message,n,this.source),e[Zt]=n,e[Ut]=null,e}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(bt(n))),`StaticInjector[${t.join(", ")}]`}}function Kt(t){return Qt("Cannot mix multi providers and regular providers",t)}function Yt(t,e,n=null){t=t&&"\n"===t.charAt(0)&&t.charAt(1)==qt?t.substr(2):t;let i=bt(e);if(e instanceof Array)i=e.map(bt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):bt(i)))}i=`{${t.join(", ")}}`}return`StaticInjectorError${n?"("+n+")":""}[${i}]: ${t.replace($t,"\n ")}`}function Qt(t,e){return new Error(Yt(t,e))}let Xt=void 0;function Jt(t){const e=Xt;return Xt=t,e}function te(t,e=0){if(void 0===Xt)throw new Error("inject() must be called from an injection context");if(null===Xt){const e=t.ngInjectableDef;if(e&&"root"==e.providedIn)return void 0===e.value?e.value=e.factory():e.value;throw new Error(`Injector: NOT_FOUND [${bt(t)}]`)}return Xt.get(t,8&e?null:void 0,e)}String;const ee=function(){var t={Emulated:0,Native:1,None:2};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t}(),ne=new class{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}("6.0.3"),ie="ngDebugContext",se="ngOriginalError",oe="ngErrorLogger";function re(t){return t[ie]}function ae(t){return t[se]}function le(t,...e){t.error(...e)}class he{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t[oe]||le}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?re(t)?re(t):this._findContext(ae(t)):null}_findOriginalError(t){let e=ae(t);for(;e&&ae(e);)e=ae(e);return e}}function ue(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>bt(t.token)).join(" -> ")+")":""}function ce(t,e,n,i){const s=[e],o=n(s),r=i?function(t,e){const n=`${o} caused by: ${e instanceof Error?e.message:e}`,i=Error(n);return i[se]=e,i}(0,i):Error(o);return r.addKey=de,r.keys=s,r.injectors=[t],r.constructResolvingMessage=n,r[se]=i,r}function de(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function pe(t,e){const n=[];for(let i=0,s=e.length;i<s;i++){const t=e[i];n.push(t&&0!=t.length?t.map(bt).join(" "):"?")}return Error("Cannot resolve all parameters for '"+bt(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+bt(t)+"' is decorated with Injectable.")}function me(t,e){return Error(`Cannot mix multi providers and regular providers, got: ${t} ${e}`)}class fe{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=bt(this.token)}static get(t){return _e.get(St(t))}static get numberOfKeys(){return _e.numberOfKeys}}const _e=new class{constructor(){this._allKeys=new Map}get(t){if(t instanceof fe)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new fe(t,fe.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}},ge=new class{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,i){return this.reflectionCapabilities.resolveIdentifier(t,e,n,i)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}(new class{constructor(t){this._reflect=t||mt.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=void 0===t?new Array(e.length):new Array(t.length);for(let i=0;i<n.length;i++)n[i]=void 0===t?[]:t[i]!=Object?[t[i]]:[],e&&null!=e[i]&&(n[i]=n[i].concat(e[i]));return n}_ownParameters(t,e){const n=t.toString();if(wt.exec(n)||xt.exec(n)&&!Et.exec(n))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const i=t.ctorParameters;if(i&&i!==e.ctorParameters){const t="function"==typeof i?i():i,e=t.map(t=>t&&t.type),n=t.map(t=>t&&Ct(t.decorators));return this._zipTypesAndAnnotations(e,n)}const s=t.hasOwnProperty(at)&&t[at],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||s?this._zipTypesAndAnnotations(o,s):new Array(t.length).fill(void 0)}parameters(t){if(!ut(t))return[];const e=Lt(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?Ct(t.decorators):t.hasOwnProperty("__annotations__")?t.__annotations__:null}annotations(t){if(!ut(t))return[];const e=Lt(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=Ct(e[t])}),n}return t.hasOwnProperty("__prop__metadata__")?t.__prop__metadata__:null}propMetadata(t){if(!ut(t))return{};const e=Lt(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...i[t]),n[t]=e}),n}hasLifecycleHook(t,e){return t instanceof ht&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){const e=`if (!o.${t}) throw new Error('"${t}" is undefined');\n return o.${t}.apply(o, args);`;return new Function("o","args",e)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${bt(t)}`}resourceUri(t){return`./${bt(t)}`}resolveIdentifier(t,e,n,i){return i}resolveEnum(t,e){return t[e]}});class ye{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new ye(t,!1,null)}}const ve=[];class be{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class we{constructor(t,e){this.factory=t,this.dependencies=e}}function xe(t){return new be(fe.get(t.provide),[function(t){let e,n;if(t.useClass){const i=St(t.useClass);e=ge.factory(i),n=Ee(i)}else t.useExisting?(e=(t=>t),n=[ye.fromKey(fe.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>Ce(t,e,n))}return Ee(t)}(t.useFactory,t.deps)):(e=(()=>t.useValue),n=ve);return new we(e,n)}(t)],t.multi||!1)}function Ee(t){const e=ge.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw pe(t,e);return e.map(n=>Ce(t,n,e))}function Ce(t,e,n){let i=null,s=!1;if(!Array.isArray(e))return Le(e instanceof Tt?e.token:e,s,null);let o=null;for(let r=0;r<e.length;++r){const t=e[r];t instanceof ht?i=t:t instanceof Tt?i=t.token:t instanceof It?s=!0:t instanceof Pt||t instanceof Mt?o=t:t instanceof rt&&(i=t)}if(null!=(i=St(i)))return Le(i,s,o);throw pe(t,n)}function Le(t,e,n){return new ye(fe.get(t),e,n)}const ke=new Object;class Se{static resolve(t){return function(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n],s=e.get(i.key.id);if(s){if(i.multiProvider!==s.multiProvider)throw me(s,i);if(i.multiProvider)for(let t=0;t<i.resolvedFactories.length;t++)s.resolvedFactories.push(i.resolvedFactories[t]);else e.set(i.key.id,i)}else{let t;t=i.multiProvider?new be(i.key,i.resolvedFactories.slice(),i.multiProvider):i,e.set(i.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof ht)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(xe),new Map);return Array.from(e.values())}(t)}static resolveAndCreate(t,e){const n=Se.resolve(t);return Se.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new Te(t,e)}}class Te{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let i=0;i<n;i++)this.keyIds[i]=t[i].key.id,this.objs[i]=ke}get(t,e=Ot){return this._getByKey(fe.get(t),null,e)}resolveAndCreateChild(t){const e=Se.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(t){const e=new Te(t);return e.parent=this,e}resolveAndInstantiate(t){return this.instantiateResolved(Se.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function(e,n){return ce(e,t.key,function(t){return`Cannot instantiate cyclic dependency!${ue(t)}`})}(this);return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let i,s;try{i=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(e){throw e.addKey&&e.addKey(this,t.key),e}try{s=n(...i)}catch(e){throw function(e,n,i,s){return ce(e,t.key,function(t){const e=bt(t[0].token);return`${n.message}: Error during instantiation of ${e}!${ue(t)}.`},n)}(this,e)}return s}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Ot)}_getByKey(t,e,n){return t===Te.INJECTOR_KEY?this:e instanceof Pt?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===ke&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return ke}_throwOrNull(t,e){if(e!==Ot)return e;throw function(t,e){return ce(t,e,function(t){return`No provider for ${bt(t[0].token)}!${ue(t)}`})}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==ke?n:this._throwOrNull(t,e)}_getByKeyDefault(t,e,n){let i;for(i=n instanceof Mt?this.parent:this;i instanceof Te;){const e=i,n=e._getObjByKeyId(t.id);if(n!==ke)return n;i=e.parent}return null!==i?i.get(t.token,e):this._throwOrNull(t,e)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let i=0;i<t._providers.length;++i)n[i]=e(t.getProviderAtIndex(i));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}Te.INJECTOR_KEY=fe.get(Nt);const Ie=new rt("The presence of this token marks an injector as being the root injector.");function Pe(t){return!!t&&"function"==typeof t.then}function Me(t){return!!t&&"function"==typeof t.subscribe}const De=new rt("Application Initializer");class Ae{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Pe(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const Oe=new rt("AppId");function Re(){return`${Ne()}${Ne()}${Ne()}`}function Ne(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Fe=new rt("Platform Initializer"),ze=new rt("Platform ID"),Ve=new rt("appBootstrapListener");class Be{log(t){console.log(t)}warn(t){console.warn(t)}}function je(){throw new Error("Runtime compiler is not loaded")}Be.ctorParameters=(()=>[]);class He{compileModuleSync(t){throw je()}compileModuleAsync(t){throw je()}compileModuleAndAllComponentsSync(t){throw je()}compileModuleAndAllComponentsAsync(t){throw je()}clearCache(){}clearCacheFor(t){}}class Ze{}class Ue{}class Ge{}function $e(t){const e=Error(`No component factory found for ${bt(t)}. Did you add it to @NgModule.entryComponents?`);return e[qe]=t,e}const qe="ngComponent";class We{}We.NULL=new class{resolveComponentFactory(t){throw $e(t)}};class Ke{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let i=0;i<t.length;i++){const e=t[i];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw $e(t);return new Ye(e,this._ngModule)}}class Ye extends Ge{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,i){return this.factory.create(t,e,n,i||this.ngModule)}}class Qe{}class Xe{}let Je,tn;const en=function(){const t=mt.wtf;return!(!t||!(Je=t.trace)||(tn=Je.events,0))}(),nn=en?function(t,e=null){return tn.createScope(t,e)}:(t,e)=>(function(t,e){return null}),sn=en?function(t,e){return Je.leaveScope(t,e),e}:(t,e)=>e;class on extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let i,s=t=>null,o=()=>null;t&&"object"==typeof t?(i=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(s=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(o=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(s=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const r=super.subscribe(i,s,o);return t instanceof f&&t.add(r),r}}class rn{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on(!1),this.onMicrotaskEmpty=new on(!1),this.onStable=new on(!1),this.onError=new on(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),function(t){t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,i,s,o,r)=>{try{return un(t),e.invokeTask(i,s,o,r)}finally{cn(t)}},onInvoke:(e,n,i,s,o,r,a)=>{try{return un(t),e.invoke(i,s,o,r,a)}finally{cn(t)}},onHasTask:(e,n,i,s)=>{e.hasTask(i,s),n===i&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,hn(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,i,s)=>(e.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(this)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!rn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(rn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,t,ln,an,an);try{return s.runTask(o,e,n)}finally{s.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function an(){}const ln={};function hn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function cn(t){t._nesting--,hn(t)}class dn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on,this.onMicrotaskEmpty=new on,this.onStable=new on,this.onError=new on}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class pn{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{rn.assertNotInAngularZone(),yt(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yt(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,isPeriodic:t.data.isPeriodic,delay:t.data.delay,creationLocation:t.creationLocation,xhr:t.data.target})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class mn{constructor(){this._applications=new Map,_n.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return _n.findTestabilityInTree(this,t,e)}}mn.ctorParameters=(()=>[]);let fn,_n=new class{addToWindow(t){}findTestabilityInTree(t,e,n){return null}},gn=!0,yn=!1;const vn=new rt("AllowMultipleToken");function bn(){return yn=!0,gn}class wn{constructor(t,e){this.name=t,this.token=e}}function xn(t,e,n=[]){const i=`Platform: ${e}`,s=new rt(i);return(e=[])=>{let o=En();if(!o||o.injector.get(vn,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0});!function(t){if(fn&&!fn.destroyed&&!fn.injector.get(vn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");fn=t.get(Cn);const e=t.get(Fe,null);e&&e.forEach(t=>t())}(Nt.create({providers:t,name:i}))}return function(t){const e=En();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function En(){return fn&&!fn.destroyed?fn:null}class Cn{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){return"noop"===t?new dn:("zone.js"===t?void 0:t)||new rn({enableLongStackTrace:bn()})}(e?e.ngZone:void 0),i=[{provide:rn,useValue:n}];return n.run(()=>{const e=Nt.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(e),o=s.injector.get(he,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return s.onDestroy(()=>Sn(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const i=n();return Pe(i)?i.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):i}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(o,n,()=>{const t=s.injector.get(Ae);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=this.injector.get(Ze),i=Ln({},e);return n.createCompiler([i]).compileModuleAsync(t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${bt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Ln(t,e){return Array.isArray(e)?e.reduce(Ln,t):Object.assign({},t,e)}class kn{constructor(t,e,n,i,s,o){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=bn(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const r=new x(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),a=new x(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{rn.assertNotInAngularZone(),yt(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{rn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(r,a.pipe(st()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Ge?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=n instanceof Ye?null:this._injector.get(Qe),s=n.create(Nt.NULL,[],e||n.selector,i);s.onDestroy(()=>{this._unloadComponent(s)});const o=s.injector.get(pn,null);return o&&s.injector.get(mn).registerApplication(s.location.nativeElement,o),this._loadComponent(s),bn()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=kn._tickScope();try{this._runningTick=!0,this._views.forEach(t=>t.detectChanges()),this._enforceNoNewChanges&&this._views.forEach(t=>t.checkNoChanges())}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1,sn(t)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Sn(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ve,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),Sn(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}function Sn(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}kn._tickScope=nn("ApplicationRef#tick()");class Tn{}const In=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();class Pn{}class Mn{constructor(t){this.nativeElement=t}}class Dn{constructor(){this.dirty=!0,this._results=[],this.changes=new on,this.length=0}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}[gt()](){return this._results[gt()]()}toString(){return this._results.toString()}reset(t){this._results=function t(e){return e.reduce((e,n)=>{const i=Array.isArray(n)?t(n):n;return e.concat(i)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class An{}class On{}class Rn{}class Nn{constructor(t,e){this.name=t,this.callback=e}}class Fn{constructor(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof zn?e.addChild(this):this.parent=null,this.listeners=[]}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zn extends Fn{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(t=>{t.parent&&t.parent.removeChild(t),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,i){e.childNodes.forEach(e=>{e instanceof zn&&(n(e)&&i.push(e),t(e,n,i))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,i){e instanceof zn&&e.childNodes.forEach(e=>{n(e)&&i.push(e),e instanceof zn&&t(e,n,i)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zn)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}const Vn=new Map;function Bn(t){return Vn.get(t)||null}function jn(t){Vn.set(t.nativeNode,t)}function Hn(t,e){const n=Gn(t),i=Gn(e);return n&&i?function(t,e,n){const i=t[gt()](),s=e[gt()]();for(;;){const t=i.next(),e=s.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Hn):!(n||!t||"object"!=typeof t&&"function"!=typeof t||i||!e||"object"!=typeof e&&"function"!=typeof e)||vt(t,e)}class Zn{constructor(t){this.wrapped=t}static wrap(t){return new Zn(t)}static unwrap(t){return Zn.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Zn}}class Un{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function Gn(t){return!!$n(t)&&(Array.isArray(t)||!(t instanceof Map)&&gt()in t)}function $n(t){return null!==t&&("function"==typeof t||"object"==typeof t)}class qn{constructor(){}supports(t){return Gn(t)}create(t){return new Kn(t)}}const Wn=(t,e)=>e;class Kn{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Wn}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,s=null;for(;e||n;){const o=!n||e&&e.currentIndex<Jn(n,i,s)?e:n,r=Jn(o,i,s),a=o.currentIndex;if(o===n)i--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)i++;else{s||(s=[]);const t=r-i,e=a-i;if(t!=e){for(let n=0;n<t;n++){const i=n<s.length?s[n]:s[n]=0,o=i+n;e<=o&&o<t&&(s[n]=i+1)}s[o.previousIndex]=e-t}}r!==a&&t(o,r,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Gn(t))throw new Error(`Error trying to diff '${bt(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,i,s=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=this._trackByFn(e,n=t[e]),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,n,i,e)),vt(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,i,e),o=!0),s=s._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[gt()]();let i;for(;!(i=n.next()).done;)e(i.value)}}(t,t=>{i=this._trackByFn(e,t),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,t,i,e)),vt(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,i,e),o=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(vt(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,i)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(vt(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,i)):t=this._addAfter(new Yn(e,n),s,i),t}_verifyReinsertion(t,e,n,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,s=t._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Xn),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xn),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Yn{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Qn{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&vt(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Xn{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Qn,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Jn(t,e,n){const i=t.previousIndex;if(null===i)return i;let s=0;return n&&i<n.length&&(s=n[i]),i+e+s}class ti{constructor(t){this.factories=t}static create(t,e){if(null!=e){const n=e.factories.slice();t=t.concat(n)}return new ti(t)}static extend(t){return{provide:ti,useFactory:e=>{if(!e)throw new Error("Cannot extend IterableDiffers without a parent injector");return ti.create(t,e)},deps:[[ti,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${t.name||typeof t}'`)}}ti.ngInjectableDef=ot({providedIn:"root",factory:()=>new ti([new qn])});class ei{constructor(t){this.factories=t}static create(t,e){if(e){const n=e.factories.slice();t=t.concat(n)}return new ei(t)}static extend(t){return{provide:ei,useFactory:e=>{if(!e)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return ei.create(t,e)},deps:[[ei,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}const ni=[new class{constructor(){}supports(t){return t instanceof Map||$n(t)}create(){return new class{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||$n(t)))throw new Error(`Error trying to diff '${bt(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,s=n._next;return i&&(i._next=s),s&&(s._prev=i),n._next=null,n._prev=null,n}const n=new class{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){vt(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}}}],ii=new ti([new qn]),si=new ei(ni),oi=xn(null,"core",[{provide:ze,useValue:"unknown"},{provide:Cn,deps:[Nt]},{provide:mn,deps:[]},{provide:Be,deps:[]}]),ri=new rt("LocaleId");function ai(){return ii}function li(){return si}function hi(t){return t||"en-US"}class ui{constructor(t){}}class ci{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(t){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0<i;i--){const n=e.item(i).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const di=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,pi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function mi(t){return(t=String(t)).match(di)||t.match(pi)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function fi(t){return(t=String(t)).split(",").map(t=>mi(t.trim())).join(", ")}function _i(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function gi(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const yi=_i("area,br,col,hr,img,wbr"),vi=_i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),bi=_i("rp,rt"),wi=gi(bi,vi),xi=gi(yi,gi(vi,_i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),gi(bi,_i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wi),Ei=_i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ci=_i("srcset"),Li=gi(Ei,Ci,_i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"));class ki{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!xi.hasOwnProperty(e))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i),e=t.name,s=e.toLowerCase();if(!Li.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=t.value;Ei[s]&&(o=mi(o)),Ci[s]&&(o=fi(o)),this.buf.push(" ",e,'="',Ii(o),'"')}this.buf.push(">")}endElement(t){const e=t.nodeName.toLowerCase();xi.hasOwnProperty(e)&&!yi.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Ii(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Si=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/([^\#-~ |!])/g;function Ii(t){return t.replace(/&/g,"&amp;").replace(Si,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ti,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Pi;function Mi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const Di=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Ai=/^url\(([^)]+)\)$/,Oi=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class Ri{}function Ni(t,e,n){const i=t.state,s=1792&i;return s===e?(t.state=-1793&i|n,t.initIndex=-1,!0):s===n}function Fi(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function zi(t,e){return t.nodes[e]}function Vi(t,e){return t.nodes[e]}function Bi(t,e){return t.nodes[e]}function ji(t,e){return t.nodes[e]}function Hi(t,e){return t.nodes[e]}const Zi={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0};function Ui(t,e,n,i){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return i&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Gi(n,e),n}(s,t)}function Gi(t,e){t[ie]=e,t[oe]=e.logError.bind(e)}function $i(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}const qi=()=>{},Wi=new Map;function Ki(t){let e=Wi.get(t);return e||(e=bt(t)+"_"+Wi.size,Wi.set(t,e)),e}function Yi(t,e,n,i){if(Zn.isWrapped(i)){i=Zn.unwrap(i);const s=t.def.nodes[e].bindingIndex+n,o=Zn.unwrap(t.oldValues[s]);t.oldValues[s]=new Zn(o)}return i}const Qi="$$undefined",Xi="$$empty";function Ji(t){return{id:Qi,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let ts=0;function es(t,e,n,i){return!(!(2&t.state)&&vt(t.oldValues[e.bindingIndex+n],i))}function ns(t,e,n,i){return!!es(t,e,n,i)&&(t.oldValues[e.bindingIndex+n]=i,!0)}function is(t,e,n,i){const s=t.oldValues[e.bindingIndex+n];if(1&t.state||!Hn(s,i)){const o=e.bindings[n].name;throw Ui(Zi.createDebugContext(t,e.nodeIndex),`${o}: ${s}`,`${o}: ${i}`,0!=(1&t.state))}}function ss(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function os(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function rs(t,e,n,i){try{return ss(33554432&t.def.nodes[e].flags?Vi(t,e).componentView:t),Zi.handleEvent(t,e,n,i)}catch(e){t.root.errorHandler.handleError(e)}}function as(t){return t.parent?Vi(t.parent,t.parentNodeDef.nodeIndex):null}function ls(t){return t.parent?t.parentNodeDef.parent:null}function hs(t,e){switch(201347067&e.flags){case 1:return Vi(t,e.nodeIndex).renderElement;case 2:return zi(t,e.nodeIndex).renderText}}function us(t,e){return t?`${t}:${e}`:e}function cs(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ds(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function ps(t){return 1<<t%32}function ms(t){const e={};let n=0;const i={};return t&&t.forEach(([t,s])=>{"number"==typeof t?(e[t]=s,n|=ps(t)):i[t]=s}),{matchedQueries:e,references:i,matchedQueryIds:n}}function fs(t,e){return t.map(t=>{let n,i;return Array.isArray(t)?[i,n]=t:(i=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,Dt,{value:e,configurable:!0}),{flags:i,token:n,tokenKey:Ki(n)}})}function _s(t,e,n){let i=n.renderParent;return i?0==(1&i.flags)||0==(33554432&i.flags)||i.element.componentRendererType&&i.element.componentRendererType.encapsulation===ee.Native?Vi(t,n.renderParent.nodeIndex).renderElement:void 0:e}const gs=new WeakMap;function ys(t){let e=gs.get(t);return e||((e=t(()=>qi)).factory=t,gs.set(t,e)),e}function vs(t,e,n,i,s){3===e&&(n=t.renderer.parentNode(hs(t,t.def.lastRenderRootNode))),bs(t,e,0,t.def.nodes.length-1,n,i,s)}function bs(t,e,n,i,s,o,r){for(let a=n;a<=i;a++){const n=t.def.nodes[a];11&n.flags&&xs(t,n,e,s,o,r),a+=n.childCount}}function ws(t,e,n,i,s,o){let r=t;for(;r&&!cs(r);)r=r.parent;const a=r.parent,l=ls(r),h=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=h;u++){const t=a.def.nodes[u];t.ngContentIndex===e&&xs(a,t,n,i,s,o),u+=t.childCount}if(!a.parent){const r=t.root.projectableNodes[e];if(r)for(let e=0;e<r.length;e++)Es(t,r[e],n,i,s,o)}}function xs(t,e,n,i,s,o){if(8&e.flags)ws(t,e.ngContent.index,n,i,s,o);else{const r=hs(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&Es(t,r,n,i,s,o),32&e.bindingFlags&&Es(Vi(t,e.nodeIndex).componentView,r,n,i,s,o)):Es(t,r,n,i,s,o),16777216&e.flags){const r=Vi(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<r.length;t++)vs(r[t],n,i,s,o)}1&e.flags&&!e.element.name&&bs(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,i,s,o)}}function Es(t,e,n,i,s,o){const r=t.renderer;switch(n){case 1:r.appendChild(i,e);break;case 2:r.insertBefore(i,e,s);break;case 3:r.removeChild(i,e);break;case 0:o.push(e)}}const Cs=/^:([^:]+):(.+)$/;function Ls(t){if(":"===t[0]){const e=t.match(Cs);return[e[1],e[2]]}return["",t]}function ks(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function Ss(t,e,n,i,s,o){t|=1;const{matchedQueries:r,references:a,matchedQueryIds:l}=ms(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:r,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:i,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?ys(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||qi},provider:null,text:null,query:null,ngContent:null}}function Ts(t,e,n,i,s,o,r=[],a,l,h,u,c){h||(h=qi);const{matchedQueries:d,references:p,matchedQueryIds:m}=ms(n);let f=null,_=null;o&&([f,_]=Ls(o)),a=a||[];const g=new Array(a.length);for(let b=0;b<a.length;b++){const[t,e,n]=a[b],[i,s]=Ls(e);let o=void 0,r=void 0;switch(15&t){case 4:r=n;break;case 1:case 8:o=n}g[b]={flags:t,ns:i,name:s,nonMinifiedName:s,securityContext:o,suffix:r}}l=l||[];const y=new Array(l.length);for(let b=0;b<l.length;b++){const[t,e]=l[b];y[b]={type:0,target:t,eventName:e,propName:null}}const v=(r=r||[]).map(([t,e])=>{const[n,i]=Ls(t);return[n,i,e]});return c=function(t){if(t&&t.id===Qi){const e=null!=t.encapsulation&&t.encapsulation!==ee.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${ts++}`:Xi}return t&&t.id===Xi&&(t=null),t||null}(c),u&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:m,references:p,ngContentIndex:i,childCount:s,bindings:g,bindingFlags:ks(g),outputs:y,element:{ns:f,name:_,attrs:v,template:null,componentProvider:null,componentView:u||null,componentRendererType:c,publicProviders:null,allProviders:null,handleEvent:h||qi},provider:null,text:null,query:null,ngContent:null}}function Is(t,e,n){const i=n.element,s=t.root.selectorOrNode,o=t.renderer;let r;if(t.parent||!s){r=i.name?o.createElement(i.name,i.ns):o.createComment("");const s=_s(t,e,n);s&&o.appendChild(s,r)}else r=o.selectRootElement(s);if(i.attrs)for(let a=0;a<i.attrs.length;a++){const[t,e,n]=i.attrs[a];o.setAttribute(r,e,n,t)}return r}function Ps(t,e,n,i){for(let s=0;s<n.outputs.length;s++){const o=n.outputs[s],r=Ms(t,n.nodeIndex,us(o.target,o.eventName));let a=o.target,l=t;"component"===o.target&&(a=null,l=e);const h=l.renderer.listen(a||i,o.eventName,r);t.disposables[n.outputIndex+s]=h}}function Ms(t,e,n){return i=>rs(t,e,n,i)}function Ds(t,e,n,i){if(!ns(t,e,n,i))return!1;const s=e.bindings[n],o=Vi(t,e.nodeIndex),r=o.renderElement,a=s.name;switch(15&s.flags){case 1:!function(t,e,n,i,s,o){const r=e.securityContext;let a=r?t.root.sanitizer.sanitize(r,o):o;a=null!=a?a.toString():null;const l=t.renderer;null!=o?l.setAttribute(n,s,a,i):l.removeAttribute(n,s,i)}(t,s,r,s.ns,a,i);break;case 2:!function(t,e,n,i){const s=t.renderer;i?s.addClass(e,n):s.removeClass(e,n)}(t,r,a,i);break;case 4:!function(t,e,n,i,s){let o=t.root.sanitizer.sanitize(Oi.STYLE,s);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const r=t.renderer;null!=o?r.setStyle(n,i,o):r.removeStyle(n,i)}(t,s,r,a,i);break;case 8:!function(t,e,n,i,s){const o=e.securityContext;let r=o?t.root.sanitizer.sanitize(o,s):s;t.renderer.setProperty(n,i,r)}(33554432&e.flags&&32&s.flags?o.componentView:t,s,r,a,i)}return!0}const As=new Object,Os=Ki(Nt),Rs=Ki(Rt),Ns=Ki(Qe);function Fs(t,e,n,i){return n=St(n),{index:-1,deps:fs(i,bt(e)),flags:t,token:e,value:n}}function zs(t,e,n=Nt.THROW_IF_NOT_FOUND){const i=Jt(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const s=e.tokenKey;switch(s){case Os:case Rs:case Ns:return t}const o=t._def.providersByKey[s];if(o){let e=t._providers[o.index];return void 0===e&&(e=t._providers[o.index]=Vs(t,o)),e===As?void 0:e}if(e.token.ngInjectableDef&&function(t,e){return null!=e.providedIn&&(function(t,n){return t._def.modules.indexOf(e.providedIn)>-1}(t)||"root"===e.providedIn&&t._def.isRoot)}(t,e.token.ngInjectableDef)){const n=t._providers.length;return t._def.providersByKey[e.tokenKey]={flags:5120,value:e.token.ngInjectableDef.factory,deps:[],index:n,token:e.token},t._providers[n]=As,t._providers[n]=Vs(t,t._def.providersByKey[e.tokenKey])}return t._parent.get(e.token,n)}finally{Jt(i)}}function Vs(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const i=n.length;switch(i){case 0:return new e;case 1:return new e(zs(t,n[0]));case 2:return new e(zs(t,n[0]),zs(t,n[1]));case 3:return new e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=new Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return new e(...s)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const i=n.length;switch(i){case 0:return e();case 1:return e(zs(t,n[0]));case 2:return e(zs(t,n[0]),zs(t,n[1]));case 3:return e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return e(...s)}}(t,e.value,e.deps);break;case 2048:n=zs(t,e.deps[0]);break;case 256:n=e.value}return n===As||null==n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?As:n}function Bs(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const i=n[e];return i.viewContainerParent=null,Us(n,e),Zi.dirtyParentQueries(i),Hs(i),i}function js(t,e,n){const i=e?hs(e,e.def.lastRenderRootNode):t.renderElement;vs(n,2,n.renderer.parentNode(i),n.renderer.nextSibling(i),void 0)}function Hs(t){vs(t,3,null,null,void 0)}function Zs(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Us(t,e){e>=t.length-1?t.pop():t.splice(e,1)}const Gs=new Object;function $s(t,e,n,i,s,o){return new qs(t,e,n,i,s,o)}class qs extends Ge{constructor(t,e,n,i,s,o){super(),this.selector=t,this.componentType=e,this._inputs=i,this._outputs=s,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,i){if(!i)throw new Error("ngModule should be provided");const s=ys(this.viewDefFactory),o=s.nodes[0].element.componentProvider.nodeIndex,r=Zi.createRootView(t,e||[],n,s,i,Gs),a=Bi(r,o).instance;return n&&r.renderer.setAttribute(Vi(r,0).renderElement,"ng-version",ne.full),new Ws(r,new Xs(r),a)}}class Ws extends Ue{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Mn(Vi(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new no(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Ks(t,e,n){return new Ys(t,e,n)}class Ys{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Mn(this._data.renderElement)}get injector(){return new no(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=ls(t),t=t.parent;return t?new no(t,e):new no(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=Bs(this._data,t);Zi.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Xs(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,s){const o=n||this.parentInjector;s||t instanceof Ye||(s=o.get(Qe));const r=t.create(o,i,void 0,s);return this.insert(r.hostView,e),r}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,i){let s=e.viewContainer._embeddedViews;null!==n&&void 0!==n||(n=s.length),i.viewContainerParent=t,Zs(s,n,i),function(t,e){const n=as(e);if(!n||n===t||16&e.state)return;e.state|=16;let i=n.template._projectedViews;i||(i=n.template._projectedViews=[]),i.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,i),Zi.dirtyParentQueries(i),js(e,n>0?s[n-1]:null,i)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,i){const s=t.viewContainer._embeddedViews,o=s[n];Us(s,n),null==i&&(i=s.length),Zs(s,i,o),Zi.dirtyParentQueries(o),Hs(o),js(t,i>0?s[i-1]:null,o)}(this._data,0,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=Bs(this._data,t);e&&Zi.destroyView(e)}detach(t){const e=Bs(this._data,t);return e?new Xs(e):null}}function Qs(t){return new Xs(t)}class Xs{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return vs(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){ss(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Zi.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Zi.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Zi.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Hs(this._view),Zi.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function Js(t,e){return new to(t,e)}class to extends An{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Xs(Zi.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Mn(Vi(this._parentView,this._def.nodeIndex).renderElement)}}function eo(t,e){return new no(t,e)}class no{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Nt.THROW_IF_NOT_FOUND){return Zi.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Ki(t)},e)}}function io(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Vi(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return zi(t,n.nodeIndex).renderText;if(20240&n.flags)return Bi(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function so(t){return new oo(t.renderer)}class oo{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,i]=Ls(e),s=this.delegate.createElement(i,n);return t&&this.delegate.appendChild(t,s),s}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),i=this.delegate.nextSibling(t);for(let s=0;s<e.length;s++)this.delegate.insertBefore(n,e[s],i)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],i=this.delegate.parentNode(n);this.delegate.removeChild(i,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[i,s]=Ls(e);null!=n?this.delegate.setAttribute(t,s,n,i):this.delegate.removeAttribute(t,s,i)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function ro(t,e,n,i){return new ao(t,e,n,i)}class ao{constructor(t,e,n,i){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=i,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let i=0;i<e.providers.length;i++){const s=e.providers[i];4096&s.flags||void 0===n[i]&&(n[i]=Vs(t,s))}}(this)}get(t,e=Nt.THROW_IF_NOT_FOUND,n=0){let i=0;return 4&n?i|=1:2&n&&(i|=4),zs(this,{token:t,tokenKey:Ki(t),flags:i},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(We)}destroy(){if(this._destroyed)throw new Error(`The ng module ${bt(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,i=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const e=t._providers[s];if(e&&e!==As){const t=e.ngOnDestroy;"function"!=typeof t||i.has(e)||(t.apply(e),i.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const lo=Ki(class{}),ho=Ki(Pn),uo=Ki(Mn),co=Ki(On),po=Ki(An),mo=Ki(Rn),fo=Ki(Nt),_o=Ki(Rt);function go(t,e,n,i,s,o,r,a){const l=[];if(r)for(let u in r){const[t,e]=r[u];l[t]={flags:8,name:u,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const h=[];if(a)for(let u in a)h.push({type:1,propName:u,target:null,eventName:a[u]});return bo(t,e|=16384,n,i,s,s,o,l,h)}function yo(t,e,n){return bo(-1,t|=16,null,0,e,e,n)}function vo(t,e,n,i,s){return bo(-1,t,e,0,n,i,s)}function bo(t,e,n,i,s,o,r,a,l){const{matchedQueries:h,references:u,matchedQueryIds:c}=ms(n);l||(l=[]),a||(a=[]),o=St(o);const d=fs(r,bt(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:h,matchedQueryIds:c,references:u,ngContentIndex:-1,childCount:i,bindings:a,bindingFlags:ks(a),outputs:l,element:null,provider:{token:s,value:o,deps:d},text:null,query:null,ngContent:null}}function wo(t,e){return Lo(t,e)}function xo(t,e){let n=t;for(;n.parent&&!cs(n);)n=n.parent;return ko(n.parent,ls(n),!0,e.provider.value,e.provider.deps)}function Eo(t,e){const n=ko(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let i=0;i<e.outputs.length;i++){const s=e.outputs[i],o=n[s.propName].subscribe(Co(t,e.parent.nodeIndex,s.eventName));t.disposables[e.outputIndex+i]=o.unsubscribe.bind(o)}return n}function Co(t,e,n){return i=>rs(t,e,n,i)}function Lo(t,e){const n=(8192&e.flags)>0,i=e.provider;switch(201347067&e.flags){case 512:return ko(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,s){const o=s.length;switch(o){case 0:return i();case 1:return i(To(t,e,n,s[0]));case 2:return i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return i(...r)}}(t,e.parent,n,i.value,i.deps);case 2048:return To(t,e.parent,n,i.deps[0]);case 256:return i.value}}function ko(t,e,n,i,s){const o=s.length;switch(o){case 0:return new i;case 1:return new i(To(t,e,n,s[0]));case 2:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=new Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return new i(...r)}}const So={};function To(t,e,n,i,s=Nt.THROW_IF_NOT_FOUND){if(8&i.flags)return i.token;const o=t;2&i.flags&&(s=null);const r=i.tokenKey;r===mo&&(n=!(!e||!e.element.componentView)),e&&1&i.flags&&(n=!1,e=e.parent);let a=t;for(;a;){if(e)switch(r){case lo:return so(Io(a,e,n));case ho:return Io(a,e,n).renderer;case uo:return new Mn(Vi(a,e.nodeIndex).renderElement);case co:return Vi(a,e.nodeIndex).viewContainer;case po:if(e.element.template)return Vi(a,e.nodeIndex).template;break;case mo:return Qs(Io(a,e,n));case fo:case _o:return eo(a,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[r];if(t){let e=Bi(a,t.nodeIndex);return e||(e={instance:Lo(a,t)},a.nodes[t.nodeIndex]=e),e.instance}}n=cs(a),e=ls(a),a=a.parent,4&i.flags&&(a=null)}const l=o.root.injector.get(i.token,So);return l!==So||s===So?l:o.root.ngModule.injector.get(i.token,s)}function Io(t,e,n){let i;if(n)i=Vi(t,e.nodeIndex).componentView;else for(i=t;i.parent&&!cs(i);)i=i.parent;return i}function Po(t,e,n,i,s,o){if(32768&n.flags){const e=Vi(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[i].name]=s,524288&n.flags){o=o||{};const e=Zn.unwrap(t.oldValues[n.bindingIndex+i]);o[n.bindings[i].nonMinifiedName]=new Un(e,s,0!=(2&t.state))}return t.oldValues[n.bindingIndex+i]=s,o}function Mo(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let i=0;for(let s=0;s<n.length;s++){const o=n[s];let r=o.parent;for(!r&&o.flags&e&&Ao(t,s,o.flags&e,i++),0==(o.childFlags&e)&&(s+=o.childCount);r&&1&r.flags&&s===r.nodeIndex+r.childCount;)r.directChildFlags&e&&(i=Do(t,r,e,i)),r=r.parent}}function Do(t,e,n,i){for(let s=e.nodeIndex+1;s<=e.nodeIndex+e.childCount;s++){const e=t.def.nodes[s];e.flags&n&&Ao(t,s,e.flags&n,i++),s+=e.childCount}return i}function Ao(t,e,n,i){const s=Bi(t,e);if(!s)return;const o=s.instance;o&&(Zi.setCurrentNode(t,e),1048576&n&&Fi(t,512,i)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fi(t,768,i)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function Oo(t,e,n){let i=[];for(let s in n)i.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:ps(e),bindings:i},ngContent:null}}function Ro(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&ds(t);){let n=t.parentNodeDef;t=t.parent;const i=n.nodeIndex+n.childCount;for(let s=0;s<=i;s++){const i=t.def.nodes[s];67108864&i.flags&&536870912&i.flags&&(i.query.filterId&e)===i.query.filterId&&Hi(t,s).setDirty(),!(1&i.flags&&s+i.childCount<n.nodeIndex)&&67108864&i.childFlags&&536870912&i.childFlags||(s+=i.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Hi(t,n).setDirty(),n+=e.childCount}}function No(t,e){const n=Hi(t,e.nodeIndex);if(!n.dirty)return;let i,s=void 0;if(67108864&e.flags){const n=e.parent.parent;s=Fo(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),i=Bi(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(s=Fo(t,0,t.def.nodes.length-1,e.query,[]),i=t.component);n.reset(s);const o=e.query.bindings;let r=!1;for(let a=0;a<o.length;a++){const t=o[a];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,r=!0}i[t.propName]=e}r&&n.notifyOnChanges()}function Fo(t,e,n,i,s){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[i.id];if(null!=n&&s.push(zo(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&i.filterId)===i.filterId){const n=Vi(t,o);if((e.childMatchedQueries&i.filterId)===i.filterId&&(Fo(t,o+1,o+e.childCount,i,s),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],r=as(o);r&&r===n&&Fo(o,0,o.def.nodes.length-1,i,s)}}const r=n.template._projectedViews;if(r)for(let t=0;t<r.length;t++){const e=r[t];Fo(e,0,e.def.nodes.length-1,i,s)}}(e.childMatchedQueries&i.filterId)!==i.filterId&&(o+=e.childCount)}return s}function zo(t,e,n){if(null!=n)switch(n){case 1:return Vi(t,e.nodeIndex).renderElement;case 0:return new Mn(Vi(t,e.nodeIndex).renderElement);case 2:return Vi(t,e.nodeIndex).template;case 3:return Vi(t,e.nodeIndex).viewContainer;case 4:return Bi(t,e.nodeIndex).instance}}function Vo(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Bo(t,e,n){const i=_s(t,e,n);i&&ws(t,n.ngContent.index,1,i,null,void 0)}function jo(t,e){return function(t,e,n){const i=new Array(n.length);for(let s=0;s<n.length;s++){const t=n[s];i[s]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:128,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:i,bindingFlags:ks(i),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}(0,t,new Array(e+1))}function Ho(t,e,n){const i=new Array(n.length-1);for(let s=1;s<n.length;s++)i[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:i,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function Zo(t,e,n){let i;const s=t.renderer;i=s.createText(n.text.prefix);const o=_s(t,e,n);return o&&s.appendChild(o,i),{renderText:i}}function Uo(t,e){return(null!=t?t.toString():"")+e.suffix}function Go(t,e,n,i){let s=0,o=0,r=0,a=0,l=0,h=null,u=null,c=!1,d=!1,p=null;for(let m=0;m<e.length;m++){const t=e[m];if(t.nodeIndex=m,t.parent=h,t.bindingIndex=s,t.outputIndex=o,t.renderParent=u,r|=t.flags,l|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=h?h.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,c=!1,d=!1,t.element.template&&(l|=t.element.template.nodeMatchedQueries)}if(qo(h,t,e.length),s+=t.bindings.length,o+=t.outputs.length,!u&&3&t.flags&&(p=t),20224&t.flags){c||(c=!0,h.element.publicProviders=Object.create(h.element.publicProviders),h.element.allProviders=h.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?h.element.publicProviders[Ki(t.provider.token)]=t:(d||(d=!0,h.element.allProviders=Object.create(h.element.publicProviders)),h.element.allProviders[Ki(t.provider.token)]=t),e&&(h.element.componentProvider=t)}if(h?(h.childFlags|=t.flags,h.directChildFlags|=t.flags,h.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(h.childMatchedQueries|=t.element.template.nodeMatchedQueries)):a|=t.flags,t.childCount>0)h=t,$o(t)||(u=t);else for(;h&&m===h.nodeIndex+h.childCount;){const t=h.parent;t&&(t.childFlags|=h.childFlags,t.childMatchedQueries|=h.childMatchedQueries),u=(h=t)&&$o(h)?h.renderParent:h}}return{factory:null,nodeFlags:r,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||qi,updateRenderer:i||qi,handleEvent:(t,n,i,s)=>e[n].element.handleEvent(t,i,s),bindingCount:s,outputCount:o,lastRenderRootNode:p}}function $o(t){return 0!=(1&t.flags)&&null===t.element.name}function qo(t,e,n){const i=e.element&&e.element.template;if(i){if(!i.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(i.lastRenderRootNode&&16777216&i.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Wo(t,e,n,i){const s=Qo(t.root,t.renderer,t,e,n);return Xo(s,t.component,i),Jo(s),s}function Ko(t,e,n){const i=Qo(t,t.renderer,null,null,e);return Xo(i,n,n),Jo(i),i}function Yo(t,e,n,i){const s=e.element.componentRendererType;let o;return o=s?t.root.rendererFactory.createRenderer(i,s):t.root.renderer,Qo(t.root,o,t,e.element.componentProvider,n)}function Qo(t,e,n,i,s){const o=new Array(s.nodes.length),r=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:i,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(s.bindingCount),disposables:r,initIndex:-1}}function Xo(t,e,n){t.component=e,t.context=n}function Jo(t){let e;cs(t)&&(e=Vi(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,i=t.nodes;for(let s=0;s<n.nodes.length;s++){const o=n.nodes[s];let r;switch(Zi.setCurrentNode(t,s),201347067&o.flags){case 1:const n=Is(t,e,o);let a=void 0;if(33554432&o.flags){const e=ys(o.element.componentView);a=Zi.createComponentView(t,o,e,n)}Ps(t,a,o,n),r={renderElement:n,componentView:a,viewContainer:null,template:o.element.template?Js(t,o):void 0},16777216&o.flags&&(r.viewContainer=Ks(t,o,r));break;case 2:r=Zo(t,e,o);break;case 512:case 1024:case 2048:case 256:(r=i[s])||4096&o.flags||(r={instance:wo(t,o)});break;case 16:r={instance:xo(t,o)};break;case 16384:(r=i[s])||(r={instance:Eo(t,o)}),32768&o.flags&&Xo(Vi(t,o.parent.nodeIndex).componentView,r.instance,r.instance);break;case 32:case 64:case 128:r={value:void 0};break;case 67108864:case 134217728:r=new Dn;break;case 8:Bo(t,e,o),r=void 0}i[s]=r}lr(t,ar.CreateViewNodes),dr(t,201326592,268435456,0)}function tr(t){ir(t),Zi.updateDirectives(t,1),hr(t,ar.CheckNoChanges),Zi.updateRenderer(t,1),lr(t,ar.CheckNoChanges),t.state&=-97}function er(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ni(t,0,256),ir(t),Zi.updateDirectives(t,0),hr(t,ar.CheckAndUpdate),dr(t,67108864,536870912,0);let e=Ni(t,256,512);Mo(t,2097152|(e?1048576:0)),Zi.updateRenderer(t,0),lr(t,ar.CheckAndUpdate),dr(t,134217728,536870912,0),Mo(t,8388608|((e=Ni(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Ni(t,768,1024)}function nr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){switch(201347067&e.flags){case 1:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;let p=!1;return d>0&&Ds(t,e,0,n)&&(p=!0),d>1&&Ds(t,e,1,i)&&(p=!0),d>2&&Ds(t,e,2,s)&&(p=!0),d>3&&Ds(t,e,3,o)&&(p=!0),d>4&&Ds(t,e,4,r)&&(p=!0),d>5&&Ds(t,e,5,a)&&(p=!0),d>6&&Ds(t,e,6,l)&&(p=!0),d>7&&Ds(t,e,7,h)&&(p=!0),d>8&&Ds(t,e,8,u)&&(p=!0),d>9&&Ds(t,e,9,c)&&(p=!0),p}(t,e,n,i,s,o,r,a,l,h,u,c);case 2:return function(t,e,n,i,s,o,r,a,l,h,u,c){let d=!1;const p=e.bindings,m=p.length;if(m>0&&ns(t,e,0,n)&&(d=!0),m>1&&ns(t,e,1,i)&&(d=!0),m>2&&ns(t,e,2,s)&&(d=!0),m>3&&ns(t,e,3,o)&&(d=!0),m>4&&ns(t,e,4,r)&&(d=!0),m>5&&ns(t,e,5,a)&&(d=!0),m>6&&ns(t,e,6,l)&&(d=!0),m>7&&ns(t,e,7,h)&&(d=!0),m>8&&ns(t,e,8,u)&&(d=!0),m>9&&ns(t,e,9,c)&&(d=!0),d){let d=e.text.prefix;m>0&&(d+=Uo(n,p[0])),m>1&&(d+=Uo(i,p[1])),m>2&&(d+=Uo(s,p[2])),m>3&&(d+=Uo(o,p[3])),m>4&&(d+=Uo(r,p[4])),m>5&&(d+=Uo(a,p[5])),m>6&&(d+=Uo(l,p[6])),m>7&&(d+=Uo(h,p[7])),m>8&&(d+=Uo(u,p[8])),m>9&&(d+=Uo(c,p[9]));const f=zi(t,e.nodeIndex).renderText;t.renderer.setValue(f,d)}return d}(t,e,n,i,s,o,r,a,l,h,u,c);case 16384:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=Bi(t,e.nodeIndex),p=d.instance;let m=!1,f=void 0;const _=e.bindings.length;return _>0&&es(t,e,0,n)&&(m=!0,f=Po(t,d,e,0,n,f)),_>1&&es(t,e,1,i)&&(m=!0,f=Po(t,d,e,1,i,f)),_>2&&es(t,e,2,s)&&(m=!0,f=Po(t,d,e,2,s,f)),_>3&&es(t,e,3,o)&&(m=!0,f=Po(t,d,e,3,o,f)),_>4&&es(t,e,4,r)&&(m=!0,f=Po(t,d,e,4,r,f)),_>5&&es(t,e,5,a)&&(m=!0,f=Po(t,d,e,5,a,f)),_>6&&es(t,e,6,l)&&(m=!0,f=Po(t,d,e,6,l,f)),_>7&&es(t,e,7,h)&&(m=!0,f=Po(t,d,e,7,h,f)),_>8&&es(t,e,8,u)&&(m=!0,f=Po(t,d,e,8,u,f)),_>9&&es(t,e,9,c)&&(m=!0,f=Po(t,d,e,9,c,f)),f&&p.ngOnChanges(f),65536&e.flags&&Fi(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),m}(t,e,n,i,s,o,r,a,l,h,u,c);case 32:case 64:case 128:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings;let p=!1;const m=d.length;if(m>0&&ns(t,e,0,n)&&(p=!0),m>1&&ns(t,e,1,i)&&(p=!0),m>2&&ns(t,e,2,s)&&(p=!0),m>3&&ns(t,e,3,o)&&(p=!0),m>4&&ns(t,e,4,r)&&(p=!0),m>5&&ns(t,e,5,a)&&(p=!0),m>6&&ns(t,e,6,l)&&(p=!0),m>7&&ns(t,e,7,h)&&(p=!0),m>8&&ns(t,e,8,u)&&(p=!0),m>9&&ns(t,e,9,c)&&(p=!0),p){const p=ji(t,e.nodeIndex);let f;switch(201347067&e.flags){case 32:f=new Array(d.length),m>0&&(f[0]=n),m>1&&(f[1]=i),m>2&&(f[2]=s),m>3&&(f[3]=o),m>4&&(f[4]=r),m>5&&(f[5]=a),m>6&&(f[6]=l),m>7&&(f[7]=h),m>8&&(f[8]=u),m>9&&(f[9]=c);break;case 64:f={},m>0&&(f[d[0].name]=n),m>1&&(f[d[1].name]=i),m>2&&(f[d[2].name]=s),m>3&&(f[d[3].name]=o),m>4&&(f[d[4].name]=r),m>5&&(f[d[5].name]=a),m>6&&(f[d[6].name]=l),m>7&&(f[d[7].name]=h),m>8&&(f[d[8].name]=u),m>9&&(f[d[9].name]=c);break;case 128:const t=n;switch(m){case 1:f=t.transform(n);break;case 2:f=t.transform(i);break;case 3:f=t.transform(i,s);break;case 4:f=t.transform(i,s,o);break;case 5:f=t.transform(i,s,o,r);break;case 6:f=t.transform(i,s,o,r,a);break;case 7:f=t.transform(i,s,o,r,a,l);break;case 8:f=t.transform(i,s,o,r,a,l,h);break;case 9:f=t.transform(i,s,o,r,a,l,h,u);break;case 10:f=t.transform(i,s,o,r,a,l,h,u,c)}}p.value=f}return p}(t,e,n,i,s,o,r,a,l,h,u,c);default:throw"unreachable"}}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let i=!1;for(let s=0;s<n.length;s++)Ds(t,e,s,n[s])&&(i=!0);return i}(t,e,n);case 2:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){let s="";for(let t=0;t<n.length;t++)s+=Uo(n[t],i[t]);s=e.text.prefix+s;const o=zi(t,e.nodeIndex).renderText;t.renderer.setValue(o,s)}return s}(t,e,n);case 16384:return function(t,e,n){const i=Bi(t,e.nodeIndex),s=i.instance;let o=!1,r=void 0;for(let a=0;a<n.length;a++)es(t,e,a,n[a])&&(o=!0,r=Po(t,i,e,a,n[a],r));return r&&s.ngOnChanges(r),65536&e.flags&&Fi(t,256,e.nodeIndex)&&s.ngOnInit(),262144&e.flags&&s.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){const s=ji(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let e=0;e<n.length;e++)o[i[e].name]=n[e];break;case 128:const t=n[0],s=n.slice(1);o=t.transform(...s)}s.value=o}return s}(t,e,n);default:throw"unreachable"}}(t,e,i)}function ir(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const i=e.nodes[n];if(4&i.flags){const e=Vi(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const i=e[n];i.state|=32,os(i,t)}}else 0==(4&i.childFlags)&&(n+=i.childCount)}}function sr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;d>0&&is(t,e,0,n),d>1&&is(t,e,1,i),d>2&&is(t,e,2,s),d>3&&is(t,e,3,o),d>4&&is(t,e,4,r),d>5&&is(t,e,5,a),d>6&&is(t,e,6,l),d>7&&is(t,e,7,h),d>8&&is(t,e,8,u),d>9&&is(t,e,9,c)}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){for(let i=0;i<n.length;i++)is(t,e,i,n[i])}(t,e,i),!1}function or(t,e){if(Hi(t,e.nodeIndex).dirty)throw Ui(Zi.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function rr(t){if(!(128&t.state)){if(hr(t,ar.Destroy),lr(t,ar.Destroy),Mo(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=as(t);if(e){const n=e.template._projectedViews;n&&(Us(n,n.indexOf(t)),Zi.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Vi(t,n).renderElement):2&e.flags?t.renderer.destroyNode(zi(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Hi(t,n).destroy()}}(t),cs(t)&&t.renderer.destroy(),t.state|=128}}const ar=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function lr(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];33554432&s.flags?ur(Vi(t,i).componentView,e):0==(33554432&s.childFlags)&&(i+=s.childCount)}}function hr(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];if(16777216&s.flags){const n=Vi(t,i).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)ur(n[t],e)}else 0==(16777216&s.childFlags)&&(i+=s.childCount)}}function ur(t,e){const n=t.state;switch(e){case ar.CheckNoChanges:0==(128&n)&&(12==(12&n)?tr(t):64&n&&cr(t,ar.CheckNoChangesProjectedViews));break;case ar.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?tr(t):64&n&&cr(t,e));break;case ar.CheckAndUpdate:0==(128&n)&&(12==(12&n)?er(t):64&n&&cr(t,ar.CheckAndUpdateProjectedViews));break;case ar.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?er(t):64&n&&cr(t,e));break;case ar.Destroy:rr(t);break;case ar.CreateViewNodes:Jo(t)}}function cr(t,e){hr(t,e),lr(t,e)}function dr(t,e,n,i){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const s=t.def.nodes.length;for(let o=0;o<s;o++){const s=t.def.nodes[o];if(s.flags&e&&s.flags&n)switch(Zi.setCurrentNode(t,s.nodeIndex),i){case 0:No(t,s);break;case 1:or(t,s)}s.childFlags&e&&s.childFlags&n||(o+=s.childCount)}}let pr=!1;function mr(t,e,n,i,s,o){return Ko(_r(t,s,s.injector.get(Tn),e,n),i,o)}function fr(t,e,n,i,s,o){const r=s.injector.get(Tn),a=_r(t,s,new Qr(r),e,n),l=kr(i);return Kr(Dr.create,Ko,null,[a,l,o])}function _r(t,e,n,i,s){const o=e.injector.get(Ri),r=e.injector.get(he);return{ngModule:e,injector:t,projectableNodes:i,selectorOrNode:s,sanitizer:o,rendererFactory:n,renderer:n.createRenderer(null,null),errorHandler:r}}function gr(t,e,n,i){const s=kr(n);return Kr(Dr.create,Wo,null,[t,e,s,i])}function yr(t,e,n,i){return n=xr.get(e.element.componentProvider.provider.token)||kr(n),Kr(Dr.create,Yo,null,[t,e,n,i])}function vr(t,e,n,i){return ro(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===br.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const i=br.get(t.token);3840&t.flags&&i&&(e=!0,n=n||i.deprecatedBehavior)}),t.modules.forEach(t=>{wr.forEach((i,s)=>{s.ngInjectableDef.providedIn===t&&(e=!0,n=n||i.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const i=t.providers[e];n&&(i.flags|=4096);const s=br.get(i.token);s&&(i.flags=-3841&i.flags|s.flags,i.deps=fs(s.deps),i.value=s.value)}if(wr.size>0){let e=new Set(t.modules);wr.forEach((i,s)=>{if(e.has(s.ngInjectableDef.providedIn)){let e={token:s,flags:i.flags|(n?4096:0),deps:fs(i.deps),value:i.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Ki(s)]=e}})}}(t=t.factory(()=>qi)),t):t}(i))}const br=new Map,wr=new Map,xr=new Map;function Er(t){br.set(t.token,t),"function"==typeof t.token&&t.token.ngInjectableDef&&"function"==typeof t.token.ngInjectableDef.providedIn&&wr.set(t.token,t)}function Cr(t,e){const n=ys(ys(e.viewDefFactory).nodes[0].element.componentView);xr.set(t,n)}function Lr(){br.clear(),wr.clear(),xr.clear()}function kr(t){if(0===br.size)return t;const e=function(t){const e=[];let n=null;for(let i=0;i<t.nodes.length;i++){const s=t.nodes[i];1&s.flags&&(n=s),n&&3840&s.flags&&br.has(s.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>qi);for(let i=0;i<e.length;i++)n(t,e[i]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=br.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=fs(n.deps),t.value=n.value)}}}}function Sr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return nr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Tr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return sr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Ir(t){return Kr(Dr.detectChanges,er,null,[t])}function Pr(t){return Kr(Dr.checkNoChanges,tr,null,[t])}function Mr(t){return Kr(Dr.destroy,rr,null,[t])}const Dr=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let Ar,Or,Rr;function Nr(t,e){Or=t,Rr=e}function Fr(t,e,n,i){return Nr(t,e),Kr(Dr.handleEvent,t.def.handleEvent,null,[t,e,n,i])}function zr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,Gr(t,0)),t.def.updateDirectives(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),16384&o.flags&&Nr(t,Gr(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Vr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,$r(t,0)),t.def.updateRenderer(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),3&o.flags&&Nr(t,$r(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Br(t,e,n,i){if(nr(t,e,n,...i)){const s=1===n?i[0]:i;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const i=e.bindings[t],o=s[t];8&i.flags&&(n[Hr(i.nonMinifiedName)]=Ur(o))}const i=e.parent,o=Vi(t,i.nodeIndex).renderElement;if(i.element.name)for(let e in n){const i=n[e];null!=i?t.renderer.setAttribute(o,e,i):t.renderer.removeAttribute(o,e)}else t.renderer.setValue(o,`bindings=${JSON.stringify(n,null,2)}`)}}}function jr(t,e,n,i){sr(t,e,n,...i)}function Hr(t){return`ng-reflect-${t=t.replace(/[$@]/g,"_").replace(Zr,(...t)=>"-"+t[1].toLowerCase())}`}const Zr=/([A-Z])/g;function Ur(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){return"[ERROR] Exception while trying to serialize the value"}}function Gr(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function $r(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class qr{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,i=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&i;)n=ls(i),i=i.parent;this.elDef=n,this.elView=i}get elOrCompView(){return Vi(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return eo(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){Wr(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&Wr(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!cs(t);)t=t.parent;return t.parent?Vi(t.parent,ls(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?hs(this.view,this.nodeDef):hs(this.elView,this.elDef)}logError(t,...e){let n,i;2&this.nodeDef.flags?(n=this.view.def,i=this.nodeDef.nodeIndex):(n=this.elView.def,i=this.elDef.nodeIndex);const s=function(t,e){let n=-1;for(let i=0;i<=e;i++)3&t.nodes[i].flags&&n++;return n}(n,i);let o=-1;n.factory(()=>++o===s?t.error.bind(t,...e):qi),o<s&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function Wr(t,e,n){for(let i in e.references)n[i]=zo(t,e,e.references[i])}function Kr(t,e,n,i){const s=Ar,o=Or,r=Rr;try{Ar=t;const a=e.apply(n,i);return Or=o,Rr=r,Ar=s,a}catch(t){if(re(t)||!Or)throw t;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Gi(t,e),t}(t,Yr())}}function Yr(){return Or?new qr(Or,Rr):null}class Qr{constructor(t){this.delegate=t}createRenderer(t,e){return new Xr(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class Xr{constructor(t){this.delegate=t,this.data=this.delegate.data}destroyNode(t){!function(t){Vn.delete(t.nativeNode)}(Bn(t)),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),i=Yr();if(i){const e=new zn(n,null,i);e.name=t,jn(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}appendChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.addChild(i),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const i=Bn(t),s=Bn(e),o=Bn(n);i&&s&&i instanceof zn&&i.insertBefore(o,s),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.removeChild(i),this.delegate.removeChild(t,e)}selectRootElement(t){const e=this.delegate.selectRootElement(t),n=Yr();return n&&jn(new zn(e,null,n)),e}setAttribute(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.attributes[i?i+":"+e:e]=n),this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.styles[e]=n),this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const i=Bn(t);i&&i.listeners.push(new Nn(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}"undefined"==typeof ngDevMode&&("undefined"!=typeof window&&(window.ngDevMode=!0),"undefined"!=typeof self&&(self.ngDevMode=!0),"undefined"!=typeof global&&(global.ngDevMode=!0));const Jr=Element.prototype,ta=Jr.matches||Jr.matchesSelector||Jr.mozMatchesSelector||Jr.msMatchesSelector||Jr.oMatchesSelector||Jr.webkitMatchesSelector,ea={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return ea.schedule(t,0);if(void 0===window.requestAnimationFrame)return ea.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};function na(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(e,n){return ta.call(t,n)}(0,e)||(i=n,0))),i}const ia=10;class sa{constructor(t,e){this.component=t,this.injector=e,this.componentFactory=e.get(We).resolveComponentFactory(t)}create(t){return new oa(this.componentFactory,t)}}class oa{constructor(t,e){this.componentFactory=t,this.injector=e,this.inputChanges=null,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.uninitializedInputs=new Set}connect(t){if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);this.componentRef||this.initializeComponent(t)}disconnect(){this.componentRef&&null===this.scheduledDestroyFn&&(this.scheduledDestroyFn=ea.schedule(()=>{this.componentRef&&(this.componentRef.destroy(),this.componentRef=null)},ia))}getInputValue(t){return this.componentRef?this.componentRef.instance[t]:this.initialInputValues.get(t)}setInputValue(t,e){(function(t,e){return t===e||t!=t&&e!=e})(e,this.getInputValue(t))||(this.componentRef?(this.recordInputChange(t,e),this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e))}initializeComponent(t){const e=Nt.create({providers:[],parent:this.injector}),n=function(e,n){const i=t.childNodes,s=n.map(()=>[]);let o=-1;n.some((t,e)=>"*"===t&&(o=e,!0));for(let t=0,r=i.length;t<r;++t){const e=i[t],r=na(e,n,o);-1!==r&&s[r].push(e)}return s}(0,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,n,t),this.implementsOnChanges=function(t){return"function"==typeof t}(this.componentRef.instance.ngOnChanges),this.initializeInputs(),this.initializeOutputs(),this.detectChanges(),this.injector.get(kn).attachView(this.componentRef.hostView)}initializeInputs(){this.componentFactory.inputs.forEach(({propName:t})=>{const e=this.initialInputValues.get(t);e?this.setInputValue(t,e):this.uninitializedInputs.add(t)}),this.initialInputValues.clear()}initializeOutputs(){const t=this.componentFactory.outputs.map(({propName:t,templateName:e})=>this.componentRef.instance[t].pipe(j(t=>({name:e,value:t}))));this.events=Q(...t)}callNgOnChanges(){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,this.componentRef.instance.ngOnChanges(t)}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ea.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(this.componentRef&&!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.uninitializedInputs.has(t);this.uninitializedInputs.delete(t);const s=i?void 0:this.getInputValue(t);this.inputChanges[t]=new Un(s,e,i)}detectChanges(){this.componentRef&&(this.callNgOnChanges(),this.componentRef.changeDetectorRef.detectChanges())}}class ra extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class aa{constructor(){this.layers_to_add=["osm"],this.allow_edit_drawn_items=!0,this.zoom_init=4,this.lat_lng_init=[46.5,2.9],this.elevation_provider="openelevation",this.geolocation_provider="osm",this.location=new on,this._osm_class_filters=[]}set layer(t){this.layers_to_add=[t]}set osm_class_filter(t){this._osm_class_filters=[t]}set marker(t){"true"===t&&(this._marker=!0)}set polyline(t){"true"===t&&(this._polyline=!0)}set polygon(t){"true"===t&&(this._polygon=!0)}set lat_init(t){this.lat_lng_init[0]=t}set lng_init(t){this.lat_lng_init[1]=t}set get_osm_simple_line(t){"true"===t&&(this._get_osm_simple_line=!0)}set show_lat_lng_elevation_inputs(t){"true"===t&&(this._show_lat_lng_elevation_inputs=!0)}newLocation(t){this.location.emit(t)}}class la{constructor(t){this.injector=t;const e=function(t,e){const n=function(t,n){return e.injector.get(We).resolveComponentFactory(t).inputs}(t),i=e.strategyFactory||new sa(t,e.injector),s=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)]=t}),e}(n);class o extends ra{constructor(t){super(),this.ngElementStrategy=i.create(t||e.injector)}attributeChangedCallback(t,n,o,r){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.setInputValue(s[t],o)}connectedCallback(){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.connect(this),this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}disconnectedCallback(){this.ngElementStrategy&&this.ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}}return o.observedAttributes=Object.keys(s),n.map(({propName:t})=>t).forEach(t=>{Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(aa,{injector:this.injector});customElements.define("tb-geolocation-element",e)}ngDoBootstrap(){}}class ha{}class ua{}const ca="*";function da(t,e=null){return{type:2,steps:t,options:e}}function pa(t){return{type:6,styles:t,offset:null}}function ma(t){Promise.resolve(null).then(t)}class fa{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ma(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class _a{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const s=this.players.length;0==s?ma(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==s&&this._onFinish()}),t.onDestroy(()=>{++n==s&&this._onDestroy()}),t.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const ga="!";function ya(t){return null!=t&&"false"!==`${t}`}function va(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function ba(t){return Array.isArray(t)?t:[t]}function wa(t){return null==t?"":"string"==typeof t?t:`${t}px`}const xa=9,Ea=13,Ca=27,La=32,ka=37,Sa=38,Ta=39,Ia=40,Pa=48,Ma=57,Da=65,Aa=90;class Oa{}const Ra=void 0;var Na=["en",[["a","p"],["AM","PM"],Ra],[["AM","PM"],Ra,Ra],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ra,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ra,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ra,"{1} 'at' {0}",Ra],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];const Fa={},za=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),Va=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),Ba=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function ja(t,e){const n=Ha(t),i=n[13][e];if(void 0===i){if(e===Ba.CurrencyDecimal)return n[13][Ba.Decimal];if(e===Ba.CurrencyGroup)return n[13][Ba.Group]}return i}function Ha(t){const e=t.toLowerCase().replace(/_/g,"-");let n=Fa[e];if(n)return n;const i=e.split("-")[0];if(n=Fa[i])return n;if("en"===i)return Na;throw new Error(`Missing locale data for the locale "${t}".`)}const Za=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ua=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ga=22,$a=".",qa="0",Wa=";",Ka=",",Ya="#";function Qa(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const Xa=new rt("UseV4Plurals");class Ja{}class tl extends Ja{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Ha(t)[18]}(e||this.locale)(t)){case Va.Zero:return"zero";case Va.One:return"one";case Va.Two:return"two";case Va.Few:return"few";case Va.Many:return"many";default:return"other"}}}function el(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class nl{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._initialClasses=[]}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Gn(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${bt(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class il{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class sl{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._differ=null}set ngForTrackBy(t){bn()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngOnChanges(t){if("ngForOf"in t){const e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}}ngDoCheck(){if(this._differ){const t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new il(null,this.ngForOf,-1,-1),i),s=new ol(t,n);e.push(s)}else if(null==i)this._viewContainer.remove(n);else{const s=this._viewContainer.get(n);this._viewContainer.move(s,i);const o=new ol(t,s);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,i=this._viewContainer.length;n<i;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=i}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}}class ol{constructor(t,e){this.record=t,this.view=e}}class rl{constructor(t,e){this._viewContainer=t,this._context=new al,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class al{constructor(){this.$implicit=null,this.ngIf=null}}function ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${bt(e)}'.`)}class hl{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class ul{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class cl{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new hl(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}function dl(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${bt(t)}'`)}const pl=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ml={yMMMdjms:Cl(El([wl("year",1),xl("month",3),wl("day",1),wl("hour",1),wl("minute",1),wl("second",1)])),yMdjm:Cl(El([wl("year",1),wl("month",1),wl("day",1),wl("hour",1),wl("minute",1)])),yMMMMEEEEd:Cl(El([wl("year",1),xl("month",4),xl("weekday",4),wl("day",1)])),yMMMMd:Cl(El([wl("year",1),xl("month",4),wl("day",1)])),yMMMd:Cl(El([wl("year",1),xl("month",3),wl("day",1)])),yMd:Cl(El([wl("year",1),wl("month",1),wl("day",1)])),jms:Cl(El([wl("hour",1),wl("second",1),wl("minute",1)])),jm:Cl(El([wl("hour",1),wl("minute",1)]))},fl={yyyy:Cl(wl("year",4)),yy:Cl(wl("year",2)),y:Cl(wl("year",1)),MMMM:Cl(xl("month",4)),MMM:Cl(xl("month",3)),MM:Cl(wl("month",2)),M:Cl(wl("month",1)),LLLL:Cl(xl("month",4)),L:Cl(xl("month",1)),dd:Cl(wl("day",2)),d:Cl(wl("day",1)),HH:_l(gl(Cl(bl(wl("hour",2),!1)))),H:gl(Cl(bl(wl("hour",1),!1))),hh:_l(gl(Cl(bl(wl("hour",2),!0)))),h:gl(Cl(bl(wl("hour",1),!0))),jj:Cl(wl("hour",2)),j:Cl(wl("hour",1)),mm:_l(Cl(wl("minute",2))),m:Cl(wl("minute",1)),ss:_l(Cl(wl("second",2))),s:Cl(wl("second",1)),sss:Cl(wl("second",3)),EEEE:Cl(xl("weekday",4)),EEE:Cl(xl("weekday",3)),EE:Cl(xl("weekday",2)),E:Cl(xl("weekday",1)),a:function(t){return function(e,n){return t(e,n).split(" ")[1]}}(Cl(bl(wl("hour",1),!0))),Z:vl("short"),z:vl("long"),ww:Cl({}),w:Cl({}),G:Cl(xl("era",1)),GG:Cl(xl("era",2)),GGG:Cl(xl("era",3)),GGGG:Cl(xl("era",4))};function _l(t){return function(e,n){const i=t(e,n);return 1==i.length?"0"+i:i}}function gl(t){return function(e,n){return t(e,n).split(" ")[0]}}function yl(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function vl(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const i=yl(t,n,e);return i?i.substring(3):""}}function bl(t,e){return t.hour12=e,t}function wl(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function xl(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function El(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function Cl(t){return(e,n)=>yl(e,n,t)}const Ll=new Map;class kl{static format(t,e,n){return function(t,e,n){const i=ml[t];if(i)return i(e,n);const s=t;let o=Ll.get(s);if(!o){let e;o=[],pl.exec(t);let n=t;for(;n;)(e=pl.exec(n))?n=(o=o.concat(e.slice(1))).pop():(o.push(n),n=null);Ll.set(s,o)}return o.reduce((t,i)=>{const s=fl[i];return t+(s?s(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(i))},"")}(n,t,e)}}class Sl{constructor(t){this._locale=t}transform(t,e="mediumDate"){if(null==t||""===t||t!=t)return null;let n;if("string"==typeof t&&(t=t.trim()),Tl(t))n=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,i,s]=t.split("-").map(t=>parseInt(t,10));n=new Date(e,i-1,s)}else n=new Date(t);else n=new Date(parseFloat(t));if(!Tl(n)){let e;if("string"!=typeof t||!(e=t.match(Za)))throw dl(Sl,t);n=function(t){const e=new Date(0);let n=0,i=0;const s=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),i=Number(t[9]+t[11])),s.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const r=Number(t[4]||0)-n,a=Number(t[5]||0)-i,l=Number(t[6]||0),h=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,r,a,l,h),e}(e)}return kl.format(n,this._locale,Sl._ALIASES[e]||e)}}function Tl(t){return t instanceof Date&&!isNaN(t.valueOf())}Sl._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"};const Il=new class{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}},Pl=new class{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}};class Ml{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,Zn.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Pe(t))return Il;if(Me(t))return Pl;throw dl(Ml,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Dl{constructor(t){this._locale=t}transform(t,e,n){if(function(t){return null==t||""===t||t!=t}(t))return null;n=n||this._locale;try{return function(t,e,n){return function(t,e,n,i,s,o,r=!1){let a="",l=!1;if(isFinite(t)){let h=function(e){let n,i,s,o,r,a=Math.abs(t)+"",l=0;for((i=a.indexOf($a))>-1&&(a=a.replace($a,"")),(s=a.search(/e/i))>0?(i<0&&(i=s),i+=+a.slice(s+1),a=a.substring(0,s)):i<0&&(i=a.length),s=0;a.charAt(s)===qa;s++);if(s===(r=a.length))n=[0],i=1;else{for(r--;a.charAt(r)===qa;)r--;for(i-=s,n=[],o=0;s<=r;s++,o++)n[o]=Number(a.charAt(s))}return i>Ga&&(n=n.splice(0,Ga-1),l=i-1,i=1),{digits:n,exponent:l,integerLen:i}}();r&&(h=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(h));let u=e.minInt,c=e.minFrac,d=e.maxFrac;if(o){const t=o.match(Ua);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=Qa(e)),null!=n&&(c=Qa(n)),null!=i?d=Qa(i):null!=n&&c>d&&(d=c)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,s=i.length-t.integerLen;const o=Math.min(Math.max(e,s),n);let r=o+t.integerLen,a=i[r];if(r>0){i.splice(Math.max(t.integerLen,r));for(let t=r;t<i.length;t++)i[t]=0}else{s=Math.max(0,s),t.integerLen=1,i.length=Math.max(1,r=o+1),i[0]=0;for(let t=1;t<r;t++)i[t]=0}if(a>=5)if(r-1<0){for(let e=0;e>r;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[r-1]++;for(;s<Math.max(0,o);s++)i.push(0);let l=0!==o;const h=e+t.integerLen,u=i.reduceRight(function(t,e,n,i){return i[n]=(e+=t)<10?e:e-10,l&&(0===i[n]&&n>=h?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(h,c,d);let p=h.digits,m=h.integerLen;const f=h.exponent;let _=[];for(l=p.every(t=>!t);m<u;m++)p.unshift(0);for(;m<0;m++)p.unshift(0);m>0?_=p.splice(m,p.length):(_=p,p=[0]);const g=[];for(p.length>=e.lgSize&&g.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)g.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&g.unshift(p.join("")),a=g.join(ja(n,i)),_.length&&(a+=ja(n,s)+_.join("")),f&&(a+=ja(n,Ba.Exponential)+"+"+f)}else a=ja(n,Ba.Infinity);return t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(Wa),s=i[0],o=i[1],r=-1!==s.indexOf($a)?s.split($a):[s.substring(0,s.lastIndexOf(qa)+1),s.substring(s.lastIndexOf(qa)+1)],a=r[0],l=r[1]||"";n.posPre=a.substr(0,a.indexOf(Ya));for(let u=0;u<l.length;u++){const t=l.charAt(u);t===qa?n.minFrac=n.maxFrac=u+1:t===Ya?n.maxFrac=u+1:n.posSuf+=t}const h=a.split(Ka);if(n.gSize=h[1]?h[1].length:0,n.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,o){const t=s.length-n.posPre.length-n.posSuf.length,e=o.indexOf(Ya);n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}(function(t,e){return Ha(t)[14][e]}(e,za.Decimal),ja(e,Ba.MinusSign)),e,Ba.Group,Ba.Decimal,n)}(function(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}(t),n,e)}catch(t){throw dl(Dl,t.message)}}}class Al{}const Ol=new rt("DocumentToken"),Rl="browser",Nl="undefined"!=typeof Intl&&Intl.v8BreakIterator;class Fl{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function(t){return t===Rl}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Nl)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}let zl,Vl;function Bl(){if(null==zl&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>zl=!0}))}finally{zl=zl||!1}return zl}Fl.ngInjectableDef=ot({factory:function(){return new Fl(te(ze,8))},token:Fl,providedIn:"root"});const jl=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Hl(){if(Vl)return Vl;if("object"!=typeof document||!document)return Vl=new Set(jl);let t=document.createElement("input");return Vl=new Set(jl.filter(e=>(t.setAttribute("type",e),t.type===e)))}class Zl{}const Ul={};class Gl{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $l(t,this.resultSelector))}}class $l extends B{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(Ul),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(V(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,i,s){const o=this.values,r=this.toRespond?o[n]===Ul?--this.toRespond:this.toRespond:0;o[n]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function ql(t){return e=>e.lift(new Wl(t))}class Wl{constructor(t){this.notifier=t}call(t,e){const n=new Kl(t),i=V(n,this.notifier);return i&&!i.closed?(n.add(i),e.subscribe(n)):n}}class Kl extends B{constructor(t){super(t)}notifyNext(t,e,n,i,s){this.complete()}notifyComplete(){}}function Yl(t){const e=new x(e=>{e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}const Ql=new x(t=>t.complete());function Xl(t){return t?function(t){return new x(e=>t.schedule(()=>e.complete()))}(t):Ql}function Jl(...t){let e=t[t.length-1];switch(I(e)?t.pop():e=void 0,t.length){case 0:return Xl(e);case 1:return e?U(t,e):Yl(t[0]);default:return U(t,e)}}function th(...t){return e=>{let n=t[t.length-1];I(n)?t.pop():n=null;const i=t.length;return function(...t){return 1===t.length||2===t.length&&I(t[1])?G(t[0]):Y(1)(Jl(...t))}(1!==i||n?i>0?U(t,n):Xl(n):Yl(t[0]),e)}}const eh=new Set;let nh;class ih{constructor(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):sh}matchMedia(t){return this.platform.WEBKIT&&function(t){if(!eh.has(t))try{nh||((nh=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(nh)),nh.sheet&&(nh.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),eh.add(t))}catch(t){console.error(t)}}(t),this._matchMedia(t)}}function sh(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}ih.ngInjectableDef=ot({factory:function(){return new ih(te(Fl))},token:ih,providedIn:"root"});class oh{constructor(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new S}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return rh(ba(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){return function(...t){let e=null,n=null;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),U(t,n).lift(new Gl(e))}(rh(ba(t)).map(t=>this._registerQuery(t).observable)).pipe(j(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(t=>{e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this.mediaMatcher.matchMedia(t),n={observable:function t(e,n,s){return s?t(e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(t=>{const s=(...e)=>t.next(1===e.length?e[0]:e);let o;try{o=e(s)}catch(e){return void t.error(e)}if(i(n))return()=>n(s,o)})}(t=>{e.addListener(e=>this.zone.run(()=>t(e)))},t=>{e.removeListener(e=>this.zone.run(()=>t(e)))}).pipe(ql(this._destroySubject),th(e),j(e=>({query:t,matches:e.matches}))),mql:e};return this._queries.set(t,n),n}}function rh(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}oh.ngInjectableDef=ot({factory:function(){return new oh(te(ih),te(rn))},token:oh,providedIn:"root"});const ah={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 1919px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function lh(t,e,n,s){return i(n)&&(s=n,n=void 0),s?lh(t,e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(i=>{!function t(e,n,i,s,o){let r;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,i,o),r=(()=>t.removeEventListener(n,i,o))}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,i),r=(()=>t.off(n,i))}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,i),r=(()=>t.removeListener(n,i))}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let r=0,a=e.length;r<a;r++)t(e[r],n,i,s,o)}s.add(r)}(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}Object;class hh extends f{constructor(t,e){super()}schedule(t,e=0){return this}}class uh extends hh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,i=void 0;try{this.work(t)}catch(t){n=!0,i=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}class ch{constructor(t,e=ch.now){this.SchedulerAction=t,this.now=e}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}ch.now=Date.now?Date.now:()=>+new Date;class dh extends ch{constructor(t,e=ch.now){super(t,()=>dh.delegate&&dh.delegate!==this?dh.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return dh.delegate&&dh.delegate!==this?dh.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}const ph=new dh(uh);class mh{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new fh(t,this.durationSelector))}}class fh extends B{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){const e=p(this.durationSelector)(t);if(e===u)this.destination.error(u.e);else{const t=V(this,e);t.closed?this.clearThrottle():this.add(this.throttled=t)}}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,i){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function _h(t){return!l(t)&&t-parseFloat(t)+1>=0}function gh(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function yh(t,e=ph){return function(t){return function(e){return e.lift(new mh(t))}}(()=>(function(t=0,e,n){let i=-1;return _h(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=ph),new x(e=>{const s=_h(t)?t:+t-n.now();return n.schedule(gh,s,{index:0,period:i,subscriber:e})})})(t,e))}function vh(t,e){return function(n){return n.lift(new bh(t,e))}}class bh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new wh(t,this.predicate,this.thisArg))}}class wh extends y{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)}}const xh=20;class Eh{constructor(t,e){this._ngZone=t,this._platform=e,this._scrolled=new S,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}register(t){const e=t.elementScrolled().subscribe(()=>this._scrolled.next(t));this.scrollContainers.set(t,e)}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=xh){return this._platform.isBrowser?x.create(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(yh(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Jl()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(vh(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_scrollableContainsElement(t,e){let n=e.nativeElement,i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>lh(window.document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}Eh.ngInjectableDef=ot({factory:function(){return new Eh(te(rn),te(Fl))},token:Eh,providedIn:"root"});const Ch=20;class Lh{constructor(t,e){this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(()=>Q(lh(window,"resize"),lh(window,"orientationchange"))):Jl(),this._invalidateCache=this.change().subscribe(()=>this._updateViewportSize())}ngOnDestroy(){this._invalidateCache.unsubscribe()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}}change(t=Ch){return t>0?this._change.pipe(yh(t)):this._change}_updateViewportSize(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}}}Lh.ngInjectableDef=ot({factory:function(){return new Lh(te(Fl),te(rn))},token:Lh,providedIn:"root"});class kh{}class Sh extends Error{constructor(){super("argument out of range"),this.name="ArgumentOutOfRangeError",Object.setPrototypeOf(this,Sh.prototype)}}function Th(t){return e=>0===t?Xl():e.lift(new Ih(t))}class Ih{constructor(t){if(this.total=t,this.total<0)throw new Sh}call(t,e){return e.subscribe(new Ph(t,this.total))}}class Ph extends y{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Mh(){throw Error("Host already has a portal attached")}class Dh{attach(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&Mh(),this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Ah extends Dh{constructor(t,e,n){super(),this.component=t,this.viewContainerRef=e,this.injector=n}}class Oh extends Dh{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Rh{constructor(){this._isDisposed=!1}hasAttached(){return!!this._attachedPortal}attach(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&Mh(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof Ah?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Oh?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Nh extends Rh{constructor(t,e,n,i){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i}attachComponentPortal(t){let e,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(()=>e.destroy())):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(()=>{this._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class Fh{}class zh{enable(){}disable(){}attach(){}}class Vh{constructor(t){this.scrollStrategy=new zh,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",t&&Object.keys(t).filter(e=>void 0!==t[e]).forEach(e=>this[e]=t[e])}}class Bh{constructor(t,e,n,i){this.offsetX=n,this.offsetY=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class jh{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}function Hh(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "top", "bottom" or "center".')}function Zh(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "start", "end" or "center".')}class Uh{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=wa(-this._previousScrollPosition.left),t.style.top=wa(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",i=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=i}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}function Gh(){return Error("Scroll strategy has already been attached.")}class $h{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=(()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())})}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}function qh(t,e){return e.some(e=>t.bottom<e.top||t.top>e.bottom||t.right<e.left||t.left>e.right)}function Wh(t,e){return e.some(e=>t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)}class Kh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();qh(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}class Yh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=(()=>new zh),this.close=(t=>new $h(this._scrollDispatcher,this._ngZone,this._viewportRuler,t)),this.block=(()=>new Uh(this._viewportRuler,this._document)),this.reposition=(t=>new Kh(this._scrollDispatcher,this._viewportRuler,this._ngZone,t)),this._document=i}}Yh.ngInjectableDef=ot({factory:function(){return new Yh(te(Eh),te(Lh),te(rn),te(Ol))},token:Yh,providedIn:"root"});class Qh{constructor(t){this._attachedOverlays=[],this._keydownListener=(t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEventSubscriptions>0){e[n]._keydownEvents.next(t);break}}),this._document=t}ngOnDestroy(){this._detach()}add(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()}_detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)}}Qh.ngInjectableDef=ot({factory:function(){return new Qh(te(Ol))},token:Qh,providedIn:"root"});class Xh{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t}}Xh.ngInjectableDef=ot({factory:function(){return new Xh(te(Ol))},token:Xh,providedIn:"root"});class Jh{constructor(t,e,n,i,s,o,r){this._portalOutlet=t,this._host=e,this._pane=n,this._config=i,this._ngZone=s,this._keyboardDispatcher=o,this._document=r,this._backdropElement=null,this._backdropClick=new S,this._attachments=new S,this._detachments=new S,this._keydownEventsObservable=x.create(t=>{const e=this._keydownEvents.subscribe(t);return this._keydownEventSubscriptions++,()=>{e.unsubscribe(),this._keydownEventSubscriptions--}}),this._keydownEvents=new S,this._keydownEventSubscriptions=0,i.scrollStrategy&&i.scrollStrategy.attach(this)}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1);const t=this._portalOutlet.detach();this._detachments.next(),this._keyboardDispatcher.remove(this);const e=this._ngZone.onStable.asObservable().pipe(ql(Q(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())});return t}dispose(){const t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick.asObservable()}attachments(){return this._attachments.asObservable()}detachments(){return this._detachments.asObservable()}keydownEvents(){return this._keydownEventsObservable}getConfig(){return this._config}updatePosition(){this._config.positionStrategy&&this._config.positionStrategy.apply()}updateSize(t){this._config=Object.assign({},this._config,t),this._updateElementSize()}setDirection(t){this._config=Object.assign({},this._config,{direction:t}),this._updateElementDirection()}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){const t=this._pane.style;t.width=wa(this._config.width),t.height=wa(this._config.height),t.minWidth=wa(this._config.minWidth),t.minHeight=wa(this._config.minHeight),t.maxWidth=wa(this._config.maxWidth),t.maxHeight=wa(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"auto":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",t=>this._backdropClick.next(t)),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(t){let e,n=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),this._backdropElement==t&&(this._backdropElement=null),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}}_toggleClasses(t,e,n){const i=t.classList;ba(e).forEach(t=>{n?i.add(t):i.remove(t)})}}class tu{constructor(t,e,n,i,s){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=s,this._isInitialRender=!0,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new S,this._resizeSubscription=f.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this.positionChanges=x.create(t=>{const e=this._positionChanges.subscribe(t);return this._positionChangeSubscriptions++,()=>{e.unsubscribe(),this._positionChangeSubscriptions--}}),this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>this.apply())}apply(){if(this._isDisposed||this._platform&&!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let s;for(let o of this._preferredPositions){let r=this._getOriginPoint(t,o),a=this._getOverlayPoint(r,e,o),l=this._getOverlayFit(a,e,n,o);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,r);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:o,origin:r,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(r,o)}):(!s||s.overlayFit.visibleArea<l.visibleArea)&&(s={overlayFit:l,overlayPoint:a,originPoint:r,position:o,overlayRect:e})}if(i.length){let t=null,e=-1;for(const n of i){const i=n.boundingBoxRect.width*n.boundingBoxRect.height*(n.position.weight||1);i>e&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this.detach(),this._boundingBox=null,this._positionChanges.complete(),this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){this.scrollables=t}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t instanceof Mn?t.nativeElement:t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,s=this._isRtl()?t.left:t.right;n="start"==e.originX?i:s}return{x:n,y:i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}}_getOverlayPoint(t,e,n){let i,s;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+i,y:t.y+(s="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}}_getOverlayFit(t,e,n,i){let{x:s,y:o}=t,r=this._getOffset(i,"x"),a=this._getOffset(i,"y");r&&(s+=r),a&&(o+=a);let l=0-o,h=o+e.height-n.height,u=this._subtractOverflows(e.width,0-s,s+e.width-n.width),c=this._subtractOverflows(e.height,l,h),d=u*c;return{visibleArea:d,isCompletelyWithinViewport:e.width*e.height===d,fitsInViewportVertically:c===e.height,fitsInViewportHorizontally:u==e.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,s=n.right-e.x,o=this._overlayRef.getConfig().minHeight,r=this._overlayRef.getConfig().minWidth;return(t.fitsInViewportVertically||null!=o&&o<=i)&&(t.fitsInViewportHorizontally||null!=r&&r<=s)}}_pushOverlayOnScreen(t,e){const n=this._viewportRect,i=Math.max(t.x+e.width-n.right,0),s=Math.max(t.y+e.height-n.bottom,0),o=Math.max(n.top-t.y,0),r=Math.max(n.left-t.x,0);let a,l=0;return{x:t.x+(a=e.width<=n.width?r||-i:n.left-t.x),y:t.y+(l=e.height<=n.height?o||-s:n.top-t.y)}}_applyPosition(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),this._lastPosition=t,this._positionChangeSubscriptions>0){const e=this._getScrollVisibility(),n=new jh(t,e);this._positionChanges.next(n)}this._isInitialRender=!1}_setTransformOrigin(t){if(!this._transformOriginSelector)return;const e=this._boundingBox.querySelectorAll(this._transformOriginSelector);let n,i=t.overlayY;n="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${n} ${i}`}_calculateBoundingBoxRect(t,e){const n=this._viewportRect,i=this._isRtl();let s,o,r,a,l,h;if("top"===e.overlayY)o=t.y,s=n.bottom-t.y;else if("bottom"===e.overlayY)s=n.height-(r=n.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{const e=Math.min(n.bottom-t.y,t.y-n.left),i=this._lastBoundingBoxSize.height;o=t.y-e,(s=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)h=n.right-t.x+this._viewportMargin,a=t.x-n.left;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x,t.x-n.top),i=this._lastBoundingBoxSize.width;l=t.x-e,(a=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:o,left:l,bottom:r,right:h,width:a,height:s}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;i.height=wa(n.height),i.top=wa(n.top),i.bottom=wa(n.bottom),i.width=wa(n.width),i.left=wa(n.left),i.right=wa(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=wa(t)),s&&(i.maxWidth=wa(s))}this._lastBoundingBoxSize=n,eu(this._boundingBox.style,i)}_resetBoundingBoxStyles(){eu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){eu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:""})}_setOverlayElementStyles(t,e){const n={};this._hasExactPosition()?(eu(n,this._getExactOverlayY(e,t)),eu(n,this._getExactOverlayX(e,t))):n.position="static";let i="",s=this._getOffset(e,"x"),o=this._getOffset(e,"y");s&&(i+=`translateX(${s}px) `),o&&(i+=`translateY(${o}px)`),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),eu(this._pane.style,n)}_getExactOverlayY(t,e){let n={top:null,bottom:null},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect));let s=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;return i.y-=s,"bottom"===t.overlayY?n.bottom=`${this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)}px`:n.top=wa(i.y),n}_getExactOverlayX(t,e){let n,i={left:null,right:null},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect)),"right"==(n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?i.right=`${this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)}px`:i.left=wa(s.x),i}_getScrollVisibility(){const t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Wh(t,n),isOriginOutsideView:qh(t,n),isOverlayClipped:Wh(e,n),isOverlayOutsideView:qh(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){if(!this._preferredPositions.length)throw Error("FlexibleConnectedPositionStrategy: At least one position is required.");this._preferredPositions.forEach(t=>{Zh("originX",t.originX),Hh("originY",t.originY),Zh("overlayX",t.overlayX),Hh("overlayY",t.overlayY)})}}function eu(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}class nu{constructor(t,e,n,i,s,o){this._preferredPositions=[],this._positionStrategy=new tu(n,i,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e)}get _isRtl(){return"rtl"===this._overlayRef.getDirection()}get onPositionChange(){return this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const s=new Bh(t,e,n,i);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}class iu{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add("cdk-global-overlay-wrapper")}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig();t.position=this._cssPosition,t.marginLeft="100%"===n.width?"0":this._leftOffset,t.marginTop="100%"===n.height?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,"100%"===n.width?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems="100%"===n.height?"flex-start":this._alignItems}dispose(){}}class su{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new iu}connectedTo(t,e,n){return new nu(e,n,t,this._viewportRuler,this._document)}flexibleConnectedTo(t){return new tu(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}su.ngInjectableDef=ot({factory:function(){return new su(te(Lh),te(Ol),te(Fl,8),te(Xh,8))},token:su,providedIn:"root"});let ou=0;class ru{constructor(t,e,n,i,s,o,r,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=s,this._injector=o,this._ngZone=r,this._document=a,this._directionality=l}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),s=new Vh(t);return s.direction=s.direction||this._directionality.value,new Jh(i,e,n,s,this._ngZone,this._keyboardDispatcher,this._document)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id=`cdk-overlay-${ou++}`,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(kn)),new Nh(t,this._componentFactoryResolver,this._appRef,this._injector)}}const au=new rt("cdk-connected-overlay-scroll-strategy");function lu(t){return()=>t.scrollStrategies.reposition()}class hu{}const uu=20,cu="mat-tooltip-panel";function du(t){return Error(`Tooltip position "${t}" is invalid.`)}const pu=new rt("mat-tooltip-scroll-strategy");function mu(t){return()=>t.scrollStrategies.reposition({scrollThrottle:uu})}const fu=new rt("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class _u{constructor(t,e,n,i,s,o,r,a,l,h,u){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=s,this._platform=o,this._ariaDescriber=r,this._focusMonitor=a,this._scrollStrategy=l,this._dir=h,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new S;const c=e.nativeElement;o.IOS?"INPUT"!==c.nodeName&&"TEXTAREA"!==c.nodeName||(c.style.webkitUserSelect=c.style.userSelect=""):(this._manualListeners.set("mouseenter",()=>this.show()),this._manualListeners.set("mouseleave",()=>this.hide()),this._manualListeners.forEach((t,n)=>e.nativeElement.addEventListener(n,t))),c.draggable&&"none"===c.style.webkitUserDrag&&(c.style.webkitUserDrag=""),a.monitor(c).pipe(ql(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&s.run(()=>this.show()):s.run(()=>this.hide(0))})}get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t),this._disabled&&this.hide(0)}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?`${t}`.trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._platform.IOS||(this._manualListeners.forEach((t,e)=>this._elementRef.nativeElement.removeEventListener(e,t)),this._manualListeners.clear()),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}show(t=this.showDelay){if(this.disabled||!this.message)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new Ah(gu,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_handleKeydown(t){this._isTooltipVisible()&&t.keyCode===Ca&&(t.stopPropagation(),this.hide(0))}_handleTouchend(){this.hide(this._defaultOptions.touchendHideDelay)}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8),e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);return t.withScrollableContainers(e),t.positionChanges.pipe(ql(this._destroyed)).subscribe(t=>{this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:t,panelClass:cu,scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(){const t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object.assign({},e.main,n.main),Object.assign({},e.fallback,n.fallback)])}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e||"below"==e)n={originX:"center",originY:"above"==e?"top":"bottom"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={originX:"start",originY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={originX:"end",originY:"center"}}const{x:i,y:s}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:s}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e)n={overlayX:"center",overlayY:"bottom"};else if("below"==e)n={overlayX:"center",overlayY:"top"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={overlayX:"end",overlayY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={overlayX:"start",overlayY:"center"}}const{x:i,y:s}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Th(1),ql(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}}class gu{constructor(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new S,this._isHandset=this._breakpointObserver.observe(ah.Handset)}show(t){this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._markForCheck()},t)}hide(t){this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._markForCheck()},t)}afterHidden(){return this._onHide.asObservable()}isVisible(){return"visible"===this._visibility}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}class yu{}function vu(t,e=ph){return n=>n.lift(new bu(t,e))}class bu{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wu(t,this.dueTime,this.scheduler))}}class wu extends y{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function xu(t){t.debouncedNext()}class Eu{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}Eu.ngInjectableDef=ot({factory:function(){return new Eu},token:Eu,providedIn:"root"});class Cu{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){return x.create(e=>{const n=this._observeElement(t).subscribe(e);return()=>{n.unsubscribe(),this._unobserveElement(t)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new S,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}Cu.ngInjectableDef=ot({factory:function(){return new Cu(te(Eu))},token:Cu,providedIn:"root"});class Lu{}const ku=new rt("cdk-dir-doc",{providedIn:"root",factory:function(){return te(Ol)}});class Su{constructor(t){if(this.value="ltr",this.change=new on,t){const e=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===e||"rtl"===e?e:"ltr"}}ngOnDestroy(){this.change.complete()}}Su.ngInjectableDef=ot({factory:function(){return new Su(te(ku,8))},token:Su,providedIn:"root"});class Tu{}function Iu(t,e,n){return function(i){return i.lift(new Pu(t,e,n))}}class Pu{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new Mu(t,this.nextOrObserver,this.error,this.complete))}}class Mu extends y{constructor(t,e,n,s){super(t),this._tapNext=w,this._tapError=w,this._tapComplete=w,this._tapError=n||w,this._tapComplete=s||w,i(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||w,this._tapError=e.error||w,this._tapComplete=e.complete||w)}_next(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const Du=" ";function Au(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const Ou="cdk-describedby-message-container",Ru="cdk-describedby-message",Nu="cdk-describedby-host";let Fu=0;const zu=new Map;let Vu=null;class Bu{constructor(t){this._document=t}describe(t,e){this._canBeDescribed(t,e)&&(zu.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))}removeDescription(t,e){if(!this._canBeDescribed(t,e))return;this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);const n=zu.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),Vu&&0===Vu.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${Nu}]`);for(let e=0;e<t.length;e++)this._removeCdkDescribedByReferenceIds(t[e]),t[e].removeAttribute(Nu);Vu&&this._deleteMessagesContainer(),zu.clear()}_createMessageElement(t){const e=this._document.createElement("div");e.setAttribute("id",`${Ru}-${Fu++}`),e.appendChild(this._document.createTextNode(t)),this._createMessagesContainer(),Vu.appendChild(e),zu.set(t,{messageElement:e,referenceCount:0})}_deleteMessageElement(t){const e=zu.get(t),n=e&&e.messageElement;Vu&&n&&Vu.removeChild(n),zu.delete(t)}_createMessagesContainer(){if(!Vu){const t=this._document.getElementById(Ou);t&&t.parentNode.removeChild(t),(Vu=this._document.createElement("div")).id=Ou,Vu.setAttribute("aria-hidden","true"),Vu.style.display="none",this._document.body.appendChild(Vu)}}_deleteMessagesContainer(){Vu&&Vu.parentNode&&(Vu.parentNode.removeChild(Vu),Vu=null)}_removeCdkDescribedByReferenceIds(t){const e=Au(t,"aria-describedby").filter(t=>0!=t.indexOf(Ru));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=zu.get(e);!function(t,e,n){const i=Au(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(Du)))}(t,"aria-describedby",n.messageElement.id),t.setAttribute(Nu,""),n.referenceCount++}_removeMessageReference(t,e){const n=zu.get(e);n.referenceCount--,function(t,e,n){const i=Au(t,e).filter(t=>t!=n.trim());t.setAttribute(e,i.join(Du))}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(Nu)}_isElementDescribedByMessage(t,e){const n=Au(t,"aria-describedby"),i=zu.get(e),s=i&&i.messageElement.id;return!!s&&-1!=n.indexOf(s)}_canBeDescribed(t,e){return t.nodeType===this._document.ELEMENT_NODE&&null!=e&&!!`${e}`.trim()}}Bu.ngInjectableDef=ot({factory:function(){return new Bu(te(Ol))},token:Bu,providedIn:"root"});class ju{constructor(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new S,this._typeaheadSubscription=f.EMPTY,this._vertical=!0,this._skipPredicateFn=(t=>t.disabled),this._pressedLetters=[],this.tabOut=new S,this.change=new S,t instanceof Dn&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withTypeAhead(t=200){if(this._items.length&&this._items.some(t=>"function"!=typeof t.getLabel))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Iu(t=>this._pressedLetters.push(t)),vu(t),vh(()=>this._pressedLetters.length>0),j(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n<e.length+1;n++){const i=(this._activeItemIndex+n)%e.length,s=e[i];if(!this._skipPredicateFn(s)&&0===s.getLabel().toUpperCase().trim().indexOf(t)){this.setActiveItem(i);break}}this._pressedLetters=[]}),this}setActiveItem(t){const e=this._activeItemIndex;this.updateActiveItem(t),this._activeItemIndex!==e&&this.change.next(this._activeItemIndex)}onKeydown(t){const e=t.keyCode;switch(e){case xa:return void this.tabOut.next();case Ia:if(this._vertical){this.setNextItemActive();break}return;case Sa:if(this._vertical){this.setPreviousItemActive();break}return;case Ta:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}return;case ka:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}return;default:return void(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=Da&&e<=Aa||e>=Pa&&e<=Ma)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t);this._activeItemIndex=n,this._activeItem=e[n]}updateActiveItemIndex(t){this.updateActiveItem(t)}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof Dn?this._items.toArray():this._items}}class Hu extends ju{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class Zu extends ju{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}class Uu{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(t){return null}}(t.ownerDocument.defaultView||window);if(e){const t=e&&e.nodeName.toLowerCase();if(-1===$u(e))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===t)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),i=$u(t);if(t.hasAttribute("contenteditable"))return-1!==i;if("iframe"===n)return!1;if("audio"===n){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===n){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==n||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0}isFocusable(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Gu(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)}}function Gu(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function $u(t){if(!Gu(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}Uu.ngInjectableDef=ot({factory:function(){return new Uu(te(Fl))},token:Uu,providedIn:"root"});class qu{constructor(t,e,n,i,s=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)}destroy(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",()=>this.focusLastTabbableElement())),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",()=>this.focusFirstTabbableElement()))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement()))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], `+`[cdkFocusRegion${t}], `+`[cdk-focus-${t}]`);for(let n=0;n<e.length;n++)e[n].hasAttribute(`cdk-focus-${t}`)?console.warn(`Found use of deprecated attribute 'cdk-focus-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated `+"attribute will be removed in 7.0.0.",e[n]):e[n].hasAttribute(`cdk-focus-region-${t}`)&&console.warn(`Found use of deprecated attribute 'cdk-focus-region-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated attribute `+"will be removed in 7.0.0.",e[n]);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return t?(t.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 7.0.0",t),t.focus(),!0):this.focusFirstTabbableElement()}focusFirstTabbableElement(){const t=this._getRegionBoundary("start");return t&&t.focus(),!!t}focusLastTabbableElement(){const t=this._getRegionBoundary("end");return t&&t.focus(),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=0;n<e.length;n++){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(t)return t}return null}_getLastTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=e.length-1;n>=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(t)}}class Wu{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new qu(t,this._checker,this._ngZone,this._document,e)}}Wu.ngInjectableDef=ot({factory:function(){return new Wu(te(Uu),te(rn),te(Ol))},token:Wu,providedIn:"root"});const Ku=new rt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});class Yu{constructor(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}announce(t,e="polite"){return this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(e=>{setTimeout(()=>{this._liveElement.textContent=t,e()},100)})}ngOnDestroy(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)}_createLiveElement(){const t=this._document.getElementsByClassName("cdk-live-announcer-element");for(let n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);const e=this._document.createElement("div");return e.classList.add("cdk-live-announcer-element"),e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e}}Yu.ngInjectableDef=ot({factory:function(){return new Yu(te(Ku,8),te(Ol))},token:Yu,providedIn:"root"});const Qu=650;class Xu{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=(()=>{}),this._monitoredElementCount=0}monitor(t,e=!1){if(!this._platform.isBrowser)return Jl(null);if(this._elementInfo.has(t)){let n=this._elementInfo.get(t);return n.checkChildren=e,n.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new S};this._elementInfo.set(t,n),this._incrementMonitoredElementCount();let i=e=>this._onFocus(e,t),s=e=>this._onBlur(e,t);return this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",i,!0),t.addEventListener("blur",s,!0)}),n.unlisten=(()=>{t.removeEventListener("focus",i,!0),t.removeEventListener("blur",s,!0)}),n.subject.asObservable()}stopMonitoring(t){const e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())}focusVia(t,e,n){this._setOriginForCurrentEventQueue(e),"function"==typeof t.focus&&t.focus(n)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_registerGlobalListeners(){if(!this._platform.isBrowser)return;let t=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},e=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},n=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,Qu)},i=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=(()=>{document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)})}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const n=this._elementInfo.get(e);if(!n||!n.checkChildren&&e!==t.target)return;let i=this._origin;i||(i=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,i),this._emitOrigin(n.subject,i),this._lastFocusOrigin=i}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._registerGlobalListeners()}_decrementMonitoredElementCount(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=(()=>{}))}}Xu.ngInjectableDef=ot({factory:function(){return new Xu(te(rn),te(Fl))},token:Xu,providedIn:"root"});class Ju{}let tc=null;function ec(){return tc}class nc{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}class ic extends nc{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const sc={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},oc=3,rc={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ac={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};let lc;mt.Node&&(lc=mt.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});class hc extends ic{parse(t){throw new Error("parse not implemented")}static makeCurrent(){!function(t){tc||(tc=t)}(new hc)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return sc}contains(t,e){return lc.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=e[i];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const i=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(t,e),i}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const i=this.getStyle(t,e)||"";return n?i==n:i.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,i){t.setAttributeNS(e,n,i)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===oc&&ac.hasOwnProperty(e)&&(e=ac[e]))}return rc[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=cc||(cc=document.querySelector("base"))?cc.getAttribute("href"):null;return null==e?null:function(t){return uc||(uc=document.createElement("a")),uc.setAttribute("href",t),"/"===uc.pathname.charAt(0)?uc.pathname:"/"+uc.pathname}(e)}resetBaseElement(){cc=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return el(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let uc,cc=null;const dc=Ol;function pc(){return!!window.history.pushState}class mc extends Oa{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=ec().getLocation(),this._history=ec().getHistory()}getBaseHrefFromDOM(){return ec().getBaseHref(this._doc)}onPopState(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){pc()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){pc()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}}mc.ctorParameters=(()=>[{type:void 0,decorators:[{type:Tt,args:[dc]}]}]);class fc{constructor(t){this._doc=t,this._dom=ec()}addTag(t,e=!1){return t?this._getOrCreateElement(t,e):null}addTags(t,e=!1){return t?t.reduce((t,n)=>(n&&t.push(this._getOrCreateElement(n,e)),t),[]):[]}getTag(t){return t&&this._dom.querySelector(this._doc,`meta[${t}]`)||null}getTags(t){if(!t)return[];const e=this._dom.querySelectorAll(this._doc,`meta[${t}]`);return e?[].slice.call(e):[]}updateTag(t,e){if(!t)return null;e=e||this._parseSelector(t);const n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,e=!1){if(!e){const e=this._parseSelector(t),n=this.getTag(e);if(n&&this._containsAttributes(t,n))return n}const n=this._dom.createElement("meta");this._setMetaElementAttributes(t,n);const i=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(i,n),n}_setMetaElementAttributes(t,e){return Object.keys(t).forEach(n=>this._dom.setAttribute(e,n,t[n])),e}_parseSelector(t){const e=t.name?"name":"property";return`${e}="${t[e]}"`}_containsAttributes(t,e){return Object.keys(t).every(n=>this._dom.getAttribute(e,n)===t[n])}}const _c=new rt("TRANSITION_ID"),gc=[{provide:De,useFactory:function(t,e,n){return()=>{n.get(Ae).donePromise.then(()=>{const n=ec();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[_c,dc,Nt],multi:!0}];class yc{static init(){!function(t){_n=t}(new yc)}addToWindow(t){mt.getAngularTestability=((e,n=!0)=>{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i}),mt.getAllAngularTestabilities=(()=>t.getAllTestabilities()),mt.getAllAngularRootElements=(()=>t.getAllRootElements()),mt.frameworkStabilizers||(mt.frameworkStabilizers=[]),mt.frameworkStabilizers.push(t=>{const e=mt.getAllAngularTestabilities();let n=e.length,i=!1;const s=function(e){i=i||e,0==--n&&t(i)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?ec().isShadowRoot(e)?this.findTestabilityInTree(t,ec().getHost(e),!0):this.findTestabilityInTree(t,ec().parentElement(e),!0):null}}class vc{constructor(t){this._doc=t}getTitle(){return ec().getTitle(this._doc)}setTitle(t){ec().setTitle(this._doc,t)}}function bc(t,e){"undefined"!=typeof COMPILED&&COMPILED||((mt.ng=mt.ng||{})[t]=e)}const wc={ApplicationRef:kn,NgZone:rn};function xc(t){return Bn(t)}const Ec=new rt("EventManagerPlugins");class Cc{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i<n.length;i++){const e=n[i];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class Lc{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const i=ec().getGlobalEventTarget(this._doc,t);if(!i)throw new Error(`Unsupported event target ${i} for event ${e}`);return this.addEventListener(i,e,n)}}class kc{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class Sc extends kc{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>ec().remove(t))}}const Tc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Ic=/%COMP%/g,Pc="_nghost-%COMP%",Mc="_ngcontent-%COMP%";function Dc(t,e,n){for(let i=0;i<e.length;i++){let s=e[i];Array.isArray(s)?Dc(t,s,n):(s=s.replace(Ic,t),n.push(s))}return n}function Ac(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class Oc{constructor(t,e){this.eventManager=t,this.sharedStylesHost=e,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case ee.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new zc(this.eventManager,this.sharedStylesHost,e),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case ee.Native:return new Vc(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Dc(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class Rc{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Tc[e],t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t){let e="string"==typeof t?document.querySelector(t):t;if(!e)throw new Error(`The selector "${t}" did not match any elements`);return e.textContent="",e}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=`${i}:${e}`;const s=Tc[i];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=Tc[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&In.DashCase?t.style.setProperty(e,n,i&In.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&In.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){Fc(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return Fc(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Ac(n)):this.eventManager.addEventListener(t,e,Ac(n))}}const Nc="@".charCodeAt(0);function Fc(t,e){if(t.charCodeAt(0)===Nc)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class zc extends Rc{constructor(t,e,n){super(t),this.component=n;const i=Dc(n.id,n.styles,[]);e.addStyles(i),this.contentAttr=Mc.replace(Ic,n.id),this.hostAttr=Pc.replace(Ic,n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class Vc extends Rc{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=i,this.shadowRoot=n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const s=Dc(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const t=document.createElement("style");t.textContent=s[o],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const Bc="undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t},jc=Bc("addEventListener"),Hc=Bc("removeEventListener"),Zc={},Uc="__zone_symbol__propagationStopped";let Gc;"undefined"!=typeof Zone&&Zone[Bc("BLACK_LISTED_EVENTS")]&&(Gc={});const $c=function(t){return!!Gc&&Gc.hasOwnProperty(t)},qc=function(t){const e=Zc[t.type];if(!e)return;const n=this[e];if(!n)return;const i=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[Uc];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}}},Wc={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Kc=new rt("HammerGestureConfig");class Yc{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}const Qc=["alt","control","meta","shift"],Xc={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Jc extends Lc{constructor(t){super(t)}supports(t){return null!=Jc.parseEventName(t)}addEventListener(t,e,n){const i=Jc.parseEventName(e),s=Jc.eventCallback(i.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ec().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const i=Jc._normalizeKey(e.pop());let s="";if(Qc.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s+=t+".")}),s+=i,0!=e.length||0===i.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",n=ec().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Qc.forEach(i=>{i!=n&&(0,Xc[i])(t)&&(e+=i+".")}),e+=n}static eventCallback(t,e,n){return i=>{Jc.getEventFullKey(i)===t&&n.runGuarded(()=>e(i))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class td{}class ed extends td{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case Oi.NONE:return e;case Oi.HTML:return e instanceof id?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){let n=null;try{Pi=Pi||new ci(t);let i=e?String(e):"";n=Pi.getInertBodyElement(i);let s=5,o=i;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,i=o,o=n.innerHTML,n=Pi.getInertBodyElement(i)}while(i!==o);const r=new ki,a=r.sanitizeChildren(Mi(n)||n);return bn()&&r.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}finally{if(n){const t=Mi(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}(this._doc,String(e)));case Oi.STYLE:return e instanceof sd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),function(t){if(!(t=String(t).trim()))return"";const e=t.match(Ai);return e&&mi(e[1])===e[1]||t.match(Di)&&function(t){let e=!0,n=!0;for(let i=0;i<t.length;i++){const s=t.charAt(i);"'"===s&&n?e=!e:'"'===s&&e&&(n=!n)}return e&&n}(t)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}(e));case Oi.SCRIPT:if(e instanceof od)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case Oi.URL:return e instanceof ad||e instanceof rd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),mi(String(e)));case Oi.RESOURCE_URL:if(e instanceof ad)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nd)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new id(t)}bypassSecurityTrustStyle(t){return new sd(t)}bypassSecurityTrustScript(t){return new od(t)}bypassSecurityTrustUrl(t){return new rd(t)}bypassSecurityTrustResourceUrl(t){return new ad(t)}}class nd{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class id extends nd{getTypeName(){return"HTML"}}class sd extends nd{getTypeName(){return"Style"}}class od extends nd{getTypeName(){return"Script"}}class rd extends nd{getTypeName(){return"URL"}}class ad extends nd{getTypeName(){return"ResourceURL"}}const ld=xn(oi,"browser",[{provide:ze,useValue:Rl},{provide:Fe,useValue:function(){hc.makeCurrent(),yc.init()},multi:!0},{provide:Oa,useClass:mc,deps:[dc]},{provide:dc,useFactory:function(){return document},deps:[]}]);function hd(){return new he}class ud{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:ud,providers:[{provide:Oe,useValue:t.appId},{provide:_c,useExisting:Oe},gc]}}}"undefined"!=typeof window&&window;class cd{}cd.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",cd.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",cd.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",cd.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class dd{}dd.COMPLEX="375ms",dd.ENTERING="225ms",dd.EXITING="195ms";const pd=new rt("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class md{constructor(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&bn()&&!this._isTestEnv()}_isTestEnv(){return this._window&&(this._window.__karma__||this._window.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function fd(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t)}}}function _d(t,e){return class extends t{get color(){return this._color}set color(t){const n=t||e;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),n&&this._elementRef.nativeElement.classList.add(`mat-${n}`),this._color=n)}constructor(...t){super(...t),this.color=e}}}function gd(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=ya(t)}}}class yd{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}yd.ngInjectableDef=ot({factory:function(){return new yd},token:yd,providedIn:"root"});const vd=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class bd{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=vd.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const wd={enterDuration:450,exitDuration:400},xd=800;class Ed{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._eventOptions=!!Bl()&&{passive:!0},this.onMousedown=(t=>{const e=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+xd;this._target.rippleDisabled||e||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}),this.onTouchStart=(t=>{this._target.rippleDisabled||(this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0,this.fadeInRipple(t.touches[0].clientX,t.touches[0].clientY,this._target.rippleConfig))}),this.onPointerUp=(()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===vd.VISIBLE||t.config.terminateOnPointerUp&&t.state===vd.FADING_IN)&&t.fadeOut()}))}),i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this.onMousedown),this._triggerEvents.set("mouseup",this.onPointerUp),this._triggerEvents.set("mouseleave",this.onPointerUp),this._triggerEvents.set("touchstart",this.onTouchStart),this._triggerEvents.set("touchend",this.onPointerUp))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},wd,n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const o=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),s=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+s*s)}(t,e,i),r=t-i.left,a=e-i.top,l=s.enterDuration/(n.speedFactor||1),h=document.createElement("div");h.classList.add("mat-ripple-element"),h.style.left=`${r-o}px`,h.style.top=`${a-o}px`,h.style.height=`${2*o}px`,h.style.width=`${2*o}px`,h.style.backgroundColor=n.color||null,h.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(h),window.getComputedStyle(h).getPropertyValue("opacity"),h.style.transform="scale(1)";const u=new bd(this,h,n);return u.state=vd.FADING_IN,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this.runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=vd.VISIBLE,n.persistent||t&&this._isPointerDown||u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign({},wd,t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=vd.FADING_OUT,this.runTimeoutOutsideZone(()=>{t.state=vd.HIDDEN,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,n)=>t.addEventListener(n,e,this._eventOptions))}),this._triggerElement=t)}runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,this._eventOptions)})}}const Cd=new rt("mat-ripple-global-options");class Ld{constructor(t,e,n,i,s){this._elementRef=t,this.radius=0,this.speedFactor=1,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new Ed(this,e,t,n),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp,speedFactor:this.speedFactor*(this._globalOptions.baseSpeedFactor||1)}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class kd{}class Sd{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}class Td{}const Id=fd(class{});let Pd=0;class Md extends Id{constructor(){super(...arguments),this._labelId=`mat-optgroup-label-${Pd++}`}}let Dd=0;class Ad{constructor(t,e=!1){this.source=t,this.isUserInput=e}}const Od=new rt("MAT_OPTION_PARENT_COMPONENT");class Rd{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._id=`mat-option-${Dd++}`,this._mostRecentViewValue="",this.onSelectionChange=new on,this._stateChanges=new S}get multiple(){return this._parent&&this._parent.multiple}get id(){return this._id}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=ya(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(){const t=this._getHostElement();"function"==typeof t.focus&&t.focus()}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==Ea&&t.keyCode!==La||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Ad(this,t))}}class Nd{}const Fd=new rt("mat-label-global-options");var zd=Ji({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Vd(t){return Go(2,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var i=!0,s=t.component;return"@state.start"===e&&(i=!1!==s._animationStart()&&i),"@state.done"===e&&(i=!1!==s._animationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),yo(131072,Ml,[Rn]),(t()(),Ho(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,Yi(e,0,0,io(e,2).transform(n._isHandset)).matches,n._visibility),t(e,3,0,n.message)})}var Bd=$s("mat-tooltip-component",gu,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==io(t,1)._handleBodyInteraction()&&i),i},Vd,zd)),go(1,49152,null,0,gu,[Rn,oh],null,null)],null,function(t,e){t(e,0,0,"visible"===io(e,1)._visibility?1:null)})},{},{},[]),jd=n("4R65");class Hd{}class Zd{}class Ud{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Ud?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Ud;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Ud?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;0===(t=t.filter(t=>-1===s.indexOf(t))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Gd{encodeKey(t){return $d(t)}encodeValue(t){return $d(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function $d(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class qd{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Gd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const i=t.indexOf("="),[s,o]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],r=n.get(s)||[];r.push(o),n.set(s,r)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new qd({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=null)}}function Wd(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Kd(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yd(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Qd{constructor(t,e,n,i){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,s=i):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.params&&(this.params=s.params)),this.headers||(this.headers=new Ud),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new qd,this.urlWithParams=e}serializeBody(){return null===this.body?null:Wd(this.body)||Kd(this.body)||Yd(this.body)||"string"==typeof this.body?this.body:this.body instanceof qd?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:Yd(this.body)?null:Kd(this.body)?this.body.type||null:Wd(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof qd?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,i=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,r=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let a=t.headers||this.headers,l=t.params||this.params;return void 0!==t.setHeaders&&(a=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),a)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),l)),new Qd(e,n,s,{params:l,headers:a,reportProgress:r,responseType:i,withCredentials:o})}}const Xd=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class Jd{constructor(t,e=200,n="OK"){this.headers=t.headers||new Ud,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class tp extends Jd{constructor(t={}){super(t),this.type=Xd.ResponseHeader}clone(t={}){return new tp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ep extends Jd{constructor(t={}){super(t),this.type=Xd.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ep({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class np extends Jd{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ip(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class sp{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Qd)i=t;else{let s=void 0;s=n.headers instanceof Ud?n.headers:new Ud(n.headers);let o=void 0;n.params&&(o=n.params instanceof qd?n.params:new qd({fromObject:n.params})),i=new Qd(t,e,void 0!==n.body?n.body:null,{headers:s,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=Jl(i).pipe(function(t,e){return $(t,void 0,1)}(t=>this.handler.handle(t)));if(t instanceof Qd||"events"===n.observe)return s;const o=s.pipe(vh(t=>t instanceof ep));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe(j(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe(j(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new qd).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,ip(n,e))}post(t,e,n={}){return this.request("POST",t,ip(n,e))}put(t,e,n={}){return this.request("PUT",t,ip(n,e))}}class op{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const rp=new rt("HTTP_INTERCEPTORS");class ap{intercept(t,e){return e.handle(t)}}const lp=/^\)\]\}',?\n/;class hp{}class up{constructor(){}build(){return new XMLHttpRequest}}class cp{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new x(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let s=null;const o=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,i=n.statusText||"OK",o=new Ud(n.getAllResponseHeaders()),r=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new tp({headers:o,status:e,statusText:i,url:r})},r=()=>{let{headers:i,status:s,statusText:r,url:a}=o(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let h=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(lp,"");try{l=""!==l?JSON.parse(l):null}catch(e){l=t,h&&(h=!1,l={error:e,text:l})}}h?(e.next(new ep({body:l,headers:i,status:s,statusText:r,url:a||void 0})),e.complete()):e.error(new np({error:l,headers:i,status:s,statusText:r,url:a||void 0}))},a=t=>{const i=new np({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error"});e.error(i)};let l=!1;const h=i=>{l||(e.next(o()),l=!0);let s={type:Xd.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(s.total=i.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},u=t=>{let n={type:Xd.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",r),n.addEventListener("error",a),t.reportProgress&&(n.addEventListener("progress",h),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:Xd.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("load",r),t.reportProgress&&(n.removeEventListener("progress",h),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.abort()}})}}const dp=new rt("XSRF_COOKIE_NAME"),pp=new rt("XSRF_HEADER_NAME");class mp{}class fp{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=el(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class _p{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null===i||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}class gp{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(rp,[]);this.chain=t.reduceRight((t,e)=>new op(t,e),this.backend)}return this.chain.handle(t)}}class yp{static disable(){return{ngModule:yp,providers:[{provide:_p,useClass:ap}]}}static withOptions(t={}){return{ngModule:yp,providers:[t.cookieName?{provide:dp,useValue:t.cookieName}:[],t.headerName?{provide:pp,useValue:t.headerName}:[]]}}}class vp{}function bp(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),U(t,void 0).lift(new wp(e))}class wp{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new xp(t,this.resultSelector))}}class xp extends y{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;l(t)?e.push(new Cp(t)):e.push("function"==typeof t[A]?new Ep(t[A]()):new Lp(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let i=!1;const s=[];for(let o=0;o<e;o++){let e=t[o],r=e.next();if(e.hasCompleted()&&(i=!0),r.done)return void n.complete();s.push(r.value)}this.resultSelector?this._tryresultSelector(s):n.next(s),i&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}class Ep{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class Cp{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[A](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class Lp extends B{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[A](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,i,s){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return V(this,this.observable,this,e)}}class kp{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Sp(t,this.compare,this.keySelector))}}class Sp extends y{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e=t;if(this.keySelector&&(e=p(this.keySelector)(t))===u)return this.destination.error(u.e);let n=!1;if(this.hasKey){if((n=p(this.compare)(this.key,e))===u)return this.destination.error(u.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))}}function Tp(t,e){return"function"==typeof e?n=>n.pipe(Tp((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))))):e=>e.lift(new Ip(t))}class Ip{constructor(t){this.project=t}call(t,e){return e.subscribe(new Pp(t,this.project))}}class Pp extends B{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)}_innerSub(t,e,n){const i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=V(this,t,e,n))}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}}var Mp=n("Yoyx");function Dp(...t){let e;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),0===t.length?Ql:e?Dp(t).pipe(j(t=>e(...t))):new x(e=>new Ap(e,t))}class Ap extends B{constructor(t,e){super(t),this.sources=e,this.completed=0,this.haveValues=0;const n=e.length;this.values=new Array(n);for(let i=0;i<n;i++){const t=V(this,e[i],null,i);t&&this.add(t)}}notifyNext(t,e,n,i,s){this.values[n]=e,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(t){const{destination:e,haveValues:n,values:i}=this,s=i.length;t._hasValue?(this.completed++,this.completed===s&&(n===s&&e.next(i),e.complete())):e.complete()}}class Op{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Rp extends Op{get formDirective(){return null}get path(){return null}}function Np(t){return null==t||0===t.length}const Fp=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class zp{static min(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return Np(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return Np(t.value)?null:Fp.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(Np(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return zp.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(Np(t.value))return null;const i=t.value;return e.test(i)?null:{pattern:{requiredPattern:n,actualValue:i}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return jp(function(t,n){return e.map(e=>e(t))}(t))}}static composeAsync(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return Dp(function(t,n){return e.map(e=>e(t))}(t).map(Bp)).pipe(j(jp))}}}function Vp(t){return null!=t}function Bp(t){const e=Pe(t)?G(t):t;if(!Me(e))throw new Error("Expected validator to return Promise or Observable.");return e}function jp(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}const Hp=new rt("NgValueAccessor"),Zp=new rt("CompositionEventMode");class Up{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=ec()?ec().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}function Gp(t){return t.validate?e=>t.validate(e):t}function $p(t){return t.validate?e=>t.validate(e):t}function qp(){throw new Error("unimplemented")}class Wp extends Op{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return qp()}get asyncValidator(){return qp()}}class Kp{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}const Yp={formControlName:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupName:'\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',formArrayName:'\n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',ngModelGroup:'\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',ngModelWithFormGroup:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n '};class Qp{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formControlName}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${Yp.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${Yp.ngModelGroup}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${Yp.formControlName}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formGroupName}`)}static arrayParentException(){throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formArrayName}`)}static disabledAttrWarning(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")}static ngModelWarning(t){console.warn(`\n It looks like you're using ngModel on the same form field as ${t}. \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `)}}function Xp(t,e){return[...e.path,t]}function Jp(t,e){t||im(e,"Cannot find control with"),e.valueAccessor||im(e,"No value accessor for form control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&tm(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&tm(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function tm(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function em(t,e){null==t&&im(e,"Cannot find control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator])}function nm(t){return im(t,"There is no FormControl instance attached to form control element with")}function im(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function sm(t){return null!=t?zp.compose(t.map(Gp)):null}function om(t){return null!=t?zp.composeAsync(t.map($p)):null}function rm(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!vt(e,n.currentValue)}const am=[class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=function(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=(e=>{this.value=this._getOptionValue(e),t(this.value)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=((t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)})}else e=((t,e)=>{t._setSelected(!1)});this._optionMap.forEach(e)}registerOnChange(t){this.onChange=(e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const i=t.item(e),s=this._getOptionValue(i.value);n.push(s)}}else{const t=e.options;for(let e=0;e<t.length;e++){const i=t.item(e);if(i.selected){const t=this._getOptionValue(i.value);n.push(t)}}}this.value=n,t(n)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},class{constructor(t,e,n,i){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=i,this.onChange=(()=>{}),this.onTouched=(()=>{})}ngOnInit(){this._control=this._injector.get(Wp),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=(()=>{t(this.value),this._registry.select(this)})}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')}}];function lm(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function hm(t,e){if(!e)return null;Array.isArray(e)||im(t,"Value accessor was not provided as an array for form control with");let n=void 0,i=void 0,s=void 0;return e.forEach(e=>{e.constructor===Up?n=e:function(t){return am.some(e=>t.constructor===e)}(e)?(i&&im(t,"More than one built-in value accessor matches form control with"),i=e):(s&&im(t,"More than one custom value accessor matches form control with"),s=e)}),s||i||n||(im(t,"No valid value accessor for form control with"),null)}function um(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function cm(t,e,n,i){bn()&&"never"!==i&&((null!==i&&"once"!==i||e._ngModelWarningSentOnce)&&("always"!==i||n._ngModelWarningSent)||(Qp.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}class dm extends Rp{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){}}class pm{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class mm extends pm{constructor(t){super(t)}}class fm extends pm{constructor(t){super(t)}}const _m="VALID",gm="INVALID",ym="PENDING",vm="DISABLED";function bm(t){const e=xm(t)?t.validators:t;return Array.isArray(e)?sm(e):e||null}function wm(t,e){const n=xm(e)?e.asyncValidators:t;return Array.isArray(n)?om(n):n||null}function xm(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class Em{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=(()=>{}),this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===_m}get invalid(){return this.status===gm}get pending(){return this.status==ym}get disabled(){return this.status===vm}get enabled(){return this.status!==vm}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=bm(t)}setAsyncValidators(t){this.asyncValidator=wm(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ym,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){this.status=vm,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){this.status=_m,this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==_m&&this.status!==ym||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vm:_m}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ym;const e=Bp(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof Lm?t.controls[e]||null:t instanceof km&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new on,this.statusChanges=new on}_calculateStatus(){return this._allControlsDisabled()?vm:this.errors?gm:this._anyControlsHaveStatus(ym)?ym:this._anyControlsHaveStatus(gm)?gm:_m}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){xm(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}}class Cm extends Em{constructor(t=null,e,n){super(bm(e),wm(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=(()=>{})}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class Lm extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof Cm?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,i)=>{e=e||this.contains(i)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class km extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this.controls.map(t=>t instanceof Cm?t.value:t.getRawValue())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const Sm=Promise.resolve(null);class Tm extends Rp{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new on,this.form=new Lm({},sm(t),om(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Sm.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Jp(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),um(this._directives,t)})}addFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path),n=new Lm({});em(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){Sm.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,lm(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}const Im=new rt("NgModelWithFormControlWarning");class Pm extends Wp{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new on,this._ngModelWarningSent=!1,this._rawValidators=t||[],this._rawAsyncValidators=e||[],this.valueAccessor=hm(this,n)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._isControlChanged(t)&&(Jp(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),rm(t,this.viewModel)&&(cm("formControl",Pm,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}get path(){return[]}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}Pm._ngModelWarningSentOnce=!1;class Mm extends Rp{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new on}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Jp(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){um(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,lm(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>nm(e)),e.valueAccessor.registerOnTouched(()=>nm(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&Jp(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=sm(this._validators);this.form.validator=zp.compose([this.form.validator,t]);const e=om(this._asyncValidators);this.form.asyncValidator=zp.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||Qp.missingFormException()}}class Dm extends dm{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){Om(this._parent)&&Qp.groupParentException()}}class Am extends Rp{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Xp(this.name,this._parent)}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){Om(this._parent)&&Qp.arrayParentException()}}function Om(t){return!(t instanceof Dm||t instanceof Mm||t instanceof Am)}class Rm extends Wp{constructor(t,e,n,i,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new on,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=hm(this,i)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._added||this._setUpControl(),rm(t,this.viewModel)&&(cm("formControlName",Rm,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof Dm)&&this._parent instanceof dm?Qp.ngModelGroupException():this._parent instanceof Dm||this._parent instanceof Mm||this._parent instanceof Am||Qp.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}Rm._ngModelWarningSentOnce=!1;class Nm{group(t,e=null){const n=this._reduceControls(t);return new Lm(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)}control(t,e,n){return new Cm(t,e,n)}array(t,e,n){const i=t.map(t=>this._createControl(t));return new km(i,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof Cm||t instanceof Lm||t instanceof km?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Fm{}class zm{}class Vm{static withConfig(t){return{ngModule:Vm,providers:[{provide:Im,useValue:t.warnOnNgModelWithFormControl}]}}}n("INa4");var Bm=function(){function t(){}return t.mapToArray=function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},t.handleEvent=function(t,e,n){0<e.observers.length&&t.run(function(){e.emit(n)})},t}(),jm=function(){function t(t,e){this.element=t,this.zone=e,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=Object(jd.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new on,this.zoomChange=new on,this.centerChange=new on,this.onClick=new on,this.onDoubleClick=new on,this.onMouseDown=new on,this.onMouseUp=new on,this.onMouseMove=new on,this.onMouseOver=new on,this.onMapMove=new on,this.onMapMoveStart=new on,this.onMapMoveEnd=new on,this.onMapZoom=new on,this.onMapZoomStart=new on,this.onMapZoomEnd=new on}return t.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){t.map=Object(jd.map)(t.element.nativeElement,t.options),t.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)},t.prototype.ngOnChanges=function(t){t.zoom&&t.center&&null!=this.zoom&&null!=this.center?this.setView(t.center.currentValue,t.zoom.currentValue):t.zoom?this.setZoom(t.zoom.currentValue):t.center&&this.setCenter(t.center.currentValue),t.fitBounds&&this.setFitBounds(t.fitBounds.currentValue),t.maxBounds&&this.setMaxBounds(t.maxBounds.currentValue),t.minZoom&&this.setMinZoom(t.minZoom.currentValue),t.maxZoom&&this.setMaxZoom(t.maxZoom.currentValue)},t.prototype.getMap=function(){return this.map},t.prototype.onResize=function(){this.delayResize()},t.prototype.addMapEventListeners=function(){var t=this;this.map.on("click",function(e){return Bm.handleEvent(t.zone,t.onClick,e)}),this.map.on("dblclick",function(e){return Bm.handleEvent(t.zone,t.onDoubleClick,e)}),this.map.on("mousedown",function(e){return Bm.handleEvent(t.zone,t.onMouseDown,e)}),this.map.on("mouseup",function(e){return Bm.handleEvent(t.zone,t.onMouseUp,e)}),this.map.on("mouseover",function(e){return Bm.handleEvent(t.zone,t.onMouseOver,e)}),this.map.on("mousemove",function(e){return Bm.handleEvent(t.zone,t.onMouseMove,e)}),this.map.on("zoomstart",function(e){return Bm.handleEvent(t.zone,t.onMapZoomStart,e)}),this.map.on("zoom",function(e){return Bm.handleEvent(t.zone,t.onMapZoom,e)}),this.map.on("zoomend",function(e){return Bm.handleEvent(t.zone,t.onMapZoomEnd,e)}),this.map.on("movestart",function(e){return Bm.handleEvent(t.zone,t.onMapMoveStart,e)}),this.map.on("move",function(e){return Bm.handleEvent(t.zone,t.onMapMove,e)}),this.map.on("moveend",function(e){return Bm.handleEvent(t.zone,t.onMapMoveEnd,e)}),this.map.on("zoomend moveend",function(){var e=t.map.getZoom();e!==t.zoom&&(t.zoom=e,Bm.handleEvent(t.zone,t.zoomChange,e));var n=t.map.getCenter();null==n&&null==t.center||(null!=n&&null!=t.center||n===t.center)&&n.lat===t.center.lat&&n.lng===t.center.lng||(t.center=n,Bm.handleEvent(t.zone,t.centerChange,n))})},t.prototype.doResize=function(){var t=this;this.zone.runOutsideAngular(function(){t.map.invalidateSize({})})},t.prototype.delayResize=function(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)},t.prototype.setView=function(t,e){this.map&&null!=t&&null!=e&&this.map.setView(t,e,this.zoomPanOptions)},t.prototype.setZoom=function(t){this.map&&null!=t&&this.map.setZoom(t,this.zoomOptions)},t.prototype.setCenter=function(t){this.map&&null!=t&&this.map.panTo(t,this.panOptions)},t.prototype.setFitBounds=function(t){this.map&&null!=t&&this.map.fitBounds(t,this.fitBoundsOptions)},t.prototype.setMaxBounds=function(t){this.map&&null!=t&&this.map.setMaxBounds(t)},t.prototype.setMinZoom=function(t){this.map&&null!=t&&this.map.setMinZoom(t)},t.prototype.setMaxZoom=function(t){this.map&&null!=t&&this.map.setMaxZoom(t)},t}(),Hm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}(),Zm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();const Um=function(t,e){switch(typeof t){case"number":this.lonDeg=this.dec2deg(t,this.MAX_LON),this.lonDec=t;break;case"string":this.decode(t)&&(this.lonDeg=t),this.lonDec=this.deg2dec(t,this.MAX_LON)}switch(typeof e){case"number":this.latDeg=this.dec2deg(e,this.MAX_LAT),this.latDec=e;break;case"string":this.decode(e)&&(this.latDeg=e),this.latDec=this.deg2dec(e,this.MAX_LAT)}};Um.prototype={CHAR_DEG:"\xb0",CHAR_MIN:"'",CHAR_SEC:'"',CHAR_SEP:" ",MAX_LON:180,MAX_LAT:90,lonDec:NaN,latDec:NaN,lonDeg:NaN,latDeg:NaN,dec2deg:function(t,e){const n=t<0?-1:1,i=Math.abs(Math.round(1e6*t));if(i>1e6*e)return NaN;const s=i%1e6/1e6,o=Math.floor(i/1e6)*n,r=Math.floor(60*s);let a="";return a+=o,a+=this.CHAR_DEG,a+=this.CHAR_SEP,a+=r,a+=this.CHAR_MIN,a+=this.CHAR_SEP,(a+=(3600*(s-r/60)).toFixed(2))+this.CHAR_SEC},deg2dec:function(t){const e=this.decode(t);if(!e)return NaN;const n=parseFloat(e[1]),i=parseFloat(e[2]),s=parseFloat(e[3]);return isNaN(n)||isNaN(i)||isNaN(s)?NaN:n+i/60+s/3600},decode:function(t){let e="";return e+="(-?\\d+)",e+=this.CHAR_DEG,e+="\\s*",e+="(\\d+)",e+=this.CHAR_MIN,e+="\\s*",e+="(\\d+(?:\\.\\d+)?)",e+=this.CHAR_SEC,t.match(new RegExp(e))},getLonDec:function(){return this.lonDec},getLatDec:function(){return this.latDec},getLonDeg:function(){return this.lonDeg},getLatDeg:function(){return this.latDeg}};const Gm=function(t,e,n){const i=$m(),s=Object(jd.marker)([t,e],{icon:i,draggable:!0});return s.on("dragend",function(t){return n(t)}),s},$m=function(){return Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconAnchor:[13,40]})},qm={radius:6,fillColor:"#ff7800",color:"#000",weight:1,opacity:1,fillOpacity:.8},Wm={color:"#ff7800",weight:5,opacity:.65},Km=()=>Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconSize:[33,41],iconAnchor:[13,40],popupAnchor:[5,-41]});function Ym(t){try{let e;" "===(t=t.replace(/\s\s+/g," ")).charAt(0)&&(t=t.slice(1,t.length-1)),t=(t=t.replace(",",".")).replace(/[^0-9\-.,\xb0\'"\s]/g,"");let n="",i="",s="",o=t.split(" ");" "===t.charAt(t.length-1)&&(o=o.slice(0,o.length-1)),""===o[o.length-1]&&(o=o.slice(0,o.length-1)),1===o.length&&(-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90")),2===o.length&&(i=o[1],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),3===o.length&&(i=o[1],s=o[2],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),o.length>=4&&(o=o.slice(0,2),-1!==n.indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90"));try{e=t.match(/\s/g).length}catch(t){e=0}if(0===e&&1===o.length);else if(1===e&&o.length>=1)"\xb0"!==(n=n.replace(" ","")).slice(n.length-1,n.length)?n+="\xb0 ":n+=" ";else if(2===e&&o.length>=2)n=n.replace(" ",""),i=i.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ";else{if(!(3===e&&o.length>=3))throw{error:"Can't manage input string."};n=n.replace(" ",""),i=i.replace(" ",""),s=s.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ",'"'!==s.slice(s.length-1,s.length)&&(s+='"')}return n+i+s}catch(e){return t}}class Qm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}geocode(t,e){return null===t?Xl():"osm"===e.toLowerCase()?this.geocodeUsingOSM(t):"mapquest"===e.toLowerCase()?this.geocodeUsingMapQuest(t):void 0}reverse(t,e,n){return"osm"===n.toLowerCase()?this.reverseUsingOSM(t,e):"mapquest"===n.toLowerCase()?this.reverseUsingMapQuest(t,e):void 0}getReadbleAddress(t,e){if("osm"===e.toLowerCase())return this.getNominatimReadbleAddress(t);if("mapquest"===e.toLowerCase()){if(Object(Mp.isDefined)(t.results))return this.getMapQuestReadableAddress(t);if(Object(Mp.isDefined)(t.address))return this.getNominatimReadbleAddress(t)}}geocodeUsingOSM(t){return this.http.get(`https://nominatim.openstreetmap.org/?format=json&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}geocodeUsingMapQuest(t){return this.http.get(`https://open.mapquestapi.com/nominatim/v1/search.php?key=${this.mapQuestApiKey}&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingOSM(t,e){return this.http.get(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingMapQuest(t,e){return this.http.get(`https://open.mapquestapi.com/geocoding/v1/reverse?key=${this.mapQuestApiKey}&location=${t},${e}`).pipe(j(t=>t))}getNominatimReadbleAddress(t){let e=null,n=null,i=null,s=null;return Object(Mp.isDefined)(t.address.city)?e=t.address.city:Object(Mp.isDefined)(t.address.town)?e=t.address.town:Object(Mp.isDefined)(t.address.village)?e=t.address.village:Object(Mp.isDefined)(t.address.hamlet)&&(e=t.address.hamlet),Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e?n=t.address.suburb+", "+t.address.postcode:!Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e&&(n=t.address.postcode),Object(Mp.isDefined)(t.address.road)?i=t.address.road:Object(Mp.isDefined)(t.address.pedestrian)&&(i=t.address.pedestrian),Object(Mp.isDefined)(t.address.neighbourhood)&&(s=t.address.neighbourhood),i&&s&&n&&e?i+" ("+s+") "+n+" "+e:i&&!s&&n&&e?i+" "+n+" "+e:i&&!s&&!n&&e?i+", "+e:!i&&s&&n&&e?s+" "+n+" "+e:!i&&!s&&n&&e?n+" "+e:i||s||n||!e?t.display_name:e}getMapQuestReadableAddress(t){const e=t.results[0].locations[0];let n=null,i=null,s=null,o=null;return n=e.adminArea5,i=e.adminArea4,o=e.adminArea6,(s=e.street)&&o&&i&&n?s+" ("+o+") "+i+" "+n:s&&!o&&i&&n?s+" "+i+" "+n:s&&!o&&!i&&n?s+", "+n:!s&&o&&i&&n?o+" "+i+" "+n:!s&&!o&&i&&n?i+" "+n:s||o||i||!n?void 0:n}osmClassFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{let i=0,s=!1;t.forEach(t=>{const n=t.split(":")[0],o=t.split(":")[1];"*"===o?e.class===n&&i++:"!"===o.substr(0,1)?e.class===n&&"!"+e.type===o&&(s=!0):e.class===n&&e.type===o&&i++}),i>0&&!s&&n.push(e)}),Jl(n)):Jl(e)}reverseCorrdinatesArray(t){if(t.length>0)return t.forEach(t=>{t.reverse()}),t}simplifyPolyline(t){return t.length>1?[t[0],t[t.length-1]]:t}getInseeData(t,e){return this.http.get(`https://geo.api.gouv.fr/communes?lat=${t}&lon=${e}`).pipe(j(t=>t[0]))}}Qm.ngInjectableDef=ot({factory:function(){return new Qm(te(sp))},token:Qm,providedIn:"root"});class Xm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}getElevation(t,e,n){return"openelevation"===n.toLowerCase()?this.getOpenElevation(t,e):"mapquest"===n.toLowerCase()&&null!==this.mapQuestApiKey?this.getMapQuestElevation(t,e):Jl(-1)}getOpenElevation(t,e){return this.http.get(`https://api.open-elevation.com/api/v1/lookup?locations=${t},${e}`).pipe(j(t=>t.results[0].elevation))}getMapQuestElevation(t,e){return this.http.get(`https://open.mapquestapi.com/elevation/v1/profile?key=${this.mapQuestApiKey}&shapeFormat=raw&latLngCollection=${t},${e}`).pipe(j(t=>t.elevationProfile[0].height))}}Xm.ngInjectableDef=ot({factory:function(){return new Xm(te(sp))},token:Xm,providedIn:"root"});class Jm{constructor(t,e,n,i){this.fb=t,this.geocodeService=e,this.elevationService=n,this.zone=i,this.layersToAdd=["osm"],this.osmClassFilter=[],this.allowEditDrawnItems=!1,this.marker=!0,this.polyline=!1,this.polygon=!1,this.latLngInit=[46.5588603,2.98828125],this.zoomInit=4,this.getOsmSimpleLine=!1,this.showLatLngElevationInputs=!0,this.elevationProvider="mapQuest",this.geolocationProvider="osm",this.mapQuestApiKey="KpzlEtCq6BmVVf37R1EXV3jWoh20ynCc",this.location=new on,this.coordFormat="dms",this._location={},this.osmPlace=null,this.inseeData=null,this._geolocatedPhotoLatLng=new on,this.geolocatedPhotoLatLngData=[],this.geolocatedPhotoLatLngDisplayedColumnsTable=["select","fileName","lat","lng","altitude"],this.isLoadingAddress=!1,this.isLoadingLatitude=!1,this.isLoadingLongitude=!1,this.isLoadingElevation=!1,this.geoSearchSubscription=new f,this.latDmsInputSubscription=new f,this.lngDmsInputSubscription=new f,this.elevationInputSubscription=new f,this.mapLat=0,this.mapLng=0,this.osmLayer=Object(jd.tileLayer)("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:18,attribution:"Open Street map"}),this.openTopoMapLayer=Object(jd.tileLayer)("https://a.tile.opentopomap.org/{z}/{x}/{y}.png",{maxZoom:17,attribution:"OpenTopoMap"}),this.googleHybridLayer=Object(jd.tileLayer)("https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"],attribution:"Google maps"}),this.brgmLayer=jd.tileLayer.wms("http://geoservices.brgm.fr/geologie",{version:"1.3.0",layers:"Geologie"}),this.mapLayers={},this.geoResultsLayer=Object(jd.geoJSON)(null,{style:function(){return{color:"#ff7800",weight:5,opacity:.65}}}),this.geolocatedPhotoLatLngLayer=Object(jd.geoJSON)(),this.drawnItems=new jd.FeatureGroup,this.circleMarkerOpt=qm,this.geoResultsOpt=Wm}set geolocatedPhotoLatLng(t){this._geolocatedPhotoLatLng.emit(t)}set reset(t){!0===t&&this.resetComponent()}set patchAddress(t){t&&null!==t&&this._patchAddress(t)}set patchElevation(t){t&&null!==t&&this._patchElevation(t)}set patchLatLngDec(t){t&&null!==t&&this._patchLatLngDec(t[0],t[1])}set patchGeometry(t){t&&null!==t&&this._patchGeometry(t)}set drawMarker(t){t&&null!==t&&this._drawMarker(t[0],t[1])}ngOnInit(){switch(this.initApi(),this.latlngFormGroup=this.fb.group({latInput:this.fb.control("",[zp.required,this.latLngDecValidator]),lngInput:this.fb.control("",[zp.required,this.latLngDecValidator]),dmsLatInput:this.fb.control("",[zp.required,this.latLngDmsValidator]),dmsLngInput:this.fb.control("",[zp.required,this.latLngDmsValidator])}),this.elevationFormGroup=this.fb.group({elevationInput:this.fb.control("",null)}),this.geoSearchFormGroup=this.fb.group({placeInput:this.fb.control("",null)}),this.geoSearchSubscription=this.geoSearchFormGroup.controls.placeInput.valueChanges.pipe(vu(400),t=>t.lift(new kp(void 0,void 0)),Tp(t=>(this.isLoadingAddress=!0,this.geocodeService.geocode(t,this.geolocationProvider)))).subscribe(t=>{this.isLoadingAddress=!1,this.osmClassFilter.length>0?this.geocodeService.osmClassFilter(this.osmClassFilter,t).subscribe(t=>{this.geoSearchResults=t}):this.geoSearchResults=t},t=>{this.isLoadingAddress=!1}),this._geolocatedPhotoLatLng.subscribe(t=>{this.geolocatedPhotoLatLngLayer.clearLayers(),this.geolocatedPhotoLatLngData=t,this.geolocatedPhotoLatLngData.forEach(t=>{const e=new Um(t.lng.deg+"\xb0 "+t.lng.min+"'"+t.lng.sec+'"',t.lat.deg+"\xb0 "+t.lat.min+"'"+t.lat.sec+'"');t.latDec=e.latDec,t.lngDec=e.lonDec;const n=Object(jd.latLng)(t.latDec,t.lngDec),i=new jd.Marker(n,{icon:Km()});i.bindPopup(`\n <b>Fichier "${t.fileName}"</b><br>\n Lat. : ${e.latDeg}<br />\n Lng. : ${e.lonDeg}<br />\n Alt. : ${t.altitude} m<br /><br />\n <b>Cliquez sur le point pour utiliser ces coordonn\xe9es</b>`).openPopup(),i.on("click",e=>{this.gpsMarkerSetValues(t.latDec,t.lngDec,t.altitude)}),i.on("mouseover",t=>{i.openPopup()}),i.on("mouseout",t=>{i.closePopup()}),i.addTo(this.geolocatedPhotoLatLngLayer)}),this.flyToGeolocatedPhotoItems()}),this.elevationInputSubscription=this.elevationFormGroup.controls.elevationInput.valueChanges.pipe(vu(500)).subscribe(t=>{null!==this.osmPlace&&this.bindLocationOutput([t,this.osmPlace,this.inseeData])}),this.mapOptions={layers:[],zoom:this.zoomInit,center:Object(jd.latLng)({lat:this.latLngInit[0],lng:this.latLngInit[1]})},this.drawControlEdit=function(t,e){return new jd.Control.Draw({position:"topleft",draw:{marker:!1,polyline:!1,polygon:!1,rectangle:!1,circle:!1,circlemarker:!1},edit:{featureGroup:t,edit:!0===e&&{},remove:{}}})}(this.drawnItems,this.allowEditDrawnItems),this.drawControlFull=function(t,e,n){return new jd.Control.Draw({position:"topleft",draw:{marker:!!t&&{icon:$m()},polyline:!!e&&{},polygon:!!n&&{showArea:!0,metric:!1},rectangle:!1,circle:!1,circlemarker:!1}})}(this.marker,this.polyline,this.polygon),-1!==this.layersToAdd.indexOf("osm")&&(this.mapLayers.OSM=this.osmLayer),-1!==this.layersToAdd.indexOf("opentopomap")&&(this.mapLayers.OpenTopoMap=this.openTopoMapLayer),-1!==this.layersToAdd.indexOf("google hybrid")&&(this.mapLayers["Google hybride"]=this.googleHybridLayer),-1!==this.layersToAdd.indexOf("brgm")&&(this.mapLayers.BRGM=this.brgmLayer),this.layersToAdd[0]){case"osm":this.mapOptions.layers.push(this.osmLayer);break;case"opentopomap":this.mapOptions.layers.push(this.openTopoMapLayer);break;case"google hybrid":this.mapOptions.layers.push(this.googleHybridLayer);break;case"brgm":this.mapOptions.layers.push(this.brgmLayer)}this.latDmsInputSubscription=this.latlngFormGroup.controls.dmsLatInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLatInput.setValue(Ym(t),{emitEvent:!1})}),this.lngDmsInputSubscription=this.latlngFormGroup.controls.dmsLngInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLngInput.setValue(Ym(t),{emitEvent:!1})})}initApi(){this.elevationService.setMapQuestApiKey(this.mapQuestApiKey),this.geocodeService.setMapQuestApiKey(this.mapQuestApiKey)}ngOnDestroy(){this.geoSearchSubscription.unsubscribe(),this.latDmsInputSubscription.unsubscribe(),this.lngDmsInputSubscription.unsubscribe(),this.elevationInputSubscription.unsubscribe(),this._geolocatedPhotoLatLng.unsubscribe()}onMapReady(t){this.map=t,this.map.addControl(jd.control.layers(null,this.mapLayers,{position:"topright"})),this.map.addLayer(this.drawnItems),this.map.addLayer(this.geoResultsLayer),this.map.addLayer(this.geolocatedPhotoLatLngLayer),this.map.addControl(this.drawControlFull),this.map.on("draw:created",t=>{if(this.drawnItem=t.layer,this.drawType=t.layerType,"marker"===this.drawType){const t=this.drawnItem._latlng;Gm(t.lat,t.lng,t=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}).addTo(this.drawnItems)}else this.drawnItems.addLayer(this.drawnItem);this.drawnItems.getLayers().length>0&&this.setMapEditMode(),1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:edited",t=>{this.drawnItem=t.layer,this.drawType=t.layerType,1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:deleted",t=>{this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.zone.run(()=>{this.clearForm()})}),this.redrawMap(100)}redrawMap(t){t?window.setTimeout(()=>this.map.invalidateSize(),t):this.map.invalidateSize()}setMapEditMode(){this.map.removeControl(this.drawControlFull),this.map.addControl(this.drawControlEdit)}setMapDrawMode(){this.map.removeControl(this.drawControlEdit),this.map.addControl(this.drawControlFull)}flyToDrawnItems(t=14){const e=this.drawnItems.getBounds();this.map.flyToBounds(e,{maxZoom:t,animate:!1})}flyToGeoResultsItems(){const t=this.geoResultsLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}flyToGeolocatedPhotoItems(){const t=this.geolocatedPhotoLatLngLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}addMarkerFromDmsCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(this.latlngFormGroup.controls.dmsLngInput.value,this.latlngFormGroup.controls.dmsLatInput.value);Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.latInput.setValue(t.getLatDec(),{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(t.getLatDec(),{emitEvent:!1}),this.flyToDrawnItems()}addMarkerFromLatLngCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(Number(this.latlngFormGroup.controls.lngInput.value),Number(this.latlngFormGroup.controls.latInput.value));Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.dmsLatInput.setValue(t.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(t.getLonDeg(),{emitEvent:!1}),this.flyToDrawnItems()}addPolyline(t){this.clearDrawnItemsLayer(),this.setMapEditMode(),Object(jd.polyline)(t).addTo(this.drawnItems),this.flyToDrawnItems(18)}callGeolocElevationApisUsingLatLngInputsValues(t=!1,e=!1,n){let i,s,o,r;if(this.osmPlace=null,this.inseeData=null,this.setLatLngInputFromDrawnItems(),this.setLatLngDmsInputFromDrawnItems(),t&&!e)i=bp(this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(e&&!t)i=bp(this.getElevationFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(t||e){if(t&&e)return}else i=bp(this.getElevationFromInputValue(),this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));this.isLoadingAddress=!e,this.isLoadingElevation=!t,i.subscribe(i=>{this.isLoadingElevation=!1,this.isLoadingAddress=!1,t&&!e?(s=null,o=i[0],r=i[1]):e&&!t?(s=i,o=null,s=i[0],r=i[1]):e||e||(s=i[0],o=i[1],r=i[2]),this.osmPlace=o,this.inseeData=r,t||this.elevationFormGroup.controls.elevationInput.setValue(s,{emitEvent:!1}),e||this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(o,this.geolocationProvider),{emitEvent:!1}),Object(Mp.isDefined)(n)?n(s,o):this.bindLocationOutput([s,o,r])},t=>{this.isLoadingAddress=!1,this.isLoadingElevation=!1})}setLatLngInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter();this.latlngFormGroup.controls.latInput.setValue(t.lat),this.latlngFormGroup.controls.lngInput.setValue(t.lng)}setLatLngDmsInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter(),e=new Um(t.lng,t.lat);this.latlngFormGroup.controls.dmsLatInput.patchValue(e.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(e.getLonDeg())}getElevationFromInputValue(){return this.elevationService.getElevation(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.elevationProvider)}reverseGeocodingFromInputValue(){return this.geocodeService.reverse(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.geolocationProvider)}latLngDmsValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\\xb0 [0-9]{1,2}\\' [0-9]{1,2}\\.[0-9]{1,12}\\\"").test(t.value)?null:{malformedLatLngDmsFormat:!0}}latLngDecValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\.[0-9]{1,20}").test(t.value)?null:{malformedLatLngDecFormat:!0}}addressSelectedChanged(t){const e=t.option.value,n=new jd.LatLng(e.boundingbox[0],e.boundingbox[2]),i=new jd.LatLng(e.boundingbox[1],e.boundingbox[3]);this.map.fitBounds(Object(jd.latLngBounds)(n,i)),this.clearGeoResultsLayer(),this.geoResultsLayer.addData(e.geojson),this.flyToGeoResultsItems(),this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(e,this.geolocationProvider),{emitEvent:!1});const s=new Um(Number(e.lon),Number(e.lat));this.latlngFormGroup.controls.latInput.setValue(e.lat,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e.lon,{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue(s.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(s.getLonDeg(),{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue(e.elevation,{emitEvent:!1}),"LineString"===e.geojson.type?(this.addPolyline(this.geocodeService.reverseCorrdinatesArray(this.getOsmSimpleLine?this.geocodeService.simplifyPolyline(e.geojson.coordinates):e.geojson.coordinates)),this.clearGeoResultsLayer()):this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!1,!0,t=>{let n;n=Array.isArray(t)?t[0]:t,this.osmPlace=e,this.bindLocationOutput([n,e])})}clearForm(){this.latlngFormGroup.controls.latInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.reset("",{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue("",{emitEvent:!1}),this.elevationFormGroup.reset("",{emitEvent:!1}),this.geoSearchFormGroup.controls.placeInput.setValue("",{emitEvent:!1})}clearGeoResultsLayer(){this.geoResultsLayer.clearLayers()}clearDrawnItemsLayer(){this.drawnItems.clearLayers()}resetLocation(){this._location={}}bindLocationOutput(t){let e,n,i;e=t[0],n=t[1],i=t[2];const s=this.drawnItems.toGeoJSON();if(this._location.geometry=s.features[0].geometry,this._location.elevation=e,this._location.localityConsistency=!!this._location.localityConsistency||null,this._location.locationAccuracy=this._location.locationAccuracy?0:null,this._location.inseeData=i,Object(Mp.isDefined)(n.address)&&(this._location.osmCountry=n.address.country,this._location.osmCountryCode=n.address.country_code,this._location.osmCounty=n.address.county,this._location.osmPostcode=n.address.postcode,n.address.city&&(this._location.locality=n.address.city),n.address.town&&(this._location.locality=n.address.town),n.address.village&&(this._location.locality=n.address.village),this._location.sublocality=n.hamlet,this._location.osmRoad=n.address.road,this._location.osmState=n.address.state,this._location.osmSuburb=n.address.suburb,this._location.osmId=n.osm_id,this._location.osmNeighbourhood=null,this._location.osmPlaceId=n.place_id,this._location.publishedLocation=null,this._location.station=null),Object(Mp.isDefined)(n.results)){const t=n.results[0].locations[0];this._location.osmCountry=t.adminArea1,this._location.osmCountryCode=t.adminArea1,this._location.osmCounty=t.adminArea4,this._location.osmPostcode=t.postalCode,this._location.locality=t.adminArea5,this._location.sublocality=null,this._location.osmRoad=t.street,this._location.osmState=t.adminArea3,this._location.osmSuburb=null,this._location.osmId=null,this._location.osmNeighbourhood=t.adminArea6,this._location.osmPlaceId=null,this._location.publishedLocation=null,this._location.station=null}this.location.next(this._location)}setLatLngInputFormat(t){"decimal"!==t&&"dms"!==t||(this.coordFormat=t)}gpsMarkerSetValues(t,e,n){this.latlngFormGroup.controls.latInput.setValue(t),this.latlngFormGroup.controls.lngInput.setValue(e),this.elevationFormGroup.controls.elevationInput.setValue(n,{emitEvent:!1}),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!0,!1),this.geolocatedPhotoLatLngLayer.clearLayers()}resetComponent(){this.clearForm(),this.resetLocation(),this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.map.flyTo({lat:this.latLngInit[0],lng:this.latLngInit[1]},this.zoomInit,{animate:!1})}_patchAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!1})}_patchElevation(t){this.elevationFormGroup.controls.elevationInput.setValue(t,{emitEvent:!1})}_patchLatLngDec(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg())}_drawMarker(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg()),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues()}_patchGeometry(t){this.clearDrawnItemsLayer();for(const e of t){if("point"===e.type.toLowerCase()){const n=Object(jd.latLng)(e.coordinates[0],e.coordinates[1]);let i;1===t.length?i=Gm(e.coordinates[0],e.coordinates[1],()=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}):t.length>1&&(i=new jd.Marker(n,{icon:$m()})),i.addTo(this.drawnItems)}if("linestring"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polyline(t).addTo(this.drawnItems)}if("polygon"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polygon(t).addTo(this.drawnItems)}}this.setMapEditMode(),this.flyToDrawnItems()}}class tf{constructor(t){this.geocodeService=t}transform(t,e){return this.geocodeService.getReadbleAddress(t,e)}}class ef{}function nf(t){switch(t.length){case 0:return new fa;case 1:return t[0];default:return new _a(t)}}function sf(t,e,n,i,s={},o={}){const r=[],a=[];let l=-1,h=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&h||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,r),a){case ga:a=s[n];break;case ca:a=o[n];break;default:a=e.normalizeStyleValue(n,i,a,r)}u[i]=a}),i||a.push(u),h=u,l=n}),r.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${r.join(t)}`)}return a}function of(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&rf(n,"start",t)));break;case"done":t.onDone(()=>i(n&&rf(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&rf(n,"destroy",t)))}}function rf(t,e,n){const i=n.totalTime,s=af(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==i?t.totalTime:i,!!n.disabled),o=t._data;return null!=o&&(s._data=o),s}function af(t,e,n,i,s="",o=0,r){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:s,totalTime:o,disabled:!!r}}function lf(t,e,n){let i;return t instanceof Map?(i=t.get(e))||t.set(e,i=n):(i=t[e])||(i=t[e]=n),i}function hf(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let uf=(t,e)=>!1,cf=(t,e)=>!1,df=(t,e,n)=>[];if("undefined"!=typeof Element){if(uf=((t,e)=>t.contains(e)),Element.prototype.matches)cf=((t,e)=>t.matches(e));else{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;e&&(cf=((t,n)=>e.apply(t,[n])))}df=((t,e,n)=>{let i=[];if(n)i.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&i.push(n)}return i})}let pf=null,mf=!1;function ff(t){pf||(pf=_f()||{},mf=!!pf.style&&"WebkitAppearance"in pf.style);let e=!0;return pf.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in pf.style)&&mf&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in pf.style),e}function _f(){return"undefined"!=typeof document?document.body:null}const gf=cf,yf=uf,vf=df;function bf(t){const e={};return Object.keys(t).forEach(n=>{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}class wf{}wf.NOOP=new class{validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,s,o=[],r){return new fa(n,i)}};const xf=1e3,Ef="{{",Cf="ng-enter",Lf="ng-leave",kf="ng-trigger",Sf=".ng-trigger",Tf="ng-animating",If=".ng-animating";function Pf(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Mf(parseFloat(e[1]),e[2])}function Mf(t,e){switch(e){case"s":return t*xf;default:return t}}function Df(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,s=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Mf(parseFloat(n[1]),n[2]);const r=n[3];null!=r&&(s=Mf(Math.floor(parseFloat(r)),n[4]));const a=n[5];a&&(o=a)}else i=t;if(!n){let n=!1,o=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:s,easing:o}}(t,e,n)}function Af(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function Of(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Af(t,n);return n}function Rf(t,e){t.style&&Object.keys(e).forEach(n=>{const i=Zf(n);t.style[i]=e[n]})}function Nf(t,e){t.style&&Object.keys(e).forEach(e=>{const n=Zf(e);t.style[n]=""})}function Ff(t){return Array.isArray(t)?1==t.length?t[0]:da(t):t}const zf=new RegExp(`${Ef}\\s*(.+?)\\s*}}`,"g");function Vf(t){let e=[];if("string"==typeof t){const n=t.toString();let i;for(;i=zf.exec(n);)e.push(i[1]);zf.lastIndex=0}return e}function Bf(t,e,n){const i=t.toString(),s=i.replace(zf,(t,i)=>{let s=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),s=""),s.toString()});return s==i?t:s}function jf(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Hf=/-+([a-z0-9])/g;function Zf(t){return t.replace(Hf,(...t)=>t[1].toUpperCase())}function Uf(t,e){return 0===t||0===e}function Gf(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let o=e[0],r=[];if(i.forEach(t=>{o.hasOwnProperty(t)||r.push(t),o[t]=n[t]}),r.length)for(var s=1;s<e.length;s++){let n=e[s];r.forEach(function(e){n[e]=qf(t,e)})}}return e}function $f(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function qf(t,e){return window.getComputedStyle(t)[e]}const Wf="*",Kf=new Set(["true","1"]),Yf=new Set(["false","0"]);function Qf(t,e){const n=Kf.has(t)||Yf.has(t),i=Kf.has(e)||Yf.has(e);return(s,o)=>{let r=t==Wf||t==s,a=e==Wf||e==o;return!r&&n&&"boolean"==typeof s&&(r=s?Kf.has(t):Yf.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Kf.has(e):Yf.has(e)),r&&a}}const Xf=":self",Jf=new RegExp(`s*${Xf}s*,?`,"g");function t_(t,e,n){return new n_(t).build(e,n)}const e_="";class n_{constructor(t){this._driver=t}build(t,e){const n=new i_(e);return this._resetContextStyleTimingState(n),$f(this,Ff(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector=e_,t.collectedStyles={},t.collectedStyles[e_]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const s=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,s.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const s=this.visitTransition(t,e);n+=s.queryCount,i+=s.depCount,o.push(s)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:o,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const s=new Set,o=i||{};if(n.styles.forEach(t=>{if(s_(t)){const e=t;Object.keys(e).forEach(t=>{Vf(e[t]).forEach(t=>{o.hasOwnProperty(t)||s.add(t)})})}}),s.size){const n=jf(s.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=$f(this,Ff(t.animation),e);return{type:1,matchers:function(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>(function(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const s=i[1],o=i[2],r=i[3];e.push(Qf(s,r)),"<"!=o[0]||s==Wf&&r==Wf||e.push(Qf(r,s))})(t,n,e)):n.push(t),n}(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:o_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>$f(this,t,e)),options:o_(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const s=t.steps.map(t=>{e.currentTime=n;const s=$f(this,t,e);return i=Math.max(i,e.currentTime),s});return e.currentTime=i,{type:3,steps:s,options:o_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return r_(Df(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=r_(0,0,"");return t.dynamic=!0,t.strValue=i,t}return r_((n=n||Df(i,e)).duration,n.delay,n.easing)}(t.timings,e.errors);let i;e.currentAnimateTimings=n;let s=t.styles?t.styles:pa({});if(5==s.type)i=this.visitKeyframes(s,e);else{let s=t.styles,o=!1;if(!s){o=!0;const t={};n.easing&&(t.easing=n.easing),s=pa(t)}e.currentTime+=n.duration+n.delay;const r=this.visitStyle(s,e);r.isEmptyStep=o,i=r}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==ca?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,s=null;return n.forEach(t=>{if(s_(t)){const e=t,n=e.easing;if(n&&(s=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf(Ef)>=0){i=!0;break}}}),{type:6,styles:n,easing:s,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,s=e.currentTime;n&&s>0&&(s-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],r=o[n];let a=!0;r&&(s!=i&&s>=r.startTime&&i<=r.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${r.startTime}ms" and "${r.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${i}ms"`),a=!1),s=r.startTime),a&&(o[n]={startTime:s,endTime:i}),e.options&&function(i,s,o){const r=e.options.params||{},a=Vf(t[n]);a.length&&a.forEach(t=>{r.hasOwnProperty(t)||o.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(0,0,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const s=[];let o=!1,r=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),h=0;return null!=l&&(i++,h=n.offset=l),r=r||h<0||h>1,o=o||h<a,a=h,s.push(h),n});r&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const h=t.steps.length;let u=0;i>0&&i<h?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==i&&(u=1/(h-1));const c=h-1,d=e.currentTime,p=e.currentAnimateTimings,m=p.duration;return l.forEach((t,i)=>{const o=u>0?i==c?1:u*i:s[i],r=o*m;e.currentTime=d+p.delay+r,p.duration=r,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:$f(this,Ff(t.animation),e),options:o_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:o_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:o_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[s,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>t==Xf);return e&&(t=t.replace(Jf,"")),[t=t.replace(/@\*/g,Sf).replace(/@\w+/g,t=>Sf+"-"+t.substr(1)).replace(/:animating/g,If),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+s:s,lf(e.collectedStyles,e.currentQuerySelector,{});const r=$f(this,Ff(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:r,originalSelector:t.selector,options:o_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Df(t.timings,e.errors,!0);return{type:12,animation:$f(this,Ff(t.animation),e),timings:n,options:null}}}class i_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function s_(t){return!Array.isArray(t)&&"object"==typeof t}function o_(t){return t?(t=Af(t)).params&&(t.params=function(t){return t?Af(t):null}(t.params)):t={},t}function r_(t,e,n){return{duration:t,delay:e,easing:n}}function a_(t,e,n,i,s,o,r=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:s,delay:o,totalTime:s+o,easing:r,subTimeline:a}}class l_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const h_=1,u_=new RegExp(":enter","g"),c_=new RegExp(":leave","g");function d_(t,e,n,i,s,o={},r={},a,l,h=[]){return(new p_).buildKeyframes(t,e,n,i,s,o,r,a,l,h)}class p_{buildKeyframes(t,e,n,i,s,o,r,a,l,h=[]){l=l||new l_;const u=new f_(t,e,l,i,s,h,[]);u.options=a,u.currentTimeline.setStyles([o],null,u.errors,a),$f(this,n,u);const c=u.timelines.filter(t=>t.containsAnimation());if(c.length&&Object.keys(r).length){const t=c[c.length-1];t.allowOnlyTimelineStyles()||t.setStyles([r],null,u.errors,a)}return c.length?c.map(t=>t.buildKeyframes()):[a_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),s=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);s!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const s=null!=n.duration?Pf(n.duration):null,o=null!=n.delay?Pf(n.delay):null;return 0!==s&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,s,o);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),$f(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const s=t.options;if(s&&(s.params||s.delay)&&((i=e.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=m_);const t=Pf(s.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>$f(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?Pf(t.options.delay):0;t.steps.forEach(o=>{const r=e.createSubContext(t.options);s&&r.delayNextStep(s),$f(this,o,r),i=Math.max(i,r.currentTimeline.currentTime),n.push(r.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Df(e.params?Bf(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(n.duration),this.visitStyle(s,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(s):n.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,s=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*s),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(i+s),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},s=i.delay?Pf(i.delay):0;s&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=m_);let o=n;const r=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=r.length;let a=null;r.forEach((n,i)=>{e.currentQueryIndex=i;const r=e.createSubContext(t.options,n);s&&r.delayNextStep(s),n===e.element&&(a=r.currentTimeline),$f(this,t.animation,r),r.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,r.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,s=t.timings,o=Math.abs(s.duration),r=o*(e.currentQueryTotal-1);let a=o*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=r-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const h=l.currentTime;$f(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-h+(i.startTime-n.currentTimeline.startTime)}}const m_={};class f_{constructor(t,e,n,i,s,o,r,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=r,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=m_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new __(this._driver,e,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=Pf(n.duration)),null!=n.delay&&(i.delay=Pf(n.delay));const s=n.params;if(s){let t=i.params;t||(t=this.options.params={}),Object.keys(s).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Bf(s[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,s=new f_(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=m_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},s=new g_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,s,o){let r=[];if(i&&r.push(this.element),t.length>0){t=(t=t.replace(u_,"."+this._enterClassName)).replace(c_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),r.push(...e)}return s||0!=r.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),r}}class __{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new __(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=h_,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||ca,this._currentKeyframe[t]=ca}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const s=i&&i.params||{},o=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e)).forEach(t=>{n[t]=ca}):Of(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Bf(o[t],s,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:ca),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((s,o)=>{const r=Of(s,!0);Object.keys(r).forEach(n=>{const i=r[n];i==ga?t.add(n):i==ca&&e.add(n)}),n||(r.offset=o/this.duration),i.push(r)});const s=t.size?jf(t.values()):[],o=e.size?jf(e.values()):[];if(n){const t=i[0],e=Af(t);t.offset=0,e.offset=1,i=[t,e]}return a_(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class g_ extends __{constructor(t,e,n,i,s,o,r=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=r,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],o=n+e,r=e/o,a=Of(t[0],!1);a.offset=0,s.push(a);const l=Of(t[0],!1);l.offset=y_(r),s.push(l);const h=t.length-1;for(let i=1;i<=h;i++){let r=Of(t[i],!1);r.offset=y_((e+r.offset*n)/o),s.push(r)}n=o,e=0,i="",t=s}return a_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function y_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class v_{}class b_ extends v_{normalizePropertyName(t,e){return Zf(t)}normalizeStyleValue(t,e,n,i){let s="";const o=n.toString().trim();if(w_[e]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+s}}const w_=function(t){const e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(t=>e[t]=!0),e}();function x_(t,e,n,i,s,o,r,a,l,h,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:s,fromState:n,fromStyles:o,toState:i,toStyles:r,timelines:a,queriedElements:l,preStyleProps:h,postStyleProps:u,totalTime:c,errors:d}}const E_={};class C_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,s){return t.some(t=>t(e,n,i,s))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],s=this._stateStyles[t],o=i?i.buildStyles(e,n):{};return s?s.buildStyles(e,n):o}build(t,e,n,i,s,o,r,a,l){const h=[],u=this.ast.options&&this.ast.options.params||E_,c=this.buildStyles(n,r&&r.params||E_,h),d=a&&a.params||E_,p=this.buildStyles(i,d,h),m=new Set,f=new Map,_=new Map,g="void"===i,y={params:Object.assign({},u,d)},v=d_(t,e,this.ast.animation,s,o,c,p,y,l,h);let b=0;if(v.forEach(t=>{b=Math.max(t.duration+t.delay,b)}),h.length)return x_(e,this._triggerName,n,i,g,c,p,[],[],f,_,b,h);v.forEach(t=>{const n=t.element,i=lf(f,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const s=lf(_,n,{});t.postStyleProps.forEach(t=>s[t]=!0),n!==e&&m.add(n)});const w=jf(m.values());return x_(e,this._triggerName,n,i,g,c,p,v,w,f,_,b)}}class L_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},i=Af(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const s=t;Object.keys(s).forEach(t=>{let o=s[t];o.length>1&&(o=Bf(o,i,e)),n[t]=o})}}),n}}class k_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new L_(t.style,t.options&&t.options.params||{})}),S_(this.states,"true","1"),S_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new C_(t,e,this.states))}),this.fallbackTransition=function(e,n){return new C_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},n)}(0,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(s=>s.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function S_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const T_=new l_;class I_{constructor(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=t_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,s=sf(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],s=this._animations[t];let o;const r=new Map;if(s?(o=d_(this._driver,e,s,Cf,Lf,{},{},n,T_,i)).forEach(t=>{const e=lf(r,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)}):(i.push("The requested animation doesn't exist or has already been destroyed"),o=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);r.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,ca)})});const a=nf(o.map(t=>{const e=r.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const s=af(e,"","","");return of(this._getPlayer(t),n,s,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const s=this._getPlayer(t);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const P_="ng-animate-queued",M_=".ng-animate-queued",D_="ng-animate-disabled",A_=".ng-animate-disabled",O_="ng-star-inserted",R_=".ng-star-inserted",N_=[],F_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},z_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},V_="__ng_removed";class B_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Af(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const j_="void",H_=new B_(j_),Z_=new B_("DELETED");class U_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,X_(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=n&&"done"!=n)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const s=lf(this._elementListeners,t,[]),o={name:e,phase:n,callback:i};s.push(o);const r=lf(this._engine.statesByElement,t,{});return r.hasOwnProperty(e)||(X_(t,kf),X_(t,kf+"-"+e),r[e]=H_),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete r[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const s=this._getTrigger(e),o=new $_(this.id,e,t);let r=this._engine.statesByElement.get(t);r||(X_(t,kf),X_(t,kf+"-"+e),this._engine.statesByElement.set(t,r={}));let a=r[e];const l=new B_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),r[e]=l,a){if(a===Z_)return o}else a=H_;if(l.value!==j_&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let s=0;s<n.length;s++){const i=n[s];if(!e.hasOwnProperty(i)||t[i]!==e[i])return!1}return!0}(a.params,l.params)){const e=[],n=s.matchStyles(a.value,a.params,e),i=s.matchStyles(l.value,l.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{Nf(t,n),Rf(t,i)})}return}const h=lf(this._engine.playersByElement,t,[]);h.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=s.matchTransition(a.value,l.value,t,l.params),c=!1;if(!u){if(!i)return;u=s.fallbackTransition,c=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:o,isFallbackTransition:c}),c||(X_(t,P_),o.onStart(()=>{J_(t,P_)})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),h.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,Sf,!0).forEach(t=>{if(t[V_])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,i){const s=this._engine.statesByElement.get(t);if(s){const o=[];if(Object.keys(s).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,j_,i);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&nf(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const i=e.name;if(n.has(i))return;n.add(i);const s=this._triggers[i].fallbackTransition,o=this._engine.statesByElement.get(t)[i]||H_,r=new B_(j_),a=new $_(this.id,i,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:i,transition:s,fromState:o,toState:r,player:a,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}this.prepareLeaveAnimationListeners(t),i?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){X_(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const s=n.element,o=this._elementListeners.get(s);o&&o.forEach(e=>{if(e.name==n.triggerName){const i=af(s,n.triggerName,n.fromState.value,n.toState.value);i._data=t,of(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),!!this._queue.find(e=>e.element===t)||e}}class G_{constructor(t,e){this.driver=t,this._normalizer=e,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=((t,e)=>{})}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new U_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,e)){this._namespaceList.splice(s+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i<t.length;i++){const s=n[t[i]].namespaceId;if(s){const t=this._fetchNamespace(s);t&&e.add(t)}}}return e}trigger(t,e,n,i){if(q_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,n,i),!0}return!1}insertNode(t,e,n,i){if(!q_(e))return;const s=e[V_];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),X_(t,D_)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),J_(t,D_))}removeNode(t,e,n){if(!q_(e))return void this._onRemovalComplete(e,n);const i=t?this._fetchNamespace(t):null;i?i.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[V_]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,s){return q_(e)?this._fetchNamespace(t).listen(e,n,i,s):()=>{}}_buildInstruction(t,e,n,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e)}destroyInnerAnimations(t){let e=this.driver.query(t,Sf,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,If,!0)).forEach(t=>this.finishActiveQueriedAnimationOnElement(t))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()});const n=this.statesByElement.get(t);n&&Object.keys(n).forEach(t=>n[t]=Z_)}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return nf(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[V_];if(e&&e.setForRemoval){if(t[V_]=F_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,A_)&&this.markElementAsDisabled(t,!1),this.driver.query(t,A_,!0).forEach(e=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)X_(this.collectedEnterElements[n],O_);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?nf(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new l_,i=[],s=new Map,o=[],r=new Map,a=new Map,l=new Map,h=new Set;this.disabledNodes.forEach(t=>{h.add(t);const e=this.driver.query(t,M_,!0);for(let n=0;n<e.length;n++)h.add(e[n])});const u=_f(),c=Array.from(this.statesByElement.keys()),d=Y_(c,this.collectedEnterElements),p=new Map;let m=0;d.forEach((t,e)=>{const n=Cf+m++;p.set(e,n),t.forEach(t=>X_(t,n))});const f=[],_=new Set,g=new Set;for(let P=0;P<this.collectedLeaveElements.length;P++){const t=this.collectedLeaveElements[P],e=t[V_];e&&e.setForRemoval&&(f.push(t),_.add(t),e.hasAnimation?this.driver.query(t,R_,!0).forEach(t=>_.add(t)):g.add(t))}const y=new Map,v=Y_(c,Array.from(_));v.forEach((t,e)=>{const n=Lf+m++;y.set(e,n),t.forEach(t=>X_(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>J_(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>J_(t,n))}),f.forEach(t=>{this.processLeaveNode(t)})});const b=[],w=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(t=>{const e=t.player,s=t.element;if(b.push(e),this.collectedEnterElements.length){const t=s[V_];if(t&&t.setForMove)return void e.destroy()}if(!u||!this.driver.containsElement(u,s))return void e.destroy();const h=y.get(s),c=p.get(s),d=this._buildInstruction(t,n,c,h);if(!d.errors||!d.errors.length)return t.isFallbackTransition?(e.onStart(()=>Nf(s,d.fromStyles)),e.onDestroy(()=>Rf(s,d.toStyles)),void i.push(e)):(d.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(s,d.timelines),o.push({instruction:d,player:e,element:s}),d.queriedElements.forEach(t=>lf(r,t,[]).push(e)),d.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void d.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))}));w.push(d)});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),b.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,E=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(E.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{lf(x,e,[]).push(t),t.destroy()})});const C=f.filter(t=>eg(t,a,l)),L=new Map;K_(L,this.driver,g,l,ca).forEach(t=>{eg(t,a,l)&&C.push(t)});const k=new Map;d.forEach((t,e)=>{K_(k,this.driver,new Set(t),a,ga)}),C.forEach(t=>{const e=L.get(t),n=k.get(t);L.set(t,Object.assign({},e,n))});const S=[],T=[],I={};o.forEach(t=>{const{element:e,player:o,instruction:r}=t;if(n.has(e)){if(h.has(e))return o.onDestroy(()=>Rf(e,r.toStyles)),o.disabled=!0,o.overrideTotalTime(r.totalTime),void i.push(o);let t=I;if(E.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=E.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>E.set(e,t))}const n=this._buildAnimation(o.namespaceId,r,x,s,k,L);if(o.setRealPlayer(n),t===I)S.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=nf(e)),i.push(o)}}else Nf(e,r.fromStyles),o.onDestroy(()=>Rf(e,r.toStyles)),T.push(o),h.has(e)&&i.push(o)}),T.forEach(t=>{const e=s.get(t.element);if(e&&e.length){const n=nf(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let P=0;P<f.length;P++){const t=f[P],e=t[V_];if(J_(t,Lf),e&&e.hasAnimation)continue;let n=[];if(r.size){let e=r.get(t);e&&e.length&&n.push(...e);let i=this.driver.query(t,If,!0);for(let t=0;t<i.length;t++){let e=r.get(i[t]);e&&e.length&&n.push(...e)}}const i=n.filter(t=>!t.destroyed);i.length?tg(this,t,i):this.processLeaveNode(t)}return f.length=0,S.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),S}elementContainsData(t,e){let n=!1;const i=e[V_];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,s){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!s||s==j_;e.forEach(e=>{e.queued||(t||e.triggerName==i)&&o.push(e)})}}return(n||i)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const i=e.element,s=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const r of e.timelines){const t=r.element,a=t!==i,l=lf(n,t,[]);this._getPreviousPlayers(t,a,s,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Nf(i,e.fromStyles)}_buildAnimation(t,e,n,i,s,o){const r=e.triggerName,a=e.element,l=[],h=new Set,u=new Set,c=e.timelines.map(e=>{const c=e.element;h.add(c);const d=c[V_];if(d&&d.removedBeforeQueried)return new fa(e.duration,e.delay);const p=c!==a,m=function(t){const e=[];return function t(e,n){for(let i=0;i<e.length;i++){const s=e[i];s instanceof _a?t(s.players,n):n.push(s)}}((n.get(c)||N_).map(t=>t.getRealPlayer()),e),e}().filter(t=>!!t.element&&t.element===c),f=s.get(c),_=o.get(c),g=sf(0,this._normalizer,0,e.keyframes,f,_),y=this._buildPlayer(e,g,m);if(e.subTimeline&&i&&u.add(c),p){const e=new $_(t,r,c);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{lf(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>(function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e)){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e]){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i})(this.playersByQueriedElement,t.element,t))}),h.forEach(t=>X_(t,Tf));const d=nf(c);return d.onDestroy(()=>{h.forEach(t=>J_(t,Tf)),Rf(a,e.toStyles)}),u.forEach(t=>{lf(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new fa(t.duration,t.delay)}}class $_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new fa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>of(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){lf(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function q_(t){return t&&1===t.nodeType}function W_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function K_(t,e,n,i,s){const o=[];n.forEach(t=>o.push(W_(t)));const r=[];i.forEach((n,i)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(i,t,s);n&&0!=n.length||(i[V_]=z_,r.push(i))}),t.set(i,o)});let a=0;return n.forEach(t=>W_(t,o[a++])),r}function Y_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),s=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=s.get(e);if(o)return o;const r=e.parentNode;return o=n.has(r)?r:i.has(r)?1:t(r),s.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}const Q_="$$classes";function X_(t,e){if(t.classList)t.classList.add(e);else{let n=t[Q_];n||(n=t[Q_]={}),n[e]=!0}}function J_(t,e){if(t.classList)t.classList.remove(e);else{let n=t[Q_];n&&delete n[e]}}function tg(t,e,n){nf(n).onDone(()=>t.processLeaveNode(e))}function eg(t,e,n){const i=n.get(t);if(!i)return!1;let s=e.get(t);return s?i.forEach(t=>s.add(t)):e.set(t,i),n.delete(t),!0}class ng{constructor(t,e){this._driver=t,this._triggerCache={},this.onRemovalComplete=((t,e)=>{}),this._transitionEngine=new G_(t,e),this._timelineEngine=new I_(t,e),this._transitionEngine.onRemovalComplete=((t,e)=>this.onRemovalComplete(t,e))}registerTrigger(t,e,n,i,s){const o=t+"-"+i;let r=this._triggerCache[o];if(!r){const t=[],e=t_(this._driver,s,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);r=function(t,e){return new k_(t,e)}(i,e),this._triggerCache[o]=r}this._transitionEngine.registerTrigger(e,i,r)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,s]=hf(n);this._timelineEngine.command(t,e,s,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,s){if("@"==n.charAt(0)){const[t,i]=hf(n);return this._timelineEngine.listen(t,e,i,s)}return this._transitionEngine.listen(t,e,n,i,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}const ig=3,sg="animation",og="animationend",rg=1e3;class ag{constructor(t,e,n,i,s,o,r){this._element=t,this._name=e,this._duration=n,this._delay=i,this._easing=s,this._fillMode=o,this._onDoneFn=r,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=(t=>this._handleCallback(t))}apply(){!function(t,e){const n=pg(t,"").trim();n.length&&(function(t,e){let n=0;for(let i=0;i<t.length;i++)","===t.charAt(i)&&n++}(n),e=`${n}, ${e}`),dg(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),cg(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){lg(this._element,this._name,"paused")}resume(){lg(this._element,this._name,"running")}setPosition(t){const e=hg(this._element,this._name);this._position=t*this._duration,dg(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=parseFloat(t.elapsedTime.toFixed(ig))*rg;t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),cg(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=pg(t,"").split(","),i=ug(n,e);i>=0&&(n.splice(i,1),dg(t,"",n.join(",")))}(this._element,this._name))}}function lg(t,e,n){dg(t,"PlayState",n,hg(t,e))}function hg(t,e){const n=pg(t,"");return n.indexOf(",")>0?ug(n.split(","),e):ug([n],e)}function ug(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function cg(t,e,n){n?t.removeEventListener(og,e):t.addEventListener(og,e)}function dg(t,e,n,i){const s=sg+e;if(null!=i){const e=t.style[s];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[s]=n}function pg(t,e){return t.style[sg+e]}const mg="forwards",fg="linear",_g=function(){var t={INITIALIZED:1,STARTED:2,FINISHED:3,DESTROYED:4};return t[t.INITIALIZED]="INITIALIZED",t[t.STARTED]="STARTED",t[t.FINISHED]="FINISHED",t[t.DESTROYED]="DESTROYED",t}();class gg{constructor(t,e,n,i,s,o,r){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=s,this._finalStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this.state=0,this.easing=o||fg,this.totalTime=i+s,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this.state>=_g.DESTROYED||(this.state=_g.DESTROYED,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this.state>=_g.FINISHED||(this.state=_g.FINISHED,this._styler.finish(),this._flushStartFns(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this.state>=_g.STARTED}init(){this.state>=_g.INITIALIZED||(this.state=_g.INITIALIZED,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this.state=_g.STARTED),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new ag(this.element,this.animationName,this._duration,this._delay,this.easing,mg,()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this.state>=_g.FINISHED;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:qf(this.element,n))})}this.currentSnapshot=t}}class yg extends fa{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=bf(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}const vg="gen_css_kf_",bg=" ";class wg{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){let i=`@keyframes ${e} {\n`,s="";(n=n.map(t=>bf(t))).forEach(t=>{s=bg;const e=parseFloat(t.offset);i+=`${s}${100*e}% {\n`,s+=bg,Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${s}animation-timing-function: ${n};\n`));default:return void(i+=`${s}${e}: ${n};\n`)}}),i+=`${s}}\n`}),i+="}\n";const o=document.createElement("style");return o.innerHTML=i,o}animate(t,e,n,i,s,o=[],r){r&&this._notifyFaultyScrubber();const a=o.filter(t=>t instanceof gg),l={};Uf(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=Gf(t,e,l));if(0==n)return new yg(t,h);const u=`${vg}${this._count++}`,c=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(c);const d=new gg(t,e,u,n,i,s,h);return d.onDestroy(()=>void c.parentNode.removeChild(c)),d}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class xg{constructor(t,e,n){this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:qf(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Eg{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Cg().toString()),this._cssKeyframesDriver=new wg}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,s,o=[],r){if(!r&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,s,o);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};s&&(a.easing=s);const l={},h=o.filter(t=>t instanceof xg);return Uf(n,i)&&h.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])}),e=Gf(t,e=e.map(t=>Of(t,!1)),l),new xg(t,e,a)}}function Cg(){return"undefined"!=typeof Element&&Element.prototype.animate||{}}class Lg extends ha{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:ee.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?da(t):t;return Tg(this._renderer,null,e,"register",[n]),new kg(e,this._renderer)}}class kg extends ua{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Sg(this._id,t,e||{},this._renderer)}}class Sg{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Tg(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function Tg(t,e,n,i,s){return t.setProperty(e,`@@${n}:${i}`,s)}const Ig="@",Pg="@.disabled";class Mg{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=((t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)})}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Dg("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,s=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,t),e.data.animation.forEach(e=>this.engine.registerTrigger(i,s,t,e.name,e)),new Ag(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class Dg{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t){return this.delegate.selectRootElement(t)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==Ig&&e==Pg?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Ag extends Dg{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==Ig?"."==e.charAt(1)&&e==Pg?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==Ig){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let s=e.substr(1),o="";return s.charAt(0)!=Ig&&([s,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class Og extends ng{constructor(t,e){super(t,e)}}function Rg(){return"function"==typeof Cg()?new Eg:new wg}function Ng(){return new b_}function Fg(t,e,n){return new Mg(t,e,n)}const zg=new rt("AnimationModuleType");class Vg{}class Bg{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}Bg.ngInjectableDef=ot({factory:function(){return new Bg},token:Bg,providedIn:"root"});const jg=new rt("mat-select-scroll-strategy");function Hg(t){return()=>t.scrollStrategies.reposition()}class Zg{}function Ug(t,e){return new x(e?n=>e.schedule(Gg,0,{error:t,subscriber:n}):e=>e.error(t))}function Gg({error:t,subscriber:e}){e.error(t)}class $g{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Jl(this.value);case"E":return Ug(this.error);case"C":return Xl()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new $g("N",t):$g.undefinedValueNotification}static createError(t){return new $g("E",void 0,t)}static createComplete(){return $g.completeNotification}}function qg(t,e=ph){const n=t instanceof Date&&!isNaN(+t)?+t-e.now():Math.abs(t);return t=>t.lift(new Wg(n,e))}$g.completeNotification=new $g("C"),$g.undefinedValueNotification=new $g("N",void 0);class Wg{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new Kg(t,this.delay,this.scheduler))}}class Kg extends y{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,s=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(s);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else e.active=!1}_schedule(t){this.active=!0,this.add(t.schedule(Kg.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new Yg(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification($g.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t)}_complete(){this.scheduleNotification($g.createComplete())}}class Yg{constructor(t,e){this.time=t,this.notification=e}}let Qg=0;class Xg{constructor(t,e){this.source=t,this.option=e}}const Jg=gd(class{}),ty=new rt("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});class ey extends Jg{constructor(t,e,n){super(),this._changeDetectorRef=t,this._elementRef=e,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new on,this.opened=new on,this.closed=new on,this._classList={},this.id=`mat-autocomplete-${Qg++}`,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=ya(t)}set classList(t){t&&t.length&&(t.split(" ").forEach(t=>this._classList[t.trim()]=!0),this._elementRef.nativeElement.className="")}ngAfterContentInit(){this._keyManager=new Hu(this.options).withWrap(),this._setVisibility()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._classList["mat-autocomplete-visible"]=this.showPanel,this._classList["mat-autocomplete-hidden"]=!this.showPanel,this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new Xg(this,t);this.optionSelected.emit(e)}}const ny=48,iy=256,sy=new rt("mat-autocomplete-scroll-strategy");function oy(t){return()=>t.scrollStrategies.reposition()}class ry{constructor(t,e,n,i,s,o,r,a,l,h){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=s,this._scrollStrategy=o,this._dir=r,this._formField=a,this._document=l,this._viewportRuler=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=f.EMPTY,this._closeKeyEventStream=new S,this._onChange=(()=>{}),this._onTouched=(()=>{}),this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=function(t){return new x(e=>{let n;try{n=t()}catch(t){return void e.error(t)}return(n?G(n):Xl()).subscribe(e)})}(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.asObservable().pipe(Th(1),Tp(()=>this.optionSelections)))}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=ya(t)}ngOnDestroy(){this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(vh(()=>this._overlayAttached)),this._closeKeyEventStream,this._outsideClickStream,this._overlayRef?this._overlayRef.detachments().pipe(vh(()=>this._overlayAttached)):Jl()).pipe(j(t=>t instanceof Ad?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}get _outsideClickStream(){return this._document?Q(lh(this._document,"click"),lh(this._document,"touchend")).pipe(vh(t=>{const e=t.target,n=this._formField?this._formField._elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)})):Jl(null)}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e===Ca&&t.preventDefault(),this.panelOpen&&(e===Ca||e===Sa&&t.altKey))this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation();else if(this.activeOption&&e===Ea&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=e===Sa||e===Ia;this.panelOpen||e===xa?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption()}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&document.activeElement===t.target&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this.openPanel())}_handleFocus(){this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0))}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_scrollToOption(){const t=this.autocomplete._keyManager.activeItemIndex||0,e=function(t,e,n,i){const s=t*e;return s<n?s:s+e>n+iy?Math.max(0,s-iy+e):n}(t+function(t,e,n){if(n.length){let i=e.toArray(),s=n.toArray(),o=0;for(let e=0;e<t+1;e++)i[e].group&&i[e].group===s[o]&&o++;return o}return 0}(t,this.autocomplete.options,this.autocomplete.optionGroups),ny,this.autocomplete._getScrollTop());this.autocomplete._setScrollTop(e)}_subscribeToClosingActions(){return Q(this._zone.onStable.asObservable().pipe(Th(1)),this.autocomplete.options.changes.pipe(Iu(()=>this._positionStrategy.reapplyLastPosition()),qg(0))).pipe(Tp(()=>(this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&this._overlayRef.updatePosition(),this.panelClosingActions)),Th(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!=t&&e.selected&&e.deselect()})}_attachOverlay(){if(!this.autocomplete)throw Error("Attempting to open an undefined instance of `mat-autocomplete`. Make sure that the id passed to the `matAutocomplete` is correct and that you're attempting to open it after the ngAfterContentInit hook.");this._overlayRef?this._overlayRef.updateSize({width:this._getPanelWidth()}):(this._portal=new Oh(this.autocomplete.template,this._viewContainerRef),this._overlayRef=this._overlay.create(this._getOverlayConfig()),this._viewportRuler&&(this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&this._overlayRef&&this._overlayRef.updateSize({width:this._getPanelWidth()})}))),this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const t=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&t!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new Vh({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir})}_getOverlayPosition(){return this._positionStrategy=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]),this._positionStrategy}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption?0:-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}}class ay{}let ly=0;const hy={},uy={setImmediate(t){const e=ly++;return hy[e]=t,e},clearImmediate(t){delete hy[t]}},cy=new class extends dh{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,s=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i<s&&(t=e.shift()));if(this.active=!1,n){for(;++i<s&&(t=e.shift());)t.unsubscribe();throw n}}}(class extends uh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=uy.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(uy.clearImmediate(e),t.scheduled=void 0)}}),dy=new rt("MAT_MENU_PANEL"),py=gd(fd(class{}));class my extends py{constructor(t,e,n,i){super(),this._elementRef=t,this._focusMonitor=n,this._parentMenu=i,this._hovered=new S,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.monitor(this._getHostElement(),!1),i&&i.addItem&&i.addItem(this),this._document=e}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._getHostElement()),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3;let n="";if(t.childNodes){const i=t.childNodes.length;for(let s=0;s<i;s++)t.childNodes[s].nodeType===e&&(n+=t.childNodes[s].textContent)}return n.trim()}}const fy=new rt("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!0,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}}),_y=2;class gy{constructor(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new S,this._tabSubscription=f.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new S,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new on,this.close=this.closed}get xPosition(){return this._xPosition}set xPosition(t){"before"!==t&&"after"!==t&&function(){throw Error('x-position value must be either \'before\' or after\'.\n Example: <mat-menu x-position="before" #menu="matMenu"></mat-menu>')}(),this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: <mat-menu y-position="above" #menu="matMenu"></mat-menu>')}(),this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=ya(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=ya(t)}set panelClass(t){t&&t.length&&(this._classList=t.split(" ").reduce((t,e)=>(t[e]=!0,t),{}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._keyManager=new Zu(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab"))}ngOnDestroy(){this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._itemChanges.pipe(th(this._items),Tp(t=>Q(...t.map(t=>t._hovered))))}_handleKeydown(t){const e=t.keyCode;switch(e){case Ca:this.closed.emit("keydown"),t.stopPropagation();break;case ka:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ta:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Sa&&e!==Ia||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>this._keyManager.setFocusOrigin(t).setFirstItemActive()):this._keyManager.setFocusOrigin(t).setFirstItemActive()}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${_y+t}`,n=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}addItem(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))}removeItem(t){const e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))}setPositionClasses(t=this.xPosition,e=this.yPosition){const n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}}const yy=new rt("mat-menu-scroll-strategy");function vy(t){return()=>t.scrollStrategies.reposition()}const by=8;class wy{constructor(t,e,n,i,s,o,r,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=s,this._menuItemInstance=o,this._dir=r,this._focusMonitor=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=f.EMPTY,this._hoverSubscription=f.EMPTY,this._openedByMouse=!1,this.menuOpened=new on,this.onMenuOpen=this.menuOpened,this.menuClosed=new on,this.onMenuClose=this.menuClosed,o&&(o._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}ngAfterContentInit(){this._checkMenu(),this.menu.close.subscribe(t=>{this._destroyMenu(),"click"!==t&&"tab"!==t||!this._parentMenu||this._parentMenu.closed.emit(t)}),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;const t=this._createOverlay();this._setPosition(t.getConfig().positionStrategy),t.attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof gy&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()}_destroyMenu(){if(!this._overlayRef||!this.menuOpen)return;const t=this.menu;this._closeSubscription.unsubscribe(),this._overlayRef.detach(),t instanceof gy?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(vh(t=>"void"===t.toState),Th(1),ql(t.lazyContent._attached)).subscribe(()=>t.lazyContent.detach(),void 0,()=>{this._resetMenu()}):this._resetMenu()):(this._resetMenu(),t.lazyContent&&t.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_resetMenu(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n <mat-menu #menu="matMenu"></mat-menu>\n <button [matMenuTriggerFor]="menu"></button>')}()}_createOverlay(){if(!this._overlayRef){this._portal=new Oh(this.menu.templateRef,this._viewContainerRef);const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef}_getOverlayConfig(){return new Vh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withTransformOriginOn(".mat-menu-panel"),hasBackdrop:null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,n]="before"===this.menu.xPosition?["end","start"]:["start","end"],[i,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[o,r]=[i,s],[a,l]=[e,n],h=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",n=a="end"===e?"start":"end",h="bottom"===i?by:-by):this.menu.overlapTrigger||(o="top"===i?"bottom":"top",r="top"===s?"bottom":"top"),t.withPositions([{originX:e,originY:o,overlayX:a,overlayY:i,offsetY:h},{originX:n,originY:o,overlayX:l,overlayY:i,offsetY:h},{originX:e,originY:r,overlayX:a,overlayY:s,offsetY:-h},{originX:n,originY:r,overlayX:l,overlayY:s,offsetY:-h}])}_cleanUpSubscriptions(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments();return Q(t,this._parentMenu?this._parentMenu.closed:Jl(),this._parentMenu?this._parentMenu._hovered().pipe(vh(t=>t!==this._menuItemInstance),vh(()=>this._menuOpen)):Jl(),e)}_handleMousedown(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;this.triggersSubmenu()&&(e===Ta&&"ltr"===this.dir||e===ka&&"rtl"===this.dir)&&this.openMenu()}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(vh(t=>t===this._menuItemInstance&&!t.disabled),qg(0,cy)).subscribe(()=>{this._openedByMouse=!0,this.menu instanceof gy&&this.menu._isAnimating?this.menu._animationDone.pipe(Th(1),ql(this._parentMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}}class xy{}let Ey=0;class Cy{constructor(){this.id=`mat-error-${Ey++}`}}class Ly{}function ky(t){return Error(`A hint was already declared for 'align="${t}"'.`)}class Sy{}class Ty{}let Iy=0;const Py=.75,My=5,Dy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ay=new rt("MAT_FORM_FIELD_DEFAULT_OPTIONS");class Oy extends Dy{constructor(t,e,n,i,s,o,r,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=i,this._defaultOptions=s,this._platform=o,this._ngZone=r,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId=`mat-hint-${Iy++}`,this._labelId=`mat-form-field-label-${Iy++}`,this._outlineGapWidth=0,this._outlineGapStart=0,this._initialGapCalculated=!1,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto",this._animationsEnabled="NoopAnimations"!==a}get appearance(){return this._appearance||this._defaultOptions&&this._defaultOptions.appearance||"legacy"}set appearance(t){t!==this._appearance&&"outline"===t&&(this._initialGapCalculated=!1),this._appearance=t}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=ya(t)}get _shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}get _canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${this._control.controlType}`),this._control.stateChanges.pipe(th(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),Q(this._control.ngControl&&this._control.ngControl.valueChanges||Ql,this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>this._changeDetectorRef.markForCheck()),this._hintChildren.changes.pipe(th(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(th(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()})}ngAfterContentChecked(){this._validateControlChild(),this._initialGapCalculated||(this._ngZone?this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.updateOutlineGap())}):Promise.resolve().then(()=>this.updateOutlineGap()))}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!!this._labelChild}_shouldLabelFloat(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,lh(this._label.nativeElement,"transitionend").pipe(Th(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){if(this._hintChildren){let t,e;this._hintChildren.forEach(n=>{if("start"===n.align){if(t||this.hintLabel)throw ky("start");t=n}else if("end"===n.align){if(e)throw ky("end");e=n}})}}_syncDescribedByIds(){if(this._control){let t=[];if("hint"===this._getDisplayedMessages()){let e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")}updateOutlineGap(){if("outline"===this.appearance&&this._label&&this._label.nativeElement.children.length){if(this._platform&&!this._platform.isBrowser)return void(this._initialGapCalculated=!0);if(!document.documentElement.contains(this._elementRef.nativeElement))return;const t=this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect()),e=this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());let n=0;for(const i of this._label.nativeElement.children)n+=i.offsetWidth;this._outlineGapStart=e-t-My,this._outlineGapWidth=n*Py+2*My}else this._outlineGapStart=0,this._outlineGapWidth=0;this._initialGapCalculated=!0,this._changeDetectorRef.markForCheck()}_getStartEnd(t){return this._dir&&"rtl"===this._dir.value?t.right:t.left}}class Ry{}const Ny=!!Bl()&&{passive:!0};class Fy{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Ql;const e=this._monitoredElements.get(t);if(e)return e.subject.asObservable();const n=new S,i="cdk-text-field-autofilled",s=e=>{"cdk-text-field-autofill-start"!==e.animationName||t.classList.contains(i)?"cdk-text-field-autofill-end"===e.animationName&&t.classList.contains(i)&&(t.classList.remove(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!1}))):(t.classList.add(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,Ny),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:n,unlisten:()=>{t.removeEventListener("animationstart",s,Ny)}}),n.asObservable()}stopMonitoring(t){const e=this._monitoredElements.get(t);e&&(e.unlisten(),e.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}Fy.ngInjectableDef=ot({factory:function(){return new Fy(te(Fl),te(rn))},token:Fy,providedIn:"root"});class zy{}const Vy=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let By=0;const jy=function(t){return class extends class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}}{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new S}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}();class Hy extends jy{constructor(t,e,n,i,s,o,r,a,l){super(o,i,s,n),this._elementRef=t,this._platform=e,this.ngControl=n,this._autofillMonitor=a,this._uid=`mat-input-${By++}`,this._isServer=!1,this.focused=!1,this.stateChanges=new S,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>Hl().has(t)),this._inputValueAccessor=r||this._elementRef.nativeElement,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{let e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=ya(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=ya(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Hl().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=ya(t)}ngOnInit(){this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()}focus(){this._elementRef.nativeElement.focus()}_focusChanged(t){t===this.focused||this.readonly||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){if(Vy.indexOf(this._type)>-1)throw function(t){return Error(`Input type "${t}" isn't supported by matInput.`)}(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}_isTextarea(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){return this.focused||!this.empty}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus()}}class Zy{}const Uy=100,Gy=10,$y=_d(class{constructor(t){this._elementRef=t}},"primary"),qy=new rt("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:Uy}}}),Wy="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class Ky extends $y{constructor(t,e,n,i,s){super(t),this._elementRef=t,this._document=n,this.animationMode=i,this.defaults=s,this._value=0,this._fallbackAnimation=!1,this._noopAnimations="NoopAnimations"===this.animationMode&&!!this.defaults&&!this.defaults._forceAnimations,this._diameter=Uy,this.mode="determinate",this._fallbackAnimation=e.EDGE||e.TRIDENT,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth)),t.nativeElement.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}get diameter(){return this._diameter}set diameter(t){this._diameter=va(t),this._fallbackAnimation||Ky.diameters.has(this._diameter)||this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=va(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,va(t)))}get _circleRadius(){return(this.diameter-Gy)/2}get _viewBox(){const t=2*this._circleRadius+this.strokeWidth;return`0 0 ${t} ${t}`}get _strokeCircumference(){return 2*Math.PI*this._circleRadius}get _strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null}get _circleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){let t=Ky.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),Ky.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),Ky.diameters.add(this.diameter)}_getAnimationText(){return Wy.replace(/START_VALUE/g,`${.95*this._strokeCircumference}`).replace(/END_VALUE/g,`${.2*this._strokeCircumference}`).replace(/DIAMETER/g,`${this.diameter}`)}}Ky.diameters=new Set([Uy]),Ky.styleTag=null;class Yy extends Ky{constructor(t,e,n,i,s){super(t,e,n,i,s),this.mode="indeterminate"}}class Qy{}const Xy=new rt("mat-chips-default-options");class Jy{}class tv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new ev(t,this.selector,this.caught))}}class ev extends B{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle(),this.add(V(this,e))}}}class nv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new iv(t,this.callback))}}class iv extends y{constructor(t,e){super(t),this.add(new f(e))}}function sv(t){return Error(`Unable to find icon with the name "${t}"`)}function ov(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL "+`via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rv(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by "+`Angular's DomSanitizer. Attempted literal was "${t}".`)}class av{constructor(t){t.nodeName?this.svgElement=t:this.url=t}}class lv{constructor(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e){return this.addSvgIconInNamespace("",t,e)}addSvgIconLiteral(t,e){return this.addSvgIconLiteralInNamespace("",t,e)}addSvgIconInNamespace(t,e,n){return this._addSvgIconConfig(t,e,new av(n))}addSvgIconLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(Oi.HTML,n);if(!i)throw rv(n);const s=this._createSvgElementForSingleIcon(i);return this._addSvgIconConfig(t,e,new av(s))}addSvgIconSet(t){return this.addSvgIconSetInNamespace("",t)}addSvgIconSetLiteral(t){return this.addSvgIconSetLiteralInNamespace("",t)}addSvgIconSetInNamespace(t,e){return this._addSvgIconSetConfig(t,new av(e))}addSvgIconSetLiteralInNamespace(t,e){const n=this._sanitizer.sanitize(Oi.HTML,e);if(!n)throw rv(e);const i=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new av(i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._cachedIconsByUrl.get(e);return n?Jl(hv(n)):this._loadSvgIconFromConfig(new av(t)).pipe(Iu(t=>this._cachedIconsByUrl.set(e,t)),j(t=>hv(t)))}getNamedSvgIcon(t,e=""){const n=uv(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);const s=this._iconSetConfigs.get(e);return s?this._getSvgFromIconSetConfigs(t,s):Ug(sv(n))}_getSvgFromConfig(t){return t.svgElement?Jl(hv(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Iu(e=>t.svgElement=e),j(t=>hv(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Jl(n):Dp(e.filter(t=>!t.svgElement).map(t=>this._loadSvgIconSetFromConfig(t).pipe(function(t){return function(e){const n=new tv(t),i=e.lift(n);return n.caught=i}}(e=>{const n=this._sanitizer.sanitize(Oi.RESOURCE_URL,t.url);return console.error(`Loading icon set URL: ${n} failed: ${e.message}`),Jl(null)})))).pipe(j(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw sv(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgElement){const e=this._extractSvgIconFromSet(i.svgElement,t);if(e)return e}}return null}_loadSvgIconFromConfig(t){return this._fetchUrl(t.url).pipe(j(t=>this._createSvgElementForSingleIcon(t)))}_loadSvgIconSetFromConfig(t){return t.svgElement?Jl(t.svgElement):this._fetchUrl(t.url).pipe(j(e=>(t.svgElement||(t.svgElement=this._svgElementFromString(e)),t.svgElement)))}_createSvgElementForSingleIcon(t){const e=this._svgElementFromString(t);return this._setSvgAttributes(e),e}_extractSvgIconFromSet(t,e){const n=t.querySelector("#"+e);if(!n)return null;const i=n.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i));const s=this._svgElementFromString("<svg></svg>");return s.appendChild(i),this._setSvgAttributes(s)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString("<svg></svg>");for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),t}_fetchUrl(t){if(!this._httpClient)throw Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.");if(null==t)throw Error(`Cannot fetch icon from URL "${t}".`);const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._inProgressUrlFetches.get(e);if(n)return n;const i=this._httpClient.get(e,{responseType:"text"}).pipe(function(t){return e=>e.lift(new nv(t))}(()=>this._inProgressUrlFetches.delete(e)),st());return this._inProgressUrlFetches.set(e,i),i}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(uv(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}}function hv(t){return t.cloneNode(!0)}function uv(t,e){return t+":"+e}lv.ngInjectableDef=ot({factory:function(){return new lv(te(sp,8),te(td),te(Ol,8))},token:lv,providedIn:"root"});const cv=_d(class{constructor(t){this._elementRef=t}});class dv extends cv{constructor(t,e,n){super(t),this._iconRegistry=e,this._inline=!1,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=ya(t)}get fontSet(){return this._fontSet}set fontSet(t){this._fontSet=this._cleanupFontValue(t)}get fontIcon(){return this._fontIcon}set fontIcon(t){this._fontIcon=this._cleanupFontValue(t)}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnChanges(t){if(t.svgIcon)if(this.svgIcon){const[t,e]=this._splitIconName(this.svgIcon);this._iconRegistry.getNamedSvgIcon(e,t).pipe(Th(1)).subscribe(t=>this._setSvgElement(t),t=>console.log(`Error retrieving icon: ${t.message}`))}else this._clearSvgElement();this._usingFontIcon()&&this._updateFontIconClasses()}ngOnInit(){this._usingFontIcon()&&this._updateFontIconClasses()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n<e.length;n++)e[n].textContent+=" ";this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(;e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||t.removeChild(n)}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();e!=this._previousFontSetClass&&(this._previousFontSetClass&&t.classList.remove(this._previousFontSetClass),e&&t.classList.add(e),this._previousFontSetClass=e),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}}class pv{}const mv="accent",fv="primary",_v=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],gv=_d(fd(gd(class{constructor(t){this._elementRef=t}})));class yv extends gv{constructor(t,e,n,i){super(t),this._platform=e,this._focusMonitor=n,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of _v)this._hasHostAttributes(s)&&t.nativeElement.classList.add(s);this._focusMonitor.monitor(this._elementRef.nativeElement,!0),this.isRoundButton?this.color=mv:this._hasHostAttributes("mat-flat-button")&&(this.color=fv)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}focus(){this._getHostElement().focus()}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}class vv{}class bv{}class wv{}class xv{constructor(t){this._viewContainer=t,xv.mostRecentCellOutlet=this}ngOnDestroy(){xv.mostRecentCellOutlet===this&&(xv.mostRecentCellOutlet=null)}}xv.mostRecentCellOutlet=null;class Ev{}class Cv{}var Lv=Ji({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function kv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Sv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Tv(t){return Go(2,[(t()(),Ts(0,0,null,null,5,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,kv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Sv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,"indeterminate"===e.component.mode),t(e,3,0,!0),t(e,5,0,!1)},function(t,e){var n=e.component;t(e,0,0,n.diameter,n.diameter,n._viewBox)})}var Iv=Ji({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media screen and (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Pv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null],[2,"_mat-animation-noopable",null]],null,null,Av,Dv)),go(1,49152,null,0,Sd,[[2,zg]],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===io(e,1).state,"checked"===io(e,1).state,io(e,1).disabled,"NoopAnimations"===io(e,1)._animationMode)})}function Mv(t){return Go(2,[(t()(),Ss(16777216,null,null,1,null,Pv)),go(1,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(5,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,io(e,5).unbounded)})}var Dv=Ji({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:7px;left:0;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:3px;left:1px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Av(t){return Go(2,[],null,null)}var Ov=Ji({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Rv(t){return Go(2,[Oo(402653184,1,{ripple:0}),(t()(),Ts(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(4,212992,[[1,4]],0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),Ts(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n.isRoundButton||n.isIconButton,io(e,4).unbounded)})}var Nv=Ji({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],data:{}});function Fv(t){return Go(2,[Vo(null,0)],null,null)}var zv=Ji({encapsulation:2,styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none}",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}",".mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],data:{animation:[{type:7,name:"transitionMessages",definitions:[{type:0,name:"enter",styles:{type:6,styles:{opacity:1,transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:[{type:6,styles:{opacity:0,transform:"translateY(-100%)"},offset:null},{type:4,styles:null,timings:"300ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Vv(t){return Go(0,[(t()(),Ts(0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),Ts(1,0,null,null,3,"div",[["class","mat-form-field-outline"]],null,null,null,null,null)),(t()(),Ts(2,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(3,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,3,"div",[["class","mat-form-field-outline mat-form-field-outline-thick"]],null,null,null,null,null)),(t()(),Ts(6,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(7,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(8,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null))],null,function(t,e){var n=e.component;t(e,2,0,n._outlineGapStart),t(e,3,0,n._outlineGapWidth),t(e,6,0,n._outlineGapStart),t(e,7,0,n._outlineGapWidth)})}function Bv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-prefix"]],null,null,null,null,null)),Vo(null,0)],null,null)}function jv(t){return Go(0,[(t()(),Ts(0,0,null,null,2,null,null,null,null,null,null,null)),Vo(null,2),(t()(),Ho(2,null,["",""]))],null,function(t,e){t(e,2,0,e.component._control.placeholder)})}function Hv(t){return Go(0,[Vo(null,3),(t()(),Ss(0,null,null,0))],null,null)}function Zv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"span",[["aria-hidden","true"],["class","mat-placeholder-required mat-form-field-required-marker"]],null,null,null,null,null)),(t()(),Ho(-1,null,["\xa0*"]))],null,null)}function Uv(t){return Go(0,[(t()(),Ts(0,0,[[4,0],["label",1]],null,7,"label",[["class","mat-form-field-label"]],[[8,"id",0],[1,"for",0],[1,"aria-owns",0],[2,"mat-empty",null],[2,"mat-form-field-empty",null],[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,jv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Hv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Zv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,n._hasLabel()),t(e,3,0,!1),t(e,5,0,!0),t(e,7,0,!n.hideRequiredMarker&&n._control.required&&!n._control.disabled)},function(t,e){var n=e.component;t(e,0,0,n._labelId,n._control.id,n._control.id,n._control.empty&&!n._shouldAlwaysFloat,n._control.empty&&!n._shouldAlwaysFloat,"accent"==n.color,"warn"==n.color)})}function Gv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-suffix"]],null,null,null,null,null)),Vo(null,4)],null,null)}function $v(t){return Go(0,[(t()(),Ts(0,0,[[1,0],["underline",1]],null,1,"div",[["class","mat-form-field-underline"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,0,"span",[["class","mat-form-field-ripple"]],[[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,1,0,"accent"==n.color,"warn"==n.color)})}function qv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],[[24,"@transitionMessages",0]],null,null,null,null)),Vo(null,5)],null,function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Wv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-hint"]],[[8,"id",0]],null,null,null,null)),(t()(),Ho(1,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n._hintLabelId),t(e,1,0,n.hintLabel)})}function Kv(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"div",[["class","mat-form-field-hint-wrapper"]],[[24,"@transitionMessages",0]],null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Wv)),go(2,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),Vo(null,6),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-hint-spacer"]],null,null,null,null,null)),Vo(null,7)],function(t,e){t(e,2,0,e.component.hintLabel)},function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Yv(t){return Go(2,[Oo(671088640,1,{underlineRef:0}),Oo(402653184,2,{_connectionContainerRef:0}),Oo(402653184,3,{_inputContainerRef:0}),Oo(671088640,4,{_label:0}),(t()(),Ts(4,0,null,null,20,"div",[["class","mat-form-field-wrapper"]],null,null,null,null,null)),(t()(),Ts(5,0,[[2,0],["connectionContainer",1]],null,11,"div",[["class","mat-form-field-flex"]],null,[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==(s._control.onContainerClick&&s._control.onContainerClick(n))&&i),i},null,null)),(t()(),Ss(16777216,null,null,1,null,Vv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Bv)),go(9,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(10,0,[[3,0],["inputContainer",1]],null,4,"div",[["class","mat-form-field-infix"]],null,null,null,null,null)),Vo(null,1),(t()(),Ts(12,0,null,null,2,"span",[["class","mat-form-field-label-wrapper"]],null,null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Uv)),go(14,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Gv)),go(16,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,$v)),go(18,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(19,0,null,null,5,"div",[["class","mat-form-field-subscript-wrapper"]],null,null,null,null,null)),go(20,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,qv)),go(22,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Kv)),go(24,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){var n=e.component;t(e,7,0,"outline"==n.appearance),t(e,9,0,n._prefixChildren.length),t(e,14,0,n._hasFloatingLabel()),t(e,16,0,n._suffixChildren.length),t(e,18,0,"outline"!=n.appearance),t(e,20,0,n._getDisplayedMessages()),t(e,22,0,"error"),t(e,24,0,"hint")},null)}var Qv=Ji({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media screen and (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}.mat-menu-panel.ng-animating .mat-menu-item-submenu-trigger{pointer-events:none}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:{type:2,steps:[{type:11,selector:".mat-menu-content",animation:{type:6,styles:{opacity:0},offset:null},options:null},{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},timings:"100ms linear"},{type:3,steps:[{type:11,selector:".mat-menu-content",animation:{type:4,styles:{type:6,styles:{opacity:1},offset:null},timings:"400ms cubic-bezier(0.55, 0, 0.55, 0.2)"},options:null},{type:4,styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null}],options:null},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Xv(t){return Go(0,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.start"],[null,"@transformMenu.done"]],function(t,e,n){var i=!0,s=t.component;return"keydown"===e&&(i=!1!==s._handleKeydown(n)&&i),"click"===e&&(i=!1!==s.closed.emit("click")&&i),"@transformMenu.start"===e&&(i=0!=(s._isAnimating=!0)&&i),"@transformMenu.done"===e&&(i=!1!==s._onAnimationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),Ts(2,0,null,null,1,"div",[["class","mat-menu-content"]],null,null,null,null,null)),Vo(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState)})}function Jv(t){return Go(2,[Oo(402653184,1,{templateRef:0}),(t()(),Ss(0,[[1,2]],null,0,null,Xv))],null,null)}var tb=Ji({encapsulation:2,styles:[],data:{}});function eb(t){return Go(2,[Vo(null,0),(t()(),Ts(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(2,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,io(e,2).unbounded)})}var nb=Ji({encapsulation:2,styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}@media screen and (-ms-high-contrast:active){.mat-autocomplete-panel{outline:solid 1px}}"],data:{}});function ib(t){return Go(0,[(t()(),Ts(0,0,[[2,0],["panel",1]],null,2,"div",[["class","mat-autocomplete-panel"],["role","listbox"]],[[8,"id",0]],null,null,null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),Vo(null,0)],function(t,e){t(e,1,0,"mat-autocomplete-panel",e.component._classList)},function(t,e){t(e,0,0,e.component.id)})}function sb(t){return Go(2,[Oo(402653184,1,{template:0}),Oo(671088640,2,{panel:0}),(t()(),Ss(0,[[1,2]],null,0,null,ib))],null,null)}var ob=Ji({encapsulation:2,styles:["[hidden]{display:none!important}#geoloc-map{display:flex;flex-direction:column;min-height:200px}#geoloc-map #geoloc-map-meta{flex:1;padding:15px 15px 0}#geoloc-map #geoloc-map-meta .geolocationInputs{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}#geoloc-map #geoloc-map-meta .geolocationInputs .longitude-input-group{margin-left:5px}#geoloc-map #geoloc-map-draw{position:relative;flex:3}#geoloc-map #httpTasksRunningSpinner{flex:1}button .mini{min-width:0;line-height:30px}.geolocatedPhotoMetadataTable{width:100%}.sub-map-infos{color:#c5c5c5;display:flex;justify-content:space-between;flex-direction:row;padding:5px}.sub-map-infos.has-data{color:#000}.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{display:flex;flex-direction:row;flex-wrap:wrap}@media only screen and (max-width:600px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{margin-left:70px}}@media only screen and (max-width:360px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:37px}.lat-lng-dec-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}.lat-lng-dec-wrapper .latitude-wrapper,.lat-lng-dms-wrapper .latitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:-37px}.lat-lng-dec-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}}"],data:{}});function rb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[7,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function ab(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"osm")))})}function lb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"mapQuest")))})}function hb(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==io(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==io(t,1)._handleKeydown(n)&&i),i},Mv,Iv)),go(1,8568832,[[8,4]],0,Rd,[Mn,Rn,[2,Od],[2,Md]],{value:[0,"value"]},null),(t()(),Ss(16777216,null,0,1,null,ab)),go(3,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,0,1,null,lb)),go(5,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,e.context.$implicit),t(e,3,0,"osm"==n.geolocationProvider),t(e,5,0,"mapQuest"==n.geolocationProvider)},function(t,e){t(e,0,0,io(e,1)._getTabIndex(),io(e,1).selected,io(e,1).multiple,io(e,1).active,io(e,1).id,io(e,1).selected.toString(),io(e,1).disabled.toString(),io(e,1).disabled)})}function ub(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[16,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function cb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[13,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function db(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[23,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function pb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[20,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function mb(t){return Go(0,[(t()(),Ts(0,0,null,null,56,"div",[["class","lat-lng-dec-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,27,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,20,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,10,{_control:0}),Oo(335544320,11,{_placeholderChild:0}),Oo(335544320,12,{_labelChild:0}),Oo(603979776,13,{_errorChildren:1}),Oo(603979776,14,{_hintChildren:1}),Oo(603979776,15,{_prefixChildren:1}),Oo(603979776,16,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","latInput"],["matInput",""],["placeholder","latitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[10,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,ub)),go(26,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,cb)),go(28,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(29,0,null,null,27,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(30,0,null,null,20,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(31,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,17,{_control:0}),Oo(335544320,18,{_placeholderChild:0}),Oo(335544320,19,{_labelChild:0}),Oo(603979776,20,{_errorChildren:1}),Oo(603979776,21,{_hintChildren:1}),Oo(603979776,22,{_prefixChildren:1}),Oo(603979776,23,{_suffixChildren:1}),(t()(),Ts(39,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","lngInput"],["matInput",""],["placeholder","longitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,40)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,40).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,40)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,40)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,44)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,44)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,44)._onInput()&&i),i},null,null)),go(40,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(42,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(44,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(45,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[17,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,db)),go(48,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,pb)),go(50,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(51,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromLatLngCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(52,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(53,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,54).show()&&i),"keydown"===e&&(i=!1!==io(t,54)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,54)._handleTouchend()&&i),i},Fv,Nv)),go(54,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(55,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"latInput"),t(e,22,0,"latitude"),t(e,26,0,n.isLoadingLatitude),t(e,28,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,42,0,"lngInput"),t(e,44,0,"longitude"),t(e,48,0,n.isLoadingLongitude),t(e,50,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,52,0,!n.latlngFormGroup.controls.latInput.valid||!n.latlngFormGroup.controls.lngInput.valid,"primary"),t(e,54,0,"Utiliser ces coordonn\xe9es"),t(e,55,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,30,1,["standard"==io(e,31).appearance,"fill"==io(e,31).appearance,"outline"==io(e,31).appearance,"legacy"==io(e,31).appearance,io(e,31)._control.errorState,io(e,31)._canLabelFloat,io(e,31)._shouldLabelFloat(),io(e,31)._hideControlPlaceholder(),io(e,31)._control.disabled,io(e,31)._control.autofilled,io(e,31)._control.focused,"accent"==io(e,31).color,"warn"==io(e,31).color,io(e,31)._shouldForward("untouched"),io(e,31)._shouldForward("touched"),io(e,31)._shouldForward("pristine"),io(e,31)._shouldForward("dirty"),io(e,31)._shouldForward("valid"),io(e,31)._shouldForward("invalid"),io(e,31)._shouldForward("pending"),!io(e,31)._animationsEnabled]),t(e,39,1,[io(e,44)._isServer,io(e,44).id,io(e,44).placeholder,io(e,44).disabled,io(e,44).required,io(e,44).readonly,io(e,44)._ariaDescribedby||null,io(e,44).errorState,io(e,44).required.toString(),io(e,45).ngClassUntouched,io(e,45).ngClassTouched,io(e,45).ngClassPristine,io(e,45).ngClassDirty,io(e,45).ngClassValid,io(e,45).ngClassInvalid,io(e,45).ngClassPending]),t(e,51,0,io(e,52).disabled||null,"NoopAnimations"===io(e,52)._animationMode),t(e,53,0,io(e,55).inline)})}function fb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[30,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function _b(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[27,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function gb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[37,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function yb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[34,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function vb(t){return Go(0,[(t()(),Ts(0,0,null,null,62,"div",[["class","lat-lng-dms-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,30,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,23,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,24,{_control:0}),Oo(335544320,25,{_placeholderChild:0}),Oo(335544320,26,{_labelChild:0}),Oo(603979776,27,{_errorChildren:1}),Oo(603979776,28,{_hintChildren:1}),Oo(603979776,29,{_prefixChildren:1}),Oo(603979776,30,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLatInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[24,4]],Ly,null,[Hy]),(t()(),Ts(25,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(26,16384,[[29,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["N\xa0"])),(t()(),Ss(16777216,null,4,1,null,fb)),go(29,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,_b)),go(31,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(32,0,null,null,30,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(33,0,null,null,23,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(34,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,31,{_control:0}),Oo(335544320,32,{_placeholderChild:0}),Oo(335544320,33,{_labelChild:0}),Oo(603979776,34,{_errorChildren:1}),Oo(603979776,35,{_hintChildren:1}),Oo(603979776,36,{_prefixChildren:1}),Oo(603979776,37,{_suffixChildren:1}),(t()(),Ts(42,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLngInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,43)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,43).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,43)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,43)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,47)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,47)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,47)._onInput()&&i),i},null,null)),go(43,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(45,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(47,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(48,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[31,4]],Ly,null,[Hy]),(t()(),Ts(50,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(51,16384,[[36,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["E\xa0"])),(t()(),Ss(16777216,null,4,1,null,gb)),go(54,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,yb)),go(56,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(57,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromDmsCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(58,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(59,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,60).show()&&i),"keydown"===e&&(i=!1!==io(t,60)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,60)._handleTouchend()&&i),i},Fv,Nv)),go(60,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(61,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"dmsLatInput"),t(e,22,0,"(deg)\xb0 (min)' (sec)\""),t(e,29,0,n.isLoadingLatitude),t(e,31,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,45,0,"dmsLngInput"),t(e,47,0,"(deg)\xb0 (min)' (sec)\""),t(e,54,0,n.isLoadingLongitude),t(e,56,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,58,0,!n.latlngFormGroup.controls.dmsLatInput.valid||!n.latlngFormGroup.controls.dmsLngInput.valid,"primary"),t(e,60,0,"Utiliser ces coordonn\xe9es"),t(e,61,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,33,1,["standard"==io(e,34).appearance,"fill"==io(e,34).appearance,"outline"==io(e,34).appearance,"legacy"==io(e,34).appearance,io(e,34)._control.errorState,io(e,34)._canLabelFloat,io(e,34)._shouldLabelFloat(),io(e,34)._hideControlPlaceholder(),io(e,34)._control.disabled,io(e,34)._control.autofilled,io(e,34)._control.focused,"accent"==io(e,34).color,"warn"==io(e,34).color,io(e,34)._shouldForward("untouched"),io(e,34)._shouldForward("touched"),io(e,34)._shouldForward("pristine"),io(e,34)._shouldForward("dirty"),io(e,34)._shouldForward("valid"),io(e,34)._shouldForward("invalid"),io(e,34)._shouldForward("pending"),!io(e,34)._animationsEnabled]),t(e,42,1,[io(e,47)._isServer,io(e,47).id,io(e,47).placeholder,io(e,47).disabled,io(e,47).required,io(e,47).readonly,io(e,47)._ariaDescribedby||null,io(e,47).errorState,io(e,47).required.toString(),io(e,48).ngClassUntouched,io(e,48).ngClassTouched,io(e,48).ngClassPristine,io(e,48).ngClassDirty,io(e,48).ngClassValid,io(e,48).ngClassInvalid,io(e,48).ngClassPending]),t(e,57,0,io(e,58).disabled||null,"NoopAnimations"===io(e,58)._animationMode),t(e,59,0,io(e,61).inline)})}function bb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[46,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function wb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[["matSuffix",""]],null,null,null,null,null)),go(1,16384,[[46,4]],0,Ty,[],null,null),(t()(),Ho(-1,null,["m"]))],null,null)}function xb(t){return Go(0,[(t()(),Ts(0,0,null,null,44,"div",[["class","geolocationInputs"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,2).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,2).onReset()&&i),i},null,null)),go(2,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(4,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ss(16777216,null,null,1,null,mb)),go(6,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,vb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(9,0,null,null,10,"mat-menu",[],null,null,null,Jv,Qv)),go(10,1294336,[["menu",4]],2,gy,[Mn,rn,fy],null,null),Oo(603979776,38,{items:1}),Oo(335544320,39,{lazyContent:0}),vo(2048,null,dy,null,[gy]),(t()(),Ts(14,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,15)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,15)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("dms")&&i),i},eb,tb)),go(15,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["Degr\xe9s minutes secondes"])),(t()(),Ts(17,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,18)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,18)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("decimal")&&i),i},eb,tb)),go(18,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["D\xe9cimal"])),(t()(),Ts(20,0,null,null,24,"div",[["class","elevationInput"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,21).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,21).onReset()&&i),i},null,null)),go(21,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(23,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ts(24,0,null,null,20,"mat-form-field",[["class","mat-form-field"],["style","width: 100px;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(25,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,40,{_control:0}),Oo(335544320,41,{_placeholderChild:0}),Oo(335544320,42,{_labelChild:0}),Oo(603979776,43,{_errorChildren:1}),Oo(603979776,44,{_hintChildren:1}),Oo(603979776,45,{_prefixChildren:1}),Oo(603979776,46,{_suffixChildren:1}),(t()(),Ts(33,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","elevationInput"],["matInput",""],["placeholder","altitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,34)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,34).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,34)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,34)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,38)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,38)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,38)._onInput()&&i),i},null,null)),go(34,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(36,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(38,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(39,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[40,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,bb)),go(42,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,4,1,null,wb)),go(44,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.latlngFormGroup),t(e,6,0,"decimal"==n.coordFormat),t(e,8,0,"dms"==n.coordFormat),t(e,10,0),t(e,21,0,n.elevationFormGroup),t(e,36,0,"elevationInput"),t(e,38,0,"altitude"),t(e,42,0,n.isLoadingElevation),t(e,44,0,!n.isLoadingElevation)},function(t,e){t(e,1,0,io(e,4).ngClassUntouched,io(e,4).ngClassTouched,io(e,4).ngClassPristine,io(e,4).ngClassDirty,io(e,4).ngClassValid,io(e,4).ngClassInvalid,io(e,4).ngClassPending),t(e,14,0,io(e,15)._highlighted,io(e,15)._triggersSubmenu,io(e,15)._getTabIndex(),io(e,15).disabled.toString(),io(e,15).disabled||null),t(e,17,0,io(e,18)._highlighted,io(e,18)._triggersSubmenu,io(e,18)._getTabIndex(),io(e,18).disabled.toString(),io(e,18).disabled||null),t(e,20,0,io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending),t(e,24,1,["standard"==io(e,25).appearance,"fill"==io(e,25).appearance,"outline"==io(e,25).appearance,"legacy"==io(e,25).appearance,io(e,25)._control.errorState,io(e,25)._canLabelFloat,io(e,25)._shouldLabelFloat(),io(e,25)._hideControlPlaceholder(),io(e,25)._control.disabled,io(e,25)._control.autofilled,io(e,25)._control.focused,"accent"==io(e,25).color,"warn"==io(e,25).color,io(e,25)._shouldForward("untouched"),io(e,25)._shouldForward("touched"),io(e,25)._shouldForward("pristine"),io(e,25)._shouldForward("dirty"),io(e,25)._shouldForward("valid"),io(e,25)._shouldForward("invalid"),io(e,25)._shouldForward("pending"),!io(e,25)._animationsEnabled]),t(e,33,1,[io(e,38)._isServer,io(e,38).id,io(e,38).placeholder,io(e,38).disabled,io(e,38).required,io(e,38).readonly,io(e,38)._ariaDescribedby||null,io(e,38).errorState,io(e,38).required.toString(),io(e,39).ngClassUntouched,io(e,39).ngClassTouched,io(e,39).ngClassPristine,io(e,39).ngClassDirty,io(e,39).ngClassValid,io(e,39).ngClassInvalid,io(e,39).ngClassPending])})}function Eb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(1,null,["altitude : "," m"]))],null,function(t,e){t(e,1,0,e.component.elevationFormGroup.controls.elevationInput.value)})}function Cb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(-1,null,["altitude : calcul en cours..."]))],null,null)}function Lb(t){return Go(0,[(t()(),Ts(0,0,null,null,10,"div",[["class","sub-map-infos"]],[[2,"has-data",null]],null,null,null,null)),(t()(),Ts(1,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(2,null,["latitude : ",""])),jo(3,2),(t()(),Ts(4,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(5,null,["longitude : ",""])),jo(6,2),(t()(),Ss(16777216,null,null,1,null,Eb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Cb)),go(10,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,8,0,!n.isLoadingElevation),t(e,10,0,n.isLoadingElevation)},function(t,e){var n=e.component;t(e,0,0,""!==n.latlngFormGroup.controls.latInput.value&&""!==n.latlngFormGroup.controls.lngInput.value),t(e,2,0,Yi(e,2,0,t(e,3,0,io(e.parent,1),n.latlngFormGroup.controls.latInput.value,"2.0-6"))),t(e,5,0,Yi(e,5,0,t(e,6,0,io(e.parent,1),n.latlngFormGroup.controls.lngInput.value,"2.0-6")))})}function kb(t){return Go(0,[yo(0,tf,[Qm]),yo(0,Dl,[ri]),(t()(),Ts(2,0,null,null,34,"div",[["id","geoloc-map"]],null,null,null,null,null)),(t()(),Ts(3,0,null,null,29,"div",[["id","geoloc-map-meta"]],null,null,null,null,null)),(t()(),Ts(4,0,null,null,26,"mat-form-field",[["class","mat-form-field"],["style","width: 100%;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(5,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,1,{_control:0}),Oo(335544320,2,{_placeholderChild:0}),Oo(335544320,3,{_labelChild:0}),Oo(603979776,4,{_errorChildren:1}),Oo(603979776,5,{_hintChildren:1}),Oo(603979776,6,{_prefixChildren:1}),Oo(603979776,7,{_suffixChildren:1}),(t()(),Ts(13,16777216,null,1,8,"input",[["aria-label","Trouver un lieu"],["class","mat-input-element mat-form-field-autofill-control"],["matInput",""],["placeholder","Trouver un lieu"]],[[1,"autocomplete",0],[1,"role",0],[1,"aria-autocomplete",0],[1,"aria-activedescendant",0],[1,"aria-expanded",0],[1,"aria-owns",0],[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"focusin"],[null,"blur"],[null,"input"],[null,"keydown"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"focusin"===e&&(i=!1!==io(t,14)._handleFocus()&&i),"blur"===e&&(i=!1!==io(t,14)._onTouched()&&i),"input"===e&&(i=!1!==io(t,14)._handleInput(n)&&i),"keydown"===e&&(i=!1!==io(t,14)._handleKeydown(n)&&i),"input"===e&&(i=!1!==io(t,15)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,15).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,15)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,15)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,19)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,19)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,19)._onInput()&&i),i},null,null)),go(14,147456,null,0,ry,[Mn,ru,On,rn,Rn,sy,[2,Su],[2,Oy],[2,Ol],Lh],{autocomplete:[0,"autocomplete"]},null),go(15,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t,e){return[t,e]},[ry,Up]),go(17,540672,null,0,Pm,[[8,null],[8,null],[6,Hp],[2,Im]],{form:[0,"form"]},null),vo(2048,null,Wp,null,[Pm]),go(19,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(20,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[1,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,rb)),go(23,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(24,0,null,1,6,"mat-autocomplete",[["class","mat-autocomplete"]],null,[[null,"optionSelected"]],function(t,e,n){var i=!0;return"optionSelected"===e&&(i=!1!==t.component.addressSelectedChanged(n)&&i),i},sb,nb)),vo(6144,null,Od,null,[ey]),go(26,1097728,[["auto",4]],2,ey,[Rn,Mn,ty],null,{optionSelected:"optionSelected"}),Oo(603979776,8,{options:1}),Oo(603979776,9,{optionGroups:1}),(t()(),Ss(16777216,null,0,1,null,hb)),go(30,802816,null,0,sl,[On,An,ti],{ngForOf:[0,"ngForOf"]},null),(t()(),Ss(16777216,null,null,1,null,xb)),go(32,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(33,0,null,null,1,"div",[["id","geoloc-map-draw"],["leaflet",""],["style","height: 400px; min-height: 400px;"]],null,[[null,"leafletMapReady"],["window","resize"]],function(t,e,n){var i=!0,s=t.component;return"window:resize"===e&&(i=!1!==io(t,34).onResize()&&i),"leafletMapReady"===e&&(i=!1!==s.onMapReady(n)&&i),i},null,null)),go(34,606208,null,0,jm,[Mn,rn],{options:[0,"options"]},{mapReady:"leafletMapReady"}),(t()(),Ss(16777216,null,null,1,null,Lb)),go(36,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,14,0,io(e,26)),t(e,17,0,n.geoSearchFormGroup.controls.placeInput),t(e,19,0,"Trouver un lieu"),t(e,23,0,n.isLoadingAddress),t(e,30,0,n.geoSearchResults),t(e,32,0,n.showLatLngElevationInputs),t(e,34,0,n.mapOptions),t(e,36,0,!n.showLatLngElevationInputs)},function(t,e){t(e,4,1,["standard"==io(e,5).appearance,"fill"==io(e,5).appearance,"outline"==io(e,5).appearance,"legacy"==io(e,5).appearance,io(e,5)._control.errorState,io(e,5)._canLabelFloat,io(e,5)._shouldLabelFloat(),io(e,5)._hideControlPlaceholder(),io(e,5)._control.disabled,io(e,5)._control.autofilled,io(e,5)._control.focused,"accent"==io(e,5).color,"warn"==io(e,5).color,io(e,5)._shouldForward("untouched"),io(e,5)._shouldForward("touched"),io(e,5)._shouldForward("pristine"),io(e,5)._shouldForward("dirty"),io(e,5)._shouldForward("valid"),io(e,5)._shouldForward("invalid"),io(e,5)._shouldForward("pending"),!io(e,5)._animationsEnabled]),t(e,13,1,[io(e,14).autocompleteAttribute,io(e,14).autocompleteDisabled?null:"combobox",io(e,14).autocompleteDisabled?null:"list",null==io(e,14).activeOption?null:io(e,14).activeOption.id,io(e,14).autocompleteDisabled?null:io(e,14).panelOpen.toString(),io(e,14).autocompleteDisabled||!io(e,14).panelOpen?null:null==io(e,14).autocomplete?null:io(e,14).autocomplete.id,io(e,19)._isServer,io(e,19).id,io(e,19).placeholder,io(e,19).disabled,io(e,19).required,io(e,19).readonly,io(e,19)._ariaDescribedby||null,io(e,19).errorState,io(e,19).required.toString(),io(e,20).ngClassUntouched,io(e,20).ngClassTouched,io(e,20).ngClassPristine,io(e,20).ngClassDirty,io(e,20).ngClassValid,io(e,20).ngClassInvalid,io(e,20).ngClassPending])})}var Sb=Ji({encapsulation:0,styles:[[""]],data:{}});function Tb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"tb-geoloc-map",[],null,[[null,"location"]],function(t,e,n){var i=!0;return"location"===e&&(i=!1!==t.component.newLocation(n)&&i),i},kb,ob)),go(1,245760,null,0,Jm,[Nm,Qm,Xm,rn],{layersToAdd:[0,"layersToAdd"],geolocatedPhotoLatLng:[1,"geolocatedPhotoLatLng"],osmClassFilter:[2,"osmClassFilter"],allowEditDrawnItems:[3,"allowEditDrawnItems"],marker:[4,"marker"],polyline:[5,"polyline"],polygon:[6,"polygon"],latLngInit:[7,"latLngInit"],zoomInit:[8,"zoomInit"],getOsmSimpleLine:[9,"getOsmSimpleLine"],showLatLngElevationInputs:[10,"showLatLngElevationInputs"],elevationProvider:[11,"elevationProvider"],geolocationProvider:[12,"geolocationProvider"],mapQuestApiKey:[13,"mapQuestApiKey"]},{location:"location"})],function(t,e){var n=e.component;t(e,1,1,[n.layers_to_add,n.geolocated_photo_lat_lng,n._osm_class_filters,n.allow_edit_drawn_items,n._marker,n._polyline,n._polygon,n.lat_lng_init,n.zoom_init,n._get_osm_simple_line,n._show_lat_lng_elevation_inputs,n.elevation_provider,n.geolocation_provider,n.map_quest_api_key])},null)}var Ib=$s("app-root",aa,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"app-root",[],null,null,null,Tb,Sb)),go(1,49152,null,0,aa,[],null,null)],null,null)},{layer:"layer",layers_to_add:"layers_to_add",geolocated_photo_lat_lng:"geolocated_photo_lat_lng",osm_class_filter:"osm_class_filter",allow_edit_drawn_items:"allow_edit_drawn_items",marker:"marker",polyline:"polyline",polygon:"polygon",zoom_init:"zoom_init",lat_init:"lat_init",lng_init:"lng_init",lat_lng_init:"lat_lng_init",get_osm_simple_line:"get_osm_simple_line",show_lat_lng_elevation_inputs:"show_lat_lng_elevation_inputs",elevation_provider:"elevation_provider",geolocation_provider:"geolocation_provider",map_quest_api_key:"map_quest_api_key"},{location:"location"},[]),Pb=function(t,e,n){return new class extends Xe{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){!function(){if(pr)return;pr=!0;const t=bn()?{setCurrentNode:Nr,createRootView:fr,createEmbeddedView:gr,createComponentView:yr,createNgModuleRef:vr,overrideProvider:Er,overrideComponentView:Cr,clearOverrides:Lr,checkAndUpdateView:Ir,checkNoChangesView:Pr,destroyView:Mr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:Fr,updateDirectives:zr,updateRenderer:Vr}:{setCurrentNode:()=>{},createRootView:mr,createEmbeddedView:Wo,createComponentView:Yo,createNgModuleRef:ro,overrideProvider:qi,overrideComponentView:qi,clearOverrides:qi,checkAndUpdateView:er,checkNoChangesView:tr,destroyView:rr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:(t,e,n,i)=>t.def.handleEvent(t,e,n,i),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?Sr:Tr,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?Sr:Tr,t)};Zi.setCurrentNode=t.setCurrentNode,Zi.createRootView=t.createRootView,Zi.createEmbeddedView=t.createEmbeddedView,Zi.createComponentView=t.createComponentView,Zi.createNgModuleRef=t.createNgModuleRef,Zi.overrideProvider=t.overrideProvider,Zi.overrideComponentView=t.overrideComponentView,Zi.clearOverrides=t.clearOverrides,Zi.checkAndUpdateView=t.checkAndUpdateView,Zi.checkNoChangesView=t.checkNoChangesView,Zi.destroyView=t.destroyView,Zi.resolveDep=To,Zi.createDebugContext=t.createDebugContext,Zi.handleEvent=t.handleEvent,Zi.updateDirectives=t.updateDirectives,Zi.updateRenderer=t.updateRenderer,Zi.dirtyParentQueries=Ro}();const e=ys(this._ngModuleDefFactory);return Zi.createNgModuleRef(this.moduleType,t||Nt.NULL,this._bootstrapComponents,e)}}(la,[],function(t){return function(t){const e={},n=[];let i=!1;for(let s=0;s<t.length;s++){const o=t[s];o.token===Ie&&(i=!0),1073741824&o.flags&&n.push(o.token),o.index=s,e[Ki(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:i}}([Fs(512,We,Ke,[[8,[Bd,Ib]],[3,We],Qe]),Fs(5120,ri,hi,[[3,ri]]),Fs(4608,Ja,tl,[ri,[2,Xa]]),Fs(4608,He,He,[]),Fs(5120,Oe,Re,[]),Fs(5120,ti,ai,[]),Fs(5120,ei,li,[]),Fs(4608,td,ed,[Ol]),Fs(6144,Ri,null,[td]),Fs(4608,Kc,Yc,[]),Fs(5120,Ec,function(t,e,n,i,s,o){return[new class extends Lc{constructor(t,e){super(t),this.ngZone=e,this.patchEvent()}patchEvent(){if(!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[Uc]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let i=n;if(!t[jc]||rn.isInAngularZone()&&!$c(e))t.addEventListener(e,i,!1);else{let n=Zc[e];n||(n=Zc[e]=Bc("ANGULAR"+e+"FALSE"));let s=t[n];const o=s&&s.length>0;s||(s=t[n]=[]);const r=$c(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:r,handler:i});else{let t=!1;for(let e=0;e<s.length;e++)if(s[e].handler===i){t=!0;break}t||s.push({zone:r,handler:i})}o||t[jc](e,qc,!1)}return()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,n){let i=t[Hc];if(!i)return t.removeEventListener.apply(t,[e,n,!1]);let s=Zc[e],o=s&&t[s];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let r=!1;for(let a=0;a<o.length;a++)if(o[a].handler===n){r=!0,o.splice(a,1);break}r?0===o.length&&i.apply(t,[e,qc,!1]):t.removeEventListener.apply(t,[e,n,!1])}}(t,e),new Jc(n),new class extends Lc{constructor(t,e,n){super(t),this._config=e,this.console=n}supports(t){return!(!Wc.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&(this.console.warn(`Hammer.js is not loaded, can not bind '${t}' event.`),1))}addEventListener(t,e,n){const i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(()=>{const s=this._config.buildHammer(t),o=function(t){i.runGuarded(function(){n(t)})};return s.on(e,o),()=>s.off(e,o)})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}(i,s,o)]},[Ol,rn,Ol,Ol,Kc,Be]),Fs(4608,Cc,Cc,[Ec,rn]),Fs(135680,Sc,Sc,[Ol]),Fs(4608,Oc,Oc,[Cc,Sc]),Fs(5120,wf,Rg,[]),Fs(5120,v_,Ng,[]),Fs(4608,ng,Og,[wf,v_]),Fs(5120,Tn,Fg,[Oc,ng,rn]),Fs(6144,kc,null,[Sc]),Fs(4608,pn,pn,[rn]),Fs(4608,fc,fc,[Ol]),Fs(4608,vc,vc,[Ol]),Fs(4608,ha,Lg,[Tn,dc]),Fs(4608,mp,fp,[Ol,ze,dp]),Fs(4608,_p,_p,[mp,pp]),Fs(5120,rp,function(t){return[t]},[_p]),Fs(4608,up,up,[]),Fs(6144,hp,null,[up]),Fs(4608,cp,cp,[hp]),Fs(6144,Zd,null,[cp]),Fs(4608,Hd,gp,[Zd,Nt]),Fs(4608,sp,sp,[Hd]),Fs(4608,ru,ru,[Yh,Xh,We,su,Qh,Nt,rn,Ol,Su]),Fs(5120,au,lu,[ru]),Fs(5120,jg,Hg,[ru]),Fs(4608,yd,yd,[]),Fs(5120,sy,oy,[ru]),Fs(4608,Eu,Eu,[]),Fs(5120,pu,mu,[ru]),Fs(5120,yy,vy,[ru]),Fs(4608,Kp,Kp,[]),Fs(4608,Nm,Nm,[]),Fs(1073742336,Al,Al,[]),Fs(1024,he,hd,[]),Fs(1024,De,function(t){return[function(t){return bc("probe",xc),bc("coreTokens",Object.assign({},wc,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>xc}(t)]},[[2,wn]]),Fs(512,Ae,Ae,[[2,De]]),Fs(131584,kn,kn,[rn,Be,Nt,he,We,Ae]),Fs(1073742336,ui,ui,[kn]),Fs(1073742336,ud,ud,[[3,ud]]),Fs(1073742336,Vg,Vg,[]),Fs(1073742336,yp,yp,[]),Fs(1073742336,vp,vp,[]),Fs(1073742336,Tu,Tu,[]),Fs(1073742336,Fh,Fh,[]),Fs(1073742336,Zl,Zl,[]),Fs(1073742336,kh,kh,[]),Fs(1073742336,hu,hu,[]),Fs(1073742336,md,md,[[2,pd]]),Fs(1073742336,kd,kd,[]),Fs(1073742336,Td,Td,[]),Fs(1073742336,Nd,Nd,[]),Fs(1073742336,Ry,Ry,[]),Fs(1073742336,Zg,Zg,[]),Fs(1073742336,zy,zy,[]),Fs(1073742336,Zy,Zy,[]),Fs(1073742336,ay,ay,[]),Fs(1073742336,Qy,Qy,[]),Fs(1073742336,Lu,Lu,[]),Fs(1073742336,Ju,Ju,[]),Fs(1073742336,yu,yu,[]),Fs(1073742336,Jy,Jy,[]),Fs(1073742336,pv,pv,[]),Fs(1073742336,vv,vv,[]),Fs(1073742336,bv,bv,[]),Fs(1073742336,wv,wv,[]),Fs(1073742336,xy,xy,[]),Fs(1073742336,Ev,Ev,[]),Fs(1073742336,Cv,Cv,[]),Fs(1073742336,Hm,Hm,[]),Fs(1073742336,Zm,Zm,[]),Fs(1073742336,Fm,Fm,[]),Fs(1073742336,zm,zm,[]),Fs(1073742336,Vm,Vm,[]),Fs(1073742336,ef,ef,[]),Fs(1073742336,la,la,[Nt]),Fs(256,Ie,!0,[]),Fs(256,zg,"BrowserAnimations",[]),Fs(256,dp,"XSRF-TOKEN",[]),Fs(256,pp,"X-XSRF-TOKEN",[]),Fs(256,Xy,{separatorKeyCodes:[Ea]},[])])})}();(function(){if(yn)throw new Error("Cannot enable prod mode after platform setup.");gn=!1})(),ld().bootstrapModuleFactory(Pb).catch(t=>console.log(t))}},[[2,0]]]);
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/index.html
New file
0,0 → 1,52
<!doctype html>
<html lang="">
 
<head>
<base href=".">
<meta charset="utf-8">
<title>TB Geolocation</title>
<link rel="stylesheet" href="./styles.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
 
<body>
<script src="./tb-geoloc-lib-app.js"></script>
<tb-geolocation-element
id="tb-geolocation"
layer='opentopomap'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="false"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
<form style="display:inline-flex;flex-direction:row;margin:5px;padding:5px;justify-content:space-between;width:80%;border:2px solid grey;">
<input id="locality" type="text" placeholder="locality">
<input id="postcode" type="text" placeholder="postcode">
<input id="latitude" type="text" placeholder="latitude">
<input id="longitude" type="text" placeholder="longitude">
<input id="altitude" type="text" placeholder="altitude">
</form>
<script>
var tbGeolocation = document.getElementById('tb-geolocation');
tbGeolocation.addEventListener("location", function(location) {
console.log(location.detail);
document.getElementById('locality').value = location.detail.locality;
document.getElementById('postcode').value = location.detail.osmPostcode;
document.getElementById('latitude').value = location.detail.geometry.coordinates[1];
document.getElementById('longitude').value = location.detail.geometry.coordinates[0];
document.getElementById('altitude').value = location.detail.elevation;
});
</script>
 
</body>
 
</html>
/branches/v3.01-serpe/widget/modules/streets/squelettes/js/tb-geoloc/styles.css
New file
0,0 → 1,0
.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.mat-badge-small .mat-badge-content{outline:solid 1px;border-radius:0}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-accent .mat-badge-content{background:#ffd740;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{color:#fff;background:#673ab7;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary .mat-ripple-element,.mat-icon-button.mat-primary .mat-ripple-element,.mat-stroked-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element,.mat-icon-button.mat-accent .mat-ripple-element,.mat-stroked-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element,.mat-icon-button.mat-warn .mat-ripple-element,.mat-stroked-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#673ab7}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#ffd740}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media screen and (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}@media screen and (-ms-high-contrast:active){.mat-badge-large .mat-badge-content,.mat-badge-medium .mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,215,64,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(0,0,0,.87)}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-toggle-active{color:#673ab7}.mat-datepicker-toggle-active.mat-accent{color:#ffd740}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#673ab7}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#673ab7}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#673ab7}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ffd740}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-list-option.mat-list-item-focus,.mat-list-option:hover,.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#d1c4e9}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline:0;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container a.leaflet-active{outline:orange solid 2px}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:700 16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-.70710678, M22=.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #aaa;color:#fff;font:11px/28px "Helvetica Neue",Arial,Helvetica,sans-serif;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-bottom a,.leaflet-draw-actions-top a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:rgba(0,0,0,.5);border:1px solid transparent;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid rgba(0,0,0,.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,.1);border:4px dashed rgba(254,87,161,.6);border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
/branches/v3.01-serpe/widget/modules/streets/squelettes/arbres.tpl.html
New file
0,0 → 1,491
<form id="form-observation" role="form" autocomplete="on">
<h2><?php echo $observation['titre-obs']; ?></h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map" aria-hidden="true"></i>
<?php echo $observation['lieu-releve']; ?>
</label>
<div class="control-group">
<span id="geoloc-error" class="error hidden"><?php echo $observation['geoloc-erreur']; ?></span>
<div id="geoloc" class="col-sm-8 geoloc">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="true"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
</div>
<div id="geoloc-datas" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control rue" disabled id="rue" name="rue" value="1 Place Georges Frêche"> -->
<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
</div>
</div>
<div class="mt-3">
<label class="col-sm-8" for="commune-nom"><?php echo $observation['nom-commune']; ?></label>
<div class="col-sm-8">
<!-- <input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="Montpellier">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="34172"> -->
<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
</div>
</div>
<!-- <input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="43.5984" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="3.896799" style="display:none"> -->
<!-- <input type="text" class="form-control altitude" disabled id="altitude" name="altitude" value="23"> -->
<input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="" style="display:none">
<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="" style="display:none">
<input type="hidden" class="form-control altitude" disabled id="altitude" name="altitude" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label for="pays"><?php echo $observation['pays']; ?></label>
<div>
<!-- <input type="text" class="form-control pays" disabled id="pays" name="pays" value="France"> -->
<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
 
<div class="col-md-6">
<h3 class="mb-3"><?php echo $observation['titre-info-obs']; ?></h3>
<div id="obs-info" class="text-justify col-sm-8">
<?php echo $observation['obs-info']; ?>
</div>
 
<div class="control-group">
<label for="releve-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $observation['date']; ?>
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
<input type="date" id="releve-date" name="releve-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="fa fa-walking" aria-hidden="true"></i>
<?php echo $observation['zone-pietonne']; ?>
</div>
<div id="zone-pietonne" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="pietonne" name="zone-pietonne" class="pietonne form-check-input" value="true">
<label for="pietonne" class="pietonne form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="non-pietonne" name="zone-pietonne" class="non-pietonne form-check-input" value="false">
<label for="non-pietonne" class="non-pietonne form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-lightbulb" aria-hidden="true"></i>
<?php echo $observation['pres-lampadaires']; ?>
</div>
<div id="pres-lampadaires" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="lampadaires" name="pres-lampadaires" class="lampadaires form-check-input" value="true">
<label for="lampadaires" class="lampadaires form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="sans-lapadaires" name="pres-lampadaires" class="sans-lampadaires form-check-input" value="false">
<label for="sans-lampadaires" class="sans-lampadaires form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div class="">
<label for="commentaires" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
</div>
</div>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="<?php echo $resume['creer-title']; ?>">
<a href="" id="soumettre-releve" class="charger-carto btn btn-primary"><?php echo $general['enregistrer']; ?></a href="">
</div>
</div>
</div>
</div>
</form><!-- fin zone relevé -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
<p><?php echo $observation['alertgk']; ?></p>
</div>
<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertdr-title']; ?></h4>
<p><?php echo $observation['alertdr']; ?></p>
</div>
</div>
 
<div id="zone-arbres" class="bloc-top hidden">
<h2 class="mb-3"><?php echo $arbres['titre']; ?></h2>
<div id="bouton-saisir-plantes" class="btn btn-info hidden m-3" data-load="plantes">
<i class="fas fa-seedling"></i> <?php echo $resume['saisir-plantes']; ?>
</div>
<div class="row">
<div id="bloc-arbres-gauche" class="col-md-6">
<div id="bloc-info-arbres"></div>
<div id="bloc-form-arbres" class="">
<div id="arbres-info" class="text-justify">
<?php echo $arbres['arbres-info']; ?>
</div>
<form id="form-arbre" role="form" autocomplete="off">
<h3 class="mb-3"><?php echo $general['arbre'];?>&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
<input id="referentiel" name="referentiel" value="bdtfx" type="hidden">
<div id="bloc-taxon" class="control-group">
<label for="taxon" class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $general['espece']; ?> (bdtfx)
</label>
<div class="col-sm-8 mb-3">
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $general['espece-title']; ?>" required autocomplete="off">
</div>
</div>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $general['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option class="choisir" hidden value="" selected><?php echo $general['choisir']; ?></option>
<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
</select>
</div>
</div>
<div class="">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
<i class="fa fa-map-marked-alt " aria-hidden="true"></i>
<?php echo $arbres['localiser']; ?>
</label>
<div class="control-group">
<div id="geoloc-datas-arbres" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue-arbres"><?php echo $observation['rue']; ?></label>
<div class="col-sm-8">
<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
</div>
</div>
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label class="" for="latitude-arbres"><?php echo $observation['latitude']; ?></label>
<div class="">
<input type="text" class="form-control latitude-arbres" disabled id="latitude-arbres" name="latitude-arbres" value="">
</div>
</div>
<div class="d-flex flex-column col-sm-4">
<label class="" for="longitude-arbres"><?php echo $observation['longitude']; ?></label>
<div class="">
<input type="text" class="form-control longitude-arbres" disabled id="longitude-arbres" name="longitude-arbres" value="">
</div>
</div>
</div>
<input type="hidden" id="altitude-arbres" name="altitude-arbres" class="" value="" style="display:none">
</div>
<div id="geoloc-arbres" class="col-sm-8"></div>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<i class="fa fa-images" aria-hidden="true"></i>
<?php echo $arbres['titre-photos']; ?>
</div>
<p id="miniature-arbres-info" class="col-sm-8">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-8">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<form id="form-arbre-fs" role="form" autocomplete="off">
<div class="control-group">
<label for="circonference" class="col-sm-8 obligatoire">
<i class="fa fa-circle-notch" aria-hidden="true"></i>
<?php echo $arbres['circonference'] ;?>
</label>
<div class="col-sm-8 mb-3">
<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['circonference-title'] ;?>" placeholder="<?php echo $arbres['circonference-ph'] ;?>" step="1" min="1" required>
</div>
</div>
<div class="control-group">
<label for="surface-pied" class="col-sm-8 obligatoire">
<i class="fa fa-arrows-alt" aria-hidden="true"></i>
<?php echo $arbres['surf-pied'] ;?>
</label>
<div class="col-sm-8 mb-3">
<input id="surface-pied" type="number" name="surface-pied" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['surf-pied-title'] ;?>" placeholder="<?php echo $arbres['surf-pied-ph'] ;?>" step="0.01" min="0" lang="en"required>
</div>
</div>
<div class="control-group">
<label for="equipement-pied-arbre" class="col-sm-8 obligatoire">
<i class="fa fa-dot-circle" aria-hidden="true"></i>
<?php echo $arbres['eqt-pied-arbre'] ;?>
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="equipement-pied-arbre" name="equipement-pied-arbre" class="equipement-pied-arbre select form-control custom-select" data-label="<?php echo $arbres['eqt-pied-arbre'] ;?>" data-name="equipement-pied-arbre" required>
<option class="choisir" selected value="" data-name="equipement-pied-arbre" hidden><?php echo $general['choisir']; ?></option>
<option value="plaque de metal" data-name="equipement-pied-arbre"><?php echo $arbres['palque-metal']; ?></option>
<option value="grille" data-name="equipement-pied-arbre"><?php echo $arbres['grille']; ?></option>
<option value="ciment" data-name="equipement-pied-arbre"><?php echo $arbres['ciment']; ?></option>
<option value="gomme" data-name="equipement-pied-arbre"><?php echo $arbres['gomme']; ?></option>
<option value="absent" data-name="equipement-pied-arbre"><?php echo $arbres['absent']; ?></option>
<option class="other form-control is-select" value="other" data-name="equipement-pied-arbre" data-element="select"><?php echo $general['autre']; ?></option>
</select>
</div>
<span class="error hidden"><?php echo $general['champ-obligatoire']; ?></span>
</div>
</div>
<div class="">
<label for="tassement" class="col-sm-8">
<i class="fas fa-sort-amount-down" aria-hidden="true"></i>
<?php echo $arbres['tassement'] ;?>
</label>
<div class="col-sm-8 mb-3">
<select id="tassement" name="tassement" class="tassement form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['tassement-title'] ;?>">
<option class="choisir" selected value="" hidden><?php echo $general['choisir']; ?></option>
<option value="dur"><?php echo $arbres['dur']; ?></option>
<option value="normal"><?php echo $arbres['normal']; ?></option>
<option value="mou"><?php echo $arbres['mou']; ?></option>
</select>
</div>
</div>
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-dog" aria-hidden="true"></i>
<?php echo $arbres['dejections']; ?>
</div>
<div id="dejections" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="dejections-oui" name="dejections" class="dejections-oui form-check-input" value="true">
<label for="dejections-oui" class="dejections-oui form-check-label"><?php echo $general['oui']; ?></label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="dejections-non" name="dejections" class="dejections-non form-check-input" value="false">
<label for="dejections-non" class="dejections-non form-check-label"><?php echo $general['non']; ?></label>
</div>
</div>
</div>
 
<div class="">
<label for="com-arbres" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $general['commentaires']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
</div>
</div>
</form>
 
<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un arbre-->
<div class="col-sm-8 mb-3">
<button id="retour" class="btn btn-info has-tooltip hidden" data-toggle="tooltip" title="<?php echo $resume['retour-title']; ?>">
<i class="fas fa-undo-alt"></i> <?php echo $general['retour']; ?>
</button>
<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="<?php echo $resume['creer-title']; ?>">
<i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?>
</button>
</div>
</div>
</div><!-- fin formulaire arbres -->
<!-- zone résumé obs arbres ( =zone de droite) -->
<div id="boc-arbres-droite" class="col-md-6 mb-3">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="hidden">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $general['enregistrer']; ?>
</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt">
<?php echo $resume['transencours']; ?>
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div><!-- fin arbres zone résumé obs ( =zone de droite ) -->
</div>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="text/javascript">
//<![CDATA[
$( document ).ready( function() {
plantes = null;
releve = null;
// OMG un modèle objet !!
releve = new ReleveStreets();
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
releve.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
releve.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
// Mot-clé du widget/projet
releve.tagProjet = "WidgetStreets";
// Mots-clés à ajouter aux images
releve.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
releve.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
releve.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + releve.separationTagImg + releve.tagImg" : 'releve.tagImg'; ?>;
// Mots-clés à ajouter aux observations
releve.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
releve.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
releve.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + releve.separationTagObs + releve.tagObs" : 'releve.tagObs'; ?>;
// Précharger le formulaire avec les infos d'une observation
releve.obsId = "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>";
// URL du web service réalisant l'insertion des données dans la base du CEL.
releve.serviceSaisieUrl = "<?php echo $url_ws_streets; ?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
releve.serviceObsUrl = "<?php echo $url_ws_obs; ?>";
// URL du web service permettant de récupérer les images d'une observation.
releve.serviceObsImgs = "<?php echo $url_ws_cel_imgs; ?>";
// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
releve.serviceObsImgUrl = "<?php echo $url_ws_cel_img_url; ?>";
 
// langue
releve.langue = "<?php echo $widget['langue']; ?>";
// Squelette d'URL du web service de l'annuaire.
releve.serviceAnnuaireIdUrl = "<?php echo $url_ws_annuaire; ?>";
// mode : prod / beta / local
releve.mode = "<?php echo $conf_mode; ?>";
// URL de l'icône du chargement en cours d'une image
releve.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
// URL de l'icône pour une photo manquante
releve.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
 
// Code du référentiel utilisé pour les nom scientifiques.
releve.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
// Nombre d'élément dans les listes d'auto-complétion
releve.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
releve.referentielImpose = "<?php echo $referentiel_impose; ?>";
 
// URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
releve.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + releve.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
releve.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
releve.dureeMessage = 10000;
 
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
releve.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
releve.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
 
// Initialisation du bousin
releve.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/streets/Streets.php
New file
0,0 → 1,373
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Streets extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'saisie';
const WS_SAISIE = 'CelWidgetSaisie';
const WS_UPLOAD = 'CelWidgetUploadImageTemp';
const WS_IMG_LIST = 'celImage';
const WS_OBS = 'CelObs';
const WS_OBS_LIST = 'InventoryObservationList';
const LANGUE_DEFAUT = 'fr';
const PROJET_DEFAUT = 'streets';
const WS_NOM = 'noms';
const EFLORE_API_VERSION = '0.1';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
$this->bar = (isset($bar)) ? $bar : false;
/* Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
Sinon, rien ne sera chargé.
L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé en framework.php et configuré pour chaque installation de
l'application.
Chemin du fichier chargeant le framework requis */
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
 
}
$langue = (isset($langue)) ? $langue : self::LANGUE_DEFAUT;
$this->langue = I18n::setLangue($langue);
$this->parametres['langue'] = $langue;
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
if (!isset($projet)) {
$this->parametres['projet'] = self::PROJET_DEFAUT;
}
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = '';
if (is_null($retour)) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
} else {
if (isset($retour['donnees'])) {
$retour['donnees']['conf_mode'] = $this->config['parametres']['modeServeur'];
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == 'prod');
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], $this->config['streets']['cheminDos']);
$retour['donnees']['url_ws_annuaire'] = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/');
$retour['donnees']['url_ws_streets'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_SAISIE);
$retour['donnees']['url_ws_obs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS);
$retour['donnees']['url_ws_obs_list'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS_LIST);
$retour['donnees']['url_ws_upload'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_UPLOAD);
$retour['donnees']['url_ws_cel_imgs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/liste-ids?obsId=';
$retour['donnees']['url_ws_cel_img_url'] = str_replace ( '%s.jpg', '{id}XS', $this->config['chemins']['celImgUrlTpl'] );
$retour['donnees']['mode'] = $mode;
$retour['donnees']['langue'] = $langue;
if( isset( $this->parametres['squelette'] ) ) {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS. $this->parametres['squelette'].'.tpl.html';
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
}
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
 
private function executerSaisie() {
$retour = array();
$retour['squelette'] = 'streets';
$retour['donnees']['general'] = I18n::get('General');
$retour['donnees']['observateur'] = I18n::get('Observateur');
$retour['donnees']['observation'] = I18n::get('Observation');
$retour['donnees']['arbres'] = I18n::get('Arbres');
$retour['donnees']['image'] = I18n::get('Image');
$retour['donnees']['plantes'] = I18n::get('Plantes');
$retour['donnees']['chpsupp'] = I18n::get('Chpsupp');
$retour['donnees']['resume'] = I18n::get('Resume');
$retour['donnees']['widget'] = $this->rechercherProjet();
return $retour;
}
 
/* Recherche si le projet existe sinon va chercher les infos de base */
private function rechercherProjet() {
$tab = array();
$url = $this->config['streets']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$tableau = json_decode($json, true);
$tableau = $this->traiterParametres($tableau[0]);
if (isset($this->parametres['squelette']) && $this->parametres['squelette'] === 'plantes') {
$tableau['type_especes'] = 'liste';
}
$tableau['especes'] = $this->rechercherInfosEspeces($tableau);
if ($tableau['milieux'] != "") {
$tableau['milieux'] = explode(";", $tableau['milieux']);
} else {
$tableau['milieux'] = array();
}
if (isset($tableau['motscles'])) {
$tableau['tag-obs'] = $tableau['tag-img'] = $tableau['motscles'];
}
$tableau['chpSupp'] = $tab;
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$tableau['chemin_fichiers'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['streets']['imgProjet'] . '/' );
return $tableau;
}
 
// remplace certains parametres définis en bd par les parametres définis dans l'url
private function traiterParametres($tableau) {
$criteres = array('tag-obs', 'tag-img', 'projet', 'titre', 'logo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$tableau[$nom_critere] = $valeur_critere;
}
}
return $tableau;
}
 
private function rechercherInfosEspeces( $infos_projets ) { //print_r($infos_projets);exit;
$retour = array();
$referentiel = $infos_projets['referentiel'];
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$retour['url_ws_autocompletion_ns'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, $referentiel, self::WS_NOM );;
$retour['url_ws_autocompletion_ns_tpl'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM );
$retour['ns_referentiel'] = $referentiel;
 
if ( isset( $infos_projets['type_especes'] ) ) {
 
switch ( $infos_projets['type_especes'] ) {
case 'fixe' :
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['especes'] );
break;
case 'referentiel' : break;
case 'liste' :
$referentiel = $infos_projets['referentiel'];
$retour['taxons'] = $this->recupererListeNomsSci();
break;
}
} else if ( isset( $infos_projets['referentiel'] ) ) {
$referentiel = $infos_projets['referentiel'];
if ( isset($infos_projets['num_nom'] ) ) {
$retour = $this->chargerInfosTaxon( $infos_projets['referentiel'], $infos_projets['num_nom'] );
}
}
return $retour;
}
 
/**
* Consulte un webservice pour obtenir des informations sur le taxon dont le
* numéro nomenclatural est $num_nom (ce sont donc plutôt des infos sur le nom
* et non le taxon?)
* @param string|int $num_nom
* @return array
*/
protected function chargerInfosTaxon( $referentiel, $num_nom ) {
$url_service_infos = sprintf( $this->config['chemins']['infosTaxonUrl'], $referentiel, $num_nom );
$infos = json_decode( file_get_contents( $url_service_infos ) );
// trop de champs injectés dans les infos espèces peuvent
// faire planter javascript
$champs_a_garder = array( 'id', 'nom_sci','nom_sci_complet', 'nom_complet', 'famille','nom_retenu.id', 'nom_retenu_complet', 'num_taxonomique' );
$resultat = array();
$retour = array();
if ( isset( $infos ) && !empty( $infos ) ) {
$infos = (array) $infos;
if ( isset( $infos['nom_sci'] ) && $infos['nom_sci'] !== '' ) {
$resultat = array_intersect_key( $infos, array_flip($champs_a_garder ) );
$resultat['retenu'] = ( $infos['id'] == $infos['nom_retenu.id'] ) ? 'true' : 'false';
$retour['espece_imposee'] = true;
$retour['nn_espece_defaut'] = $nnEspeceImposee;
$retour['nom_sci_espece_defaut'] = $resultat['nom_complet'];
$retour['infos_espece'] = $this->array2js( $resultat, true );
}
}
return $retour;
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
if (!empty($_GET['referentiel']) && $_GET['referentiel'] !== 'autre') {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
}
return $referentiel_impose;
}
 
/**
* Trie par nom français les taxons lus dans le fichier tsv
*/
protected function recupererListeNomsSci() {
$taxons = $this->recupererListeTaxon();
if (is_array($taxons)) {
$taxons = self::trierTableauMd($taxons, array('nom_fr' => SORT_ASC));
}
return $taxons;
}
 
/**
* @TODO documenter
* @return array
*/
protected function recupererListeNoms() {
$taxons = $this->recupererListeTaxon();
$nomsAAfficher = array();
$nomsSpeciaux = array();
if (is_array($taxons)) {
foreach ($taxons as $taxon) {
$nomSciTitle = $taxon['nom_ret'].
($taxon['nom_fr'] != '' ? ' - '.$taxon['nom_fr'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
$nomFrTitle = $taxon['nom_sel'].
($taxon['nom_ret'] != $taxon['nom_sel']? ' - '.$taxon['nom_ret'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
 
if ($taxon['groupe'] == 'special') {
$nomsSpeciaux[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-special');
} else {
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_sel'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-sci');
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_fr'],
'nom_title' => $nomFrTitle,
'nom_type' => 'nom-fr');
}
}
$nomsAAfficher = self::trierTableauMd($nomsAAfficher, array('nom_a_afficher' => SORT_ASC));
$nomsSpeciaux = self::trierTableauMd($nomsSpeciaux, array('nom_a_afficher' => SORT_ASC));
}
return array('speciaux' => $nomsSpeciaux, 'sci-et-fr' => $nomsAAfficher);
}
 
/**
* Lit une liste de taxons depuis un fichier tsv fourni
*/
protected function recupererListeTaxon() {
$taxons = array();
$fichier_tsv = dirname(__FILE__) . self::DS . 'configurations' . self::DS . 'sauvages_taxons.tsv';
 
if ( file_exists( $fichier_tsv ) && is_readable( $fichier_tsv ) ) {
$taxons = $this->decomposerFichierTsv( $fichier_tsv );
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'.";
}
return $taxons;
}
 
/**
* Découpe un fihcier csv
*/
protected function decomposerFichierTsv($fichier, $delimiter = "\t"){
$header = null;
$data = array();
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
 
/**
* Convertit un tableau PHP en Javascript - @WTF pourquoi ne pas faire un json_encode ?
* @param array $array
* @param boolean $show_keys
* @return une portion de JSON représentant le tableau
*/
protected function array2js($array,$show_keys) {
$tableauJs = '{}';
if (!empty($array)) {
$total = count($array) - 1;
$i = 0;
$dimensions = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensions[$i] = array2js($value,$show_keys);
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
} else {
$dimensions[$i] = '\"'.addslashes($value).'\"';
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
}
if ($i == 0) {
$dimensions[$i] = '{'.$dimensions[$i];
}
if ($i == $total) {
$dimensions[$i].= '}';
}
$i++;
}
$tableauJs = implode(',', $dimensions);
}
return $tableauJs;
}
}
?>
/branches/v3.01-serpe/widget/modules/streets/i18n/fr.ini
New file
0,0 → 1,189
[General]
titre-page = "Outil de saisie&nbsp;:<br>sTREEts"
obligatoire = "obligatoire"
champ-obligatoire = "Ce champ est obligatoire."
commentaires = "Commentaires"
choisir = "...Choisir..."
arbre = "Arbre"
arbres = "Arbres"
espece = "Espèce"
autre-espece = "Autre espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
certitude = "Certitude"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
oui = "Oui"
non = "Non"
autre = "Autre"
aucune = "Aucune"
nord = "Nord"
sud = "Sud"
est = "Est"
ouest = "Ouest"
numero-arbre = "...Arbre numéro..."
date = "Date"
suivant = "Suivant"
enregistrer = "Enregistrer"
retour = "retour"
retour-title = "Retour à la saisie"
lieu = "Lieu"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau Tela Botanica
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/\#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton= "Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Se connecter"
inscription = "Créer un compte"
oublie = "Mot de pase oublié?"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
releves-deb = "Vous avez déjà saisi "
releves-fin = " relevés pour <span class="font-weight-bold">sTREEts</span>. Merci!"
courriel = "Courriel"
courriel-title = "Veuillez saisir votre adresse courriel."
mdp = "Mot de passe"
mdp-title = "Veuillez saisir votre mot de passe"
courriel-input-title = "Saisissez le courriel et le mot de passe avec lesquels vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit, veuillez suivre le lien \"Créer un compte\"."
prenom = "Prénom"
nom = "Nom"
reprendre-releve = "Reprendre un précédent relevé"
ordre-croissant = "Du plus ancien au plus recent"
creer-releve = "Créer un nouveau relevé"
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée à un compte.<br>
Veuillez vous connecter afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre-obs = "Relevé"
titre-info-obs = "Informations sur le relevé"
obs-info = "<p><span class=\"warning\">Attention!</span><br>Ces informations ne sont pas modifiables après la création du relevé</p>
<p>Pour indiquer qu'<span class=\"font-weight-bold\">un élément concernant le relevé ou un arbre a changé</span> ou corriger une erreur, vous devez dupliquer le relevé existant.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">Consultez l'aide</a> pour plus d'infos.</p>"
lieu-releve = "Lieu du relevé"
geoloc-title = "Localisation du relevé"
geoloc-erreur = "Le nom de la rue, ou de la commune, n'ont pas pu être correctement déterminées pour la localisation indiquée.
<br> Veuillez indiquer manuellement le nom de la rue ou/et de la commune."
releves-exist = "Relevés existants&nbsp;: "
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
zone-pietonne = "Zone piétonne"
pres-lampadaires = "Présence de lampadaires"
rue = "Rue"
latitude = "Latitude"
longitude = "Longitude"
nom-commune = "Nom de commune"
altitude = "Altitude"
pays = "Pays"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
alertdr-title = "Information&nbsp;: Relevé dupliqué"
alertdr = "Un releve existe dejà à cette date, pour cette rue.<br>Si vous souhaitez dupliquer le relevé, veuillez actionner le bouton \"Reprendre un précédent relevé\" de la rubique \"observateur\",<br>puis choisir dans le tableau le relevé à dupliquer et entrer la date de votre nouvelle observation"
error-taxon = "Une observation doit comporter au moins une image ou un nom d'espèce"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
 
[Arbres]
titre = "Saisie des Arbres du relevé"
arbres-info = "<p>Vous devez saisir <span class=\"font-weight-bold\">entre 5 et 10 arbres</span></p>"
referentiel = "Référentiel"
localiser = "Localiser l'arbre"
rue-erreur = "La rue sélectionnée pour cet arbre est différente de la rue du relevé"
circonference = "Circonférence"
circonference-title = "Circonférence en cm, à 1m de hauteur"
circonference-ph = "Circonférence (cm)"
surf-pied = "Surface du pied"
surf-pied-title = "Surface du pied d'arbre en m² (évaluée ou mesurée avec un mètre)"
surf-pied-ph = "Surface du pied (m²)"
eqt-pied-arbre = "Equipement au pied de l'arbre"
palque-metal = "Plaque de métal"
grille = "Grille"
ciment = "Ciment"
gomme = "Gomme"
absent = "Absent"
tassement = "Tassement"
tassement-title = "Évaluer le tassement du sol à l'aide d'un crayon que vous enfoncez verticalement dans le sol"
dur = "Dur (le crayon ne s'enfonce pas du tout)"
normal = "Normal (le crayon s'enfonce difficilement)"
mou = "Mou (le crayon s'enfonce facilement)"
dejections = "Présence de déjection(s)"
suivant = "Suivant"
titre-photos = "Photo(s) de cet arbre"
 
[Plantes]
titre = "Saisie des plantes"
arbre-title = "Au pied de quel arbre du relevé cette plante a-t-elle été observée ?"
titre-photos = "Photo(s) de cette plante"
alert-img-tax = "Une observation de plantes de pied d'arbre doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image"
poursuivre-plantes = "Ajouter des plantes"
poursuivre-plantes-title = "Poursuivre la saisie des plantes"
 
[Image]
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes."
ajouter = "Ajouter une image"
photos-title = "Photos au format JPEG, moins de 5Mo chacune."
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Merci pour l'envoi de vos données.<br />
Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br>
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br>
Pour toute question n'hésitez pas à nous contacter à l'adresse suivante : apa@tela-botanica.org<br>
Ces données seront utilisées par des chercheurs de Sorbonne Université et du Museum National d'Histoire Naturelle."
transko = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
et transmettre les suivantes.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">le formulaire de signalement d'erreurs</a>."
saisir-plantes = "Saisir les plantes"
/branches/v3.01-serpe/widget/modules/streets/i18n/nl.ini
New file
0,0 → 1,40
[General]
obligatoire = "obligatoire"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec
le <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">réseau Tela Botanica</a>
(<a target=\"_blank\" href=\"https://www.tela-botanica.org/page:licence\">licence CC-BY-SA</a>).
Identifiez-vous bien pour ensuite retrouver et gérer vos données dans votre
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\"> Carnet en ligne</a>.
Créez jusqu'à 10 observations (avec 10Mo max d'images) puis partagez-les avec le bouton 'transmettre'.
Elles apparaissent immédiatement sur les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/flore/france-metropolitaine/\">
cartes et galeries photos </a> du site."
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Waarnemer"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées : prénom et nom."
prenom = "Voornaam"
nom = "Naam"
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
milieu = "Milieu"
date = "Datum waarneming"
referentiel = "Référentiel"
espece = "Algemene soort"
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
/branches/v3.01-serpe/widget/modules/streets/i18n/en.ini
New file
0,0 → 1,127
[General]
titre-page = "Input tool: sTREEts"
obligatoire = "required"
choisir = "Choose"
oui = "Yes"
non = "No"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the Tela Botanica network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton= "Inactive help"
contact= "For any questions,"
contact2= "contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
inscription = "Create an account"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
releves-deb = "You have already entered"
releves-fin = "records for <strong>Aupres de mon Arbre</strong>. Thank you!"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
 
 
[Observation]
titre-obs = "Observation"
titre-info-obs = "Informations about the survey"
obs-info = "<p><span class=\"warning\">Warning!></span><br>This information can not be modified after the creation of the survey</p>
<p>To indicate that<span class=\"font-weight-bold\">a survey item or a tree has changed</span> or correct an error, you must duplicate the existing survey.</p>
<p><a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\">See the help</a> for further informations.</p>"
 
lieu-releve = "Location of the survey"
geoloc-title = "Please locate the street of the survey"
releves-exist = "Existing surveys&nbsp;: "
date = "Date"
date-title ="Enter the date of the observation"
zone-pietonne = "Pedestrian zone"
pres-lampadaires = "Presence of street lamps"
commentaires = "comments"
 
[Arbres]
Titre = "Trees from the survey"
referentiel = "Referential"
espece = "Species"
certitude = "Identification"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
milieu = "Environment"
milieu-ph = "wood, field, cliff, ..."
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transko = "An error occurred while transmitting an observation.<br />
You can try to retransmit it by clicking again on the transmit button or delete it and pass on the following.<br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">the error reporting form</a>."
 
/branches/v3.01-serpe/widget/modules/manager/Manager.php
New file
0,0 → 1,404
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Manager extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'manager';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
 
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
 
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset( $this->parametres['callback'] );
extract( $this->parametres );
$this->bar = ( isset( $bar ) ) ? $bar : false;
 
$framework = dirname( __FILE__ ) . '/framework.php';
 
if ( !file_exists( $framework ) ) {
$e = 'Veuillez paramêtrer l\'emplacement et la version du Framework dans le fichier $framework';
trigger_error( $e, E_USER_ERROR );
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli( __FILE__ );// Obligatoire
Framework::setInfoAppli( Config::get( 'info' ) );// Optionnel
}
 
if ( !isset( $mode ) ) {
$mode = self::SERVICE_DEFAUT;
}
 
$this->cel_url_tpl = $this->config['manager']['celUrlTpl'];
 
if ( $_POST !== array() ) { //print_r($_POST);
$this->parametres['projet'] = $_POST['projet'];
$this->parametres['langue'] = $_POST['langue'];
 
if ( $mode === 'modification' ) {
$parametres = $this->traiterParametresModif();
$donnees = array_merge( $parametres, $this->traiterDonneesFiles() );
$json = $this->getDao()->modifier( $this->cel_url_tpl, $donnees );
} else {
$donnees = array_merge( $_POST, $this->traiterDonneesFiles() );
$json = $this->getDao()->ajouter( $this->cel_url_tpl, $donnees );
$mode = $this->parametres['mode'] = 'modification';
}
}
 
$methode = $this->traiterNomMethodeExecuter( $mode );
if ( method_exists( $this, $methode ) ) {
$retour = $this->$methode();
} else {
 
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = '';
if ( is_null( $retour ) ) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
 
} else {
 
if ( isset( $retour['donnees'] ) ) {
$retour['donnees']['params'] = '&projet=' . $_POST['projet'] . '&langue=' . $_POST['langue'];
$retour['donnees']['prod'] = ( $this->config['parametres']['modeServeur'] === 'prod' );
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], '' );
$retour['donnees']['chemin_images'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['dossierTmp'] );
$retour['donnees']['mode'] = $mode;
$squelette = dirname( __FILE__ ) . self::DS . 'squelettes' . self::DS . $retour['squelette'] . '.tpl.html';
$contenu = $this->traiterSquelettePhp( $squelette, $retour['donnees'] );
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
private function executerManager() {
$params = array();
$retour['squelette'] = 'manager';
 
foreach ( $this->parametres_autorises as $id => $pa ) {
if ( isset( $this->parametres[$pa] ) ) {
$params[] = $pa . '=' . $this->parametres[$pa];
}
}
 
$param = implode( $params, '&' );
$url = $this->cel_url_tpl;
 
if ( $param !== '' ) {
$url .= '?' . $param;
}
 
$json = $this->getDao()->consulter( $url );
$retour['donnees']['widget'] = (array) json_decode( $json, true );
$retour['donnees']['widgetUrlTpl'] = $this->config['manager']['widgetUrlTpl'];
 
return $retour;
}
 
private function executerCreation() {
//https://api.tela-botanica.org/service:cel:NomsChampsEtendus/cle
$jsonlangue = $this->getDao()->consulter( $this->config['manager']['languesUrl'] );
$tableaulangue = (array) json_decode( $jsonlangue, true );
$retour['squelette'] = 'creation';
$retour['donnees']['langues'] = $tableaulangue['resultat'] ;
$retour['donnees']['widget'] = array();
 
if ( isset( $this->parametres['projet'] ) ) {
$url = $this->cel_url_tpl . '?projet=' . $this->parametres['projet'];
$json = $this->getDao()->consulter( $url );
$tableau = (array) json_decode( $json, true );
$retour['donnees']['widget'] = $tableau[0];
}
 
$urltype = $this->cel_url_tpl . '?esttype=1';
$jsontype = $this->getDao()->consulter( $urltype );
$tableautype = (array) json_decode( $jsontype, true );
$retour['donnees']['type'] = $tableautype;
 
return $retour;
}
 
private function executerModification() {
$retour = array();
if ( isset( $this->parametres['projet'] ) ) {
 
$url = $this->cel_url_tpl . '?projet=' . $this->parametres['projet'] . '&langue=' . $this->parametres['langue'];
$json = $this->getDao()->consulter( $url );
$tableau = (array) json_decode( $json, true );
$retour['squelette'] = 'creation';
$retour['donnees']['widget'] = $tableau[0];
// En prévision d'un service permettant la suppression/modification champs supp
$retour['donnees']['widget']['chpSupp'] = $this->rechercherChampsSupp();
 
$urltype = $this->cel_url_tpl .'?esttype=1';
$jsontype = $this->getDao()->consulter( $urltype );
$tableautype = (array) json_decode( $jsontype, true );
$retour['donnees']['type'] = $tableautype;
}//print_r($retour['donnees']);
 
return $retour;
}
 
private function traiterParametres() {
$parametres_flux = '?';
$criteres = array( 'projet', 'langue', 'titre' );
 
foreach( $this->parametres as $nom_critere => $valeur_critere ) {
if ( in_array( $nom_critere, $criteres ) ) {
$valeur_critere = str_replace( ' ', '%20', $valeur_critere );
$parametres_flux .= $nom_critere . '=' . $valeur_critere . '&';
}
}
 
$parametres_flux = ( $parametres_flux === '?' ) ? '' : rtrim( $parametres_flux, '&' );
 
return $parametres_flux;
}
 
private function traiterParametresModif() {
$parametres_modif = array();
 
foreach ( $_POST as $id => $parametres ) {
if ($parametres !== '' ) {
$parametres_modif[$id] = addslashes($parametres);
} else {
$parametres_modif[$id] = ' ';
}
}
return $parametres_modif;
}
 
private function traiterDonneesFiles() {
$return = array();
$transmettre_donnees = false;
$files_names = array();
$help_files_names = array();
$error =
"<div class=\"message-echec container\">Echec du téléchargement : ".
"L\'extention de l\'image pour " . $nom . " n\'est pas bonne".
", formats acceptés : png, gif, jpg, jpeg, csv, ou tsv.".
"</div>";
$image_projet_langue = ( $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$dossier_url = __DIR__ . '/squelettes/img/images_projets/' . $_POST['projet'] . $image_projet_langue . '/';
 
foreach ( array_keys( $_FILES ) as $file ) {
if ( $_FILES[$file]['name'] !== '' ) {
$extension = $this->obtenirExtension( $_FILES[$file] );
 
if ( $extension ) {
$transmettre_donnees = true;
 
if ( strstr( $file, 'help-') ) {
// Pas besoin de $return :
// Type déjà transmis dans le json des champs supp
$real_file_key = str_replace( 'help-', '', $file );
$help_files_names[$real_file_key] = $real_file_key . '.' . $extension;
} else {
$return[$file] = $_FILES[$file]['type'];
$files_names[$file] = $file .'.' . $extension;
}
} else {
echo $error;
}
}
}
 
if ( $transmettre_donnees ) {
if( !is_dir( $dossier_url ) ) {
mkdir( $dossier_url, 0755 );
}
// Téléversements
if ( count( $files_names ) > 0 ) {
foreach ( array_keys( $files_names ) as $file ) {
$this->televerser( $file, $files_names[ $file ], $dossier_url );
}
}
if ( count( $help_files_names ) > 0 ) {
foreach ( array_keys( $help_files_names ) as $file ) {
$this->televerser( 'help-' . $file, $help_files_names[ $file ], $dossier_url );
}
}
}
return $return;
}
 
private function televerser( $file, $full_name, $dossier_url ) {
$taille_maxi = 5242880;
$taille = filesize( $_FILES[$file]['tmp_name'] );
$extension = $this->obtenirExtension( $_FILES[$file] );
$file_name = str_replace( '.' . $extension, '', $full_name );
$file_exists = file_exists( $dossier_url . $full_name );
$ex_file_name = $full_name;
 
// verifier l'existance d'un fichier avec une extention différente
// ex: logo.png vers logo.jpg
if ( !$file_exists ) {
switch ( $extension ) {
case 'png':
$ex_file_name = $file_name . '.jpg';
break;
case 'csv':
$ex_file_name = $file_name . '.tsv';
break;
case 'tsv':
$ex_file_name = $file_name . '.csv';
break;
case 'jpg':
default:
$ex_file_name = $file_name . '.png';
break;
}
$file_exists = file_exists( $dossier_url . $ex_file_name );
}
 
//Début des vérifications de sécurité...
if ( $file_exists ) {
if ( $this->parametres['mode'] === 'modification' ) {
// Le fichier existe déjà, c'est normal si on est en mode modification
unlink( $dossier_url . $ex_file_name );
} else {
$erreur =
"<div class=\"message-echec container\">Echec du téléchargement : ".
"Un fichier pour \"" . $file_name.
"\", existe déjà dans un projet nommé \"" . $_POST['projet'] . "\".".
"<br>Vérifiez que le nom du projet n'est pas déjà pris, ".
"ou qu'un fichier \"" . $full_name . "\" n'ait pas déjà été téléchargé pour ce projet.".
"</div>";
}
}
 
if ( !$extension ) {
//Si le format n'est pas bon
$erreur =
"<div class=\"message-echec container\">".
"Echec du téléchargement pour ".
"\"" . $file_name . "\" ".
", formats acceptés : png, gif, jpg, jpeg, csv, ou tsv".
"</div>";
}
 
if ( $taille > $taille_maxi ) {
$erreur =
"<div class=\"message-echec container\">".
"Echec du téléchargement pour ".
"\"" . $file_name . "\" ".
": Max 5Mo".
"</div>";
}
 
if ( isset( $erreur ) ) {
echo $erreur;
} else {
$dest_file = $dossier_url . $this->remove_accents( $full_name );
if ( !move_uploaded_file( $_FILES[$file]['tmp_name'], $dest_file ) ) {
// move_uploaded_file() renvoie false si l'upload a échoué
echo
"<div class=\"message-echec container\">".
"Erreur du téléchargement pour ".
"\"" . $file_name . "\"".
"</div>";
} else {
chmod($dest_file, 0666);
}
}
}
 
private function obtenirExtension( $files ) {
$type = exif_imagetype( $files['tmp_name'] );
 
//une vérif pas mal pour les types image
if ( $type == ( IMAGETYPE_PNG || IMAGETYPE_JPEG || IMAGETYPE_GIF ) ) {
switch ( $type ) {
case '1' :
$format = 'gif';
break;
case '2' :
$format = 'jpg';
break;
case '3' :
$format = 'png';
break;
default :
break;
}
} elseif ( str_replace( '.csv' , '', $files['name'] ) && substr( strrchr($files['type'], '/' ), 1 ) === 'csv' ) {
// Pas trouvé mieux pour csv :
// Les fonctions qui pourraient utiliser $_FILES[file]["tmp_path"] me répondent "text/plain"...
$format = 'csv';
} elseif ( str_replace( '.tsv' , '', $files['name'] ) && substr( strrchr($files['type'], '/' ), 1 ) === 'tab-separated-values' ) {
$format = 'tsv';
} else {
return false;
}
return $format;
}
 
// En prévision d'un service permettant la suppression/modification champs supp
/* Recherche si un projet a des champs de saisie supplémentaire */
private function rechercherChampsSupp() {
$retour = array();
$projet = $this->parametres['projet'];
$url = $this->config['manager']['celChpSupTpl'] .'?projet=' . $projet . '&langue=' . $this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$retour = (array) json_decode($json, true);
 
foreach ( $retour[$projet]['champs-supp'] as $key => $chsup ) {
 
$retour[$projet]['champs-supp'][$key]['name'] = $this->clean_string( $chsup['name'] );
$retour[$projet]['champs-supp'][$key]['description'] = $this->clean_string( $chsup['description']);
$retour[$projet]['champs-supp'][$key]['unit'] = $this->clean_string( $chsup['unit'] );
 
if ( isset( $chsup['fieldValues'] ) ) {
$retour[$projet]['champs-supp'][$key]['fieldValues'] = json_decode( $this->clean_string( $chsup['fieldValues'] ), true );
 
if ( isset( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] ) ) {
foreach( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] as $list_key => $list_value_array ) {
// Obtenir une liste de valeurs utilisables dans les attributs for id ou name par exemple
$retour[$projet]['champs-supp'][$key]['fieldValues']['cleanListValue'][] = ($list_value_array !== 'other') ? 'val-' . preg_replace( '/[^A-Za-z0-9_\-]/', '', $this->remove_accents( strtolower($list_value_array[0] ) ) ) : '';
}
}
}
$retour[$projet]['champs-supp'][$key]['mandatory'] = intval( $chsup['mandatory'] );
}
return $retour;
}
}
/branches/v3.01-serpe/widget/modules/manager/config.defaut.ini
New file
0,0 → 1,10
[manager]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
widgetUrlTpl = "http://localhost/widget:cel:manager"
; Chemin de base des fichiers liés (images, pdf, csv, etc.)
dossierTmp = "modules/manager/squelettes/img/images_projets/"
/branches/v3.01-serpe/widget/modules/manager/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/manager/squelettes/creation.tpl.html
New file
0,0 → 1,570
<?php echo "<noscript>Activer javascript et recharger la page</noscript>";?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $mode;?> de widget de saisie du CeL</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noodp">
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Gestion des widgets de saisie du carnet en ligne" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- <link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" /> -->
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous" />
<!-- Carto -->
<link href="<?php echo $url_base; ?>modules/manager/squelettes/js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE MANAGER CREATION -->
<link rel="stylesheet" type="text/css" href="<?php echo $url_base;?>modules/manager/squelettes/css/manager.css" media="screen" />
 
<!-- Google Analytics -->
<?php if ( $prod ) : ?>
<?php include "analytics.html";?>
<?php endif;?>
<!-- <link rel="icon" type="image/x-icon" href="favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
</head>
 
<body>
<div id="zone-appli" class="container">
<h1 id="widget-titre" class="widget-titre"><?php echo ucfirst( $mode );?> de widget de saisie du CEL</h1>
<div id="register-page">
<div id="group-settings-form">
 
<div id="left-block" class="widget-blocks">
 
<p class="message">
<?php if ( $mode === 'modification' ) : ?>
Attention vous modifiez un widget déjà existant, le tag et la langue ne peuvent pas être changés.
S'il s'agit d'un projet type, en modifiant ce widget vous modifiez tous les widgets de ce type.
<?php else : ?>
Vous créez un widget, si vous choississez de le mettre dans un type, certains champs deviendront
obligatoires et la localisation (point ou rue) sera automatiquement déterminée.
<?php endif;?>
</p>
 
<form action="<?php echo $url_base;?>manager?mode=<?php echo $mode.$params;?>" id="basic-widget-form" method="post" enctype="multipart/form-data">
 
<div class="register-section row" id="basic-details-section">
<h2>Meta-données</h2>
 
<input type="text" name="email" id="email" placeholder="Your email" title="laisser ce champ vide" autocomplete="off" tabindex="-1" />
 
<div class="col-sm-12 mb-3">
<label for="projet">Projet&nbsp;*</label>
<input type="text" name="projet" id="projet" class="form-control" pattern="^[a-z][a-z0-9-]{2,24}" <?php echo ( $mode === 'modification' ) ? 'value="' . $widget['projet'] . '" readonly' : 'required';?> title="Champ obligatoire : Pas d'espaces, de majuscules, de caractères spéciaux, ou d'accents. Caractères acceptés : 1er une lettre de a à z, ensuite : lettres, chiffres, tirets &quot; - &quot;.">
</div>
 
<div class="col-sm-12 mb-3">
<label for="motscles">Autres mots-clés</label>
<input type="text" name="motscles" id="motscles" class="form-control" <?php echo ( $mode === 'modification' ) ? 'value="' . $widget['motscles'] . '"' : "";?> />
</div>
 
<div class="col-sm-12 mb-3">
<label for="type">Type de widget</label>
<select id="type" name="type" class="form-control custom-select">
<option value=""> ----</option>
<?php foreach ( $type as $id => $projet ) : ?>
<option <?php echo ( isset( $widget['projet'] ) && $projet['projet'] === $widget['projet'] ) ? 'selected="selected"' : '';?> value="<?php echo $projet['projet'];?>"><?php echo $projet['projet'];?></option>
<?php endforeach;?>
</select>
</div>
 
 
<div class="col-sm-12 radio mb-3">
<label for="est_type" class="radio-label">
<input type="checkbox" name="est_type" id="est_type" <?php echo ( isset( $widget['est_type'] ) && $projet['est_type'] === '1' ) ? 'checked="checked"' : '';?>>
Ce widget est un widget type
</label>
</div>
 
<div class="col-sm-12 mb-3">
<label for="langue">Langue</label>
<?php if ( $mode === 'modification' ) : ?>
<input id="langue" name="langue" class="form-control" readonly value="<?php echo $widget['langue'];?>">
<?php else : ?>
<select id="langue" name="langue" class="form-control custom-select">
<?php foreach ( $langues as $code => $langue ) : ?>
<option value="<?php echo $code;?>" <?php echo ( $code === 'fr' ) ? 'selected' : '';?>><?php echo $langue['nom'];?></option>
<?php endforeach;?>
</select>
<?php endif;?>
</div>
</div><!-- end #basic-details-section -->
 
 
<div class="register-section row" id="profile-details-description-section">
<h2>Description</h2>
<div class="col-sm-12 mb-3">
<label for="titre">Titre</label>
<input type="text" name="titre" id="titre" class="form-control" value="<?php echo isset( $widget['titre'] ) ? htmlspecialchars( $widget['titre']) : '';?>">
</div>
 
<div class="input-file-row row">
<div class="input-file-container col-sm-10">
 
<?php
if( isset( $widget['info'] ) ) :
$info_file_name = 'info.' . preg_replace( '/(?:imag)?e\/?/','',$widget['info']);
$info_src = $chemin_images . $widget['projet'] . '/' . $info_file_name;
$info_img =
'<img id="pre-existent-info" src="' . $info_src . '" width="50%"><br>Pour changer, télécharger un nouveau fichier.';
$info_hidden = '';
else :
$info_file_name = [];
$info_src = '';
$info_img = '';
$info_hidden = ' hidden';
endif;
?>
 
<input type="file" class="input-file" name="info" id="info" accept="image/*">
<label for="info" class="label-file "><i class="fas fa-download"></i> Aide dans le titre</label>
</div>
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
<div class="file-return info <?php echo $info_hidden;?>">
<?php echo $info_file_name;?>
<?php echo $info_img;?>
</div>
</div>
 
<div class="col-sm-12 mb-3">
<label for="description">Description</label>
<textarea name="description" id="description" class="form-control"><?php echo isset( $widget['description'] ) ? htmlspecialchars( $widget['description'] ) : '';?></textarea>
</div>
 
<div class="input-file-row row">
<div class="input-file-container col-sm-10">
 
<?php
if( isset( $widget['logo'] ) ) :
$logo_file_name = 'logo.' . preg_replace( '/(?:imag)?e\/?/','',$widget['logo']);
$logo_src = $chemin_images . $widget['projet'] . '/' . $logo_file_name;
$logo_img =
'<img id="pre-existent-logo" src="' . $logo_src . '" width="50%"><br>Pour changer, télécharger un nouveau fichier.';
$logo_hidden = '';
else :
$logo_file_name = [];
$logo_src = '';
$logo_img = '';
$logo_hidden = ' hidden';
endif;
?>
 
<input type="file" class="input-file" name="logo" id="logo" accept="image/*" value="">
<label for="logo" class="label-file"><i class="fas fa-download"></i> Logo</label>
</div>
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier">
<i class="fas fa-times" aria-hidden="true"></i>
</div>
<div class="file-return logo<?php echo $logo_hidden;?>">
<?php echo $logo_file_name;?>
<?php echo $logo_img;?>
</div>
</div>
 
<div class="input-file-row row">
<div class="input-file-container col-sm-10">
 
<?php
if( isset( $widget['image_fond'] ) ) :
$image_fond_file_name = 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']);
$image_fond_src = $chemin_images . $widget['projet'] . '/' . $image_fond_file_name;
$image_fond_img =
'<img id="pre-existent-image_fond" src="' . $image_fond_src . '" width="50%"><br>Pour changer, télécharger un nouveau fichier.';
$image_fond_hidden = '';
else :
$image_fond_file_name = [];
$image_fond_src = '';
$image_fond_img = '';
$image_fond_hidden = ' hidden';
endif;
?>
 
<input type="file" class="input-file" name="image_fond" id="image_fond" accept="image/*">
<label for="image_fond" class="label-file"><i class="fas fa-download"></i> Image de fond</label>
</div>
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
<div class="file-return image_fond <?php echo $image_fond_hidden;?>">
<?php echo $image_fond_file_name;?>
<?php echo $image_fond_img;?>
</div>
</div>
 
</div><!-- end #profile-details-description-section -->
 
<div class="register-section row" id="profile-details-fields-section">
<h2>Champs</h2>
 
<div class="col-sm-12 mb-3">
<label for="type_localisation">Type de localisation</label>
<select id="type_localisation" name="type_localisation" class="form-control custom-select">
<option value="<?php echo ( isset( $widget['type_localisation'] ) ) ? $widget['type_localisation'] : 'point';?>"><?php echo ( isset( $widget['type_localisation'] ) ) ? $widget['type_localisation'] : 'point';?></option>
<option value="<?php echo ( isset( $widget['type_localisation'] ) && $widget['type_localisation'] === 'rue' ) ? 'point' : 'rue';?>"><?php echo ( isset( $widget['type_localisation'] ) && $widget['type_localisation'] === 'rue') ? 'point' : 'rue';?></option>
</select>
</div>
 
<div class="col-sm-12 mb-3">
<label for="milieux">Milieux</label>
<p class="message">
Liste de milieux séparés par un ";".
<br>
<i class="fas fa-pen"></i>&nbsp;Pour ajouter une option "autre" ajoutez le mot "autre" dans votre liste de milieux.
<br>
<i class="fas fa-check-double"></i>&nbsp;Pour autoriser la sélection de plusieurs milieux ajouter "multimilieux" dans votre liste de milieux (sans fautes&nbsp;!&nbsp;<i class="far fa-smile-beam"></i>&nbsp;).
<br>
<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>&nbsp;Les options apparaitront dans l'ordre de saisie de cette liste.
</p>
<input type="text" name="milieux" id="milieux" class="form-control" value="<?php echo isset( $widget['milieux'] ) ? $widget['milieux'] : '';?>">
</div>
 
<div class="col-sm-12 mb-3">
<label for="type_especes">Type liste espèce&nbsp;*</label>
<select id="type_especes" name="type_especes" required class="form-control custom-select">
<option selected="selected" value="referentiel">Référentiel</option>
<option value="liste">Liste</option>
<option value="liste" title="remplir référentiel + envoyer csv">Liste + autres</option>
<option value="fixe">Espèce fixée</option>
</select>
</div>
 
<div class="col-sm-12 mb-3">
<label for="referentiel">Référentiel&nbsp;*</label>
<p class="message">
Pour une espèce fixée renseigner le num_nom après le référentiel, séparés de ":" suivant le schéma&nbsp;:
<br>
<code>référentiel:num_nom</code>
<br>
ex&nbsp;: <code>bdtfx:182</code>
</p>
<input type="text" name="referentiel" id="referentiel" class="form-control" required pattern="^[a-z]+(:[0-9]+)?$" title="Nom du référentiel ex. bdtfx" value="<?php echo isset( $widget['referentiel'] ) ? $widget['referentiel'] : '';?>">
</div>
 
<!-- Bouton fichier-type à compléter -->
<div class="input-file-row row">
<div class="input-file-container col-sm-10">
<input type="file" class="input-file" name="especes" id="especes">
<label for="especes"class="label-file"><i class="fas fa-download"></i> Espèces</label>
<p class="message mt-2">
<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>
&nbsp;Format&nbsp;: CSV ou TSV UTF-8.
<br>
Séparateur&nbsp;: Tabulation.
</p>
</div>
<div class="btn btn-danger btn-sm remove-file" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
<div class="file-return especes hidden"></div>
</div>
<div class="col-sm-12 mb-3">
<a href="<?php echo $url_base;?>modules/manager/squelettes/img/fichier_type/especes.csv" class="button fichier-type" download><i class="fas fa-file-alt" aria-hidden="true"></i> Fichier type</a>
</div>
</div><!-- end #profile-details-fields-section -->
 
<!--localisation-->
<input type="hidden" name="localisation" id="localisation" value="<?php echo isset($widget['localisation']) ? htmlspecialchars($widget['localisation']) : '';?>">
<!--Submit-->
<div class="submit complete-registration" id="submit-button">
<button href="#" type="submit" name="signup_submit" id="signup_submit" class="button" target="" title="Soumettre le nouveau widget" disabled="disabled"><i class="fas fa-trophy" aria-hidden="true"></i>&nbsp;Terminer</button>
</div>
<!--Submit-->
 
</form><!-- end #new-widget-form -->
 
<form id="form-geolocalisation" autocomplete="off">
<div class="row mb-3">
<label for="geolocalisation" class="obligatoire has-tooltip col-sm-12" data-toggle="tooltip" title="">
Geolocalisation&nbsp: Déterminer un point gps (facultatif)
</label>
</div>
<div id="geoloc" class="geoloc">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="true"
osm_class_filter=""
geometry_filter="point"
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
height="400px"
>
</tb-geolocation-element>
</div>
<div class="control-group mt-3 mb-3">
<div class="row">
<div id="geoloc-datas" class="col-sm-12 row">
<div class="col-sm-6 mb-3">
<label for="latitude">Latitude</label>
<input type="text" class="form-control latitude" id="latitude" name="latitude" pattern="-?(8[0-5]|[1-7]?[0-9])(,|.)[0-9]{5}" title="Nombre décimal de 6 à 8 chiffres au total, dont exactement 5 chiffres après la virgule" placeholder="+/- 0.00000 à 90.00000" value="">
</div>
<div class="col-sm-6 mb-3">
<label for="longitude">Longitude</label>
<input type="text" class="form-control longitude" id="longitude" name="longitude" pattern="-?(1(80|[0-7][0-9])|([1-9]?[0-9]))(,|.)[0-9]{5}" title="Nombre décimal de 6 à 8 chiffres au total, dont exactement 5 chiffres après la virgule" placeholder="+/- 0.00000 à 180.00000" value="">
</div>
<div class="col-sm-12 mb-3">
<label for="zoom">Zoom (indépendant des coordonnées)</label>
<p class="message">
Quelques exemples de précision zoom&nbsp;:<br>
Europe&nbsp;:&nbsp;4, France&nbsp;:&nbsp;5, région&nbsp;:&nbsp;7, département&nbsp;:&nbsp;9, ville&nbsp;:&nbsp;12, lieu-dit/quartier&nbsp;:&nbsp;15, rue&nbsp;:&nbsp;18 (=&nbsp;max).
</p>
<input type="text" name="zoom" id="zoom" class="form-control" pattern="(0?[1-9]|(1[0-8]))" title="Nombre de 1 à 18" placeholder="1 à 18" value="" />
</div>
</div>
</div>
</div>
</form><!-- end #form-geolocalisation -->
 
<form id="new-fields" autocomplete="off">
<h2>Ajouter des champs</h2>
<p class="message">
<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>
&nbsp;Attention&nbsp;:
<br>
<i class="fa fa-bolt" aria-hidden="true" style="color:#B3C954"></i>
&nbsp;Le bouton "Valider" sert à valider les champs supplémentaires uniquement
<br>
<i class="fas fa-trophy" aria-hidden="true" style="color:#B3C954"></i>
&nbsp;Le bouton "Terminer" sert à envoyer la totalité du nouveau widget
</p>
</form><!-- #new-fields = fomulaire oû viennent s'insérer les champs supplémentaires -->
 
<div id="new-fields-buttons" class="row">
<div class="col-md-4 col-sm-4 col-xs-4 buttons">
<label class="add-fields">Ajouter</label>
<div class="button" id="add-fields" title="Ajouter un champ"><i class="fa fa-plus" aria-hidden="true"></i></div>
</div>
<div class="col-md-4 col-sm-4 col-xs-4 buttons">
<label for="preview-field">Prévisualiser</label>
<div class="button" id="preview-field" name="preview-field" title="prévisualiser"><i class="fa fa-magic" aria-hidden="true"></i></div>
</div>
<div class="col-md-4 col-sm-4 col-xs-4 buttons">
<label class="validate-new-fields">Valider</label>
<div class="button" id="validate-new-fields" title="Valider les champs supplémentaires"><i class="fa fa-bolt" aria-hidden="true"></i></div>
</div>
</div>
 
</div><!-- end .widget-blocks = tout le bloc de gauche-->
 
<div id="right-block" class="widget-blocks">
<div class="widget-renderer">
<div id="preview-background"></div>
 
<div id="preview-header" class="row">
<div id="preview-logo" class="col-md-4"></div>
<div id="preview-title" class="col-md-8">
<h1></h1>
<p class="message"><i class="fas fa-info-circle" style="color:#009fb8"></i> Les liens et autres balises html fonctionneront dans le widget</p>
</div>
</div>
 
<div id="preview-messages" class="row">
 
<div id="preview-description" class="col-md-6">
<div class="">
<p class="preview-description"></p>
</div>
 
</div><!-- end #preview-description -->
 
<div id="preview-aide" class="col-md-6">
<div class="">
<h3>Aide</h3>
<p>
Cet outil vous permet de partager simplement vos observations avec
le <a target="_blank" href="https://www.tela-botanica.org/site:accueil">réseau Tela Botanica</a>
(<a target="_blank" href="https://www.tela-botanica.org/page:licence">licence CC-BY-SA</a>).
Identifiez-vous bien pour ensuite retrouver et gérer vos données dans votre
<a target="_blank" href="https://www.tela-botanica.org/appli:cel"> Carnet en ligne</a>.
Créez jusqu'à 10 observations (avec 10Mo max d'images) puis partagez-les avec le bouton 'transmettre'.
Elles apparaissent immédiatement sur les
<a target="_blank" href="https://www.tela-botanica.org/site:botanique">cartes et galeries photos </a> du site.
</p>
<p class="discretion">
Pour toute question ou remarque,
<a href="https://www.tela-botanica.org/widget:reseau:remarques?service=cel&pageSource=<?php echo $url_base;?>manager?mode=<?php echo $mode . $params;?>" target="_blank" onclick="
javascript:window.open(
this.getAttribute( 'href' ),
'Tela Botanica - Remarques',
config = 'height=700, width=640, scrollbars=yes, resizable=yes'
);
return false;
">contactez-nous</a>
</p>
</div>
</div>
</div><!-- end #preview-aide -->
 
<div id="preview-formulaire" class="row">
 
<form id="preview-form-observateur" role="form" autocomplete="on">
 
<h2>Observateur</h2>
 
<div class="row">
<div id="bouton-connexion" class="col-md-6 col-sm-8">
<label for="bouton-connexion">Je me connecte à mon compte&nbsp;:</label>
<div class="btn btn-success mr-1 mb-1">Connexion</div>
<div class="btn btn-success mr-1 mb-1">Inscription</div>
</div>
<div id="creation-compte" class="col-md-6 col-sm-8">
<label for="creation-compte">Je ne souhaite pas m'inscrire&nbsp;:</label>
<div class="btn btn-info mr-1 mb-1">Observation sans inscription</div>
</div>
 
</div>
 
</form>
 
<form id="form-observation" role="form" autocomplete="on">
 
<h2>Observation</h2>
 
<div id="zone-observation" class="row">
 
<div class="col-md-6 row">
<div class="col-md-12">
<label for="geolocalisation-previs" id="label-geolocalisation" title="Veuillez saisir votre adresse courriel.">
<i class="fa fa-envelope"></i>&nbsp;Geolocalisation
</label>
<div id="geolocalisation-previs">
<img src="<?php echo $url_base;?>modules/manager/squelettes/img/geoloc/geoloc.png" alt="geolocalisation" width="90%">
</div>
</div>
 
<div class="col-md-12">
<label for="milieu" id="label-milieu">
<i class="fa fa-street-view"></i>&nbsp;Milieu
</label>
<input type="text" id="milieu" name="milieu" class="form-control" placeholder="bois, champ, falaise, ...">
</div>
</div>
 
<div class="col-md-6 row">
<div class="col-md-12">
<label for="date" id="label-date" title="">
<i class="fa fa-calendar"></i>&nbsp;Date de relevé
</label>
<div class="date">
<input type="date" id="date" class="form-control" name="date" title="jj/mm/aaaa" required>
</div>
</div>
 
<div class="col-md-12">
<label for="taxon" id="label-taxon" title="">
<i class="fa fa-leaf"></i>&nbsp;Espèce<span></span>
</label>
<div class="taxon">
<input type="text" name="taxon" id="taxon" class="form-control">
</div>
</div>
 
<div class="col-md-12">
<label for="certitude" id="label-certitude" title="">
<i class="fa fa-question"></i>&nbsp;Certitude
</label>
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option value="" >À déterminer</option>
<option value="" >Douteuse</option>
<option value="" selected="selected" >Certaine</option>
</select>
</div>
 
<div class="col-md-12">
<label for="notes" id="label-notes" title="">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Notes
</label>
<div class="notes">
<textarea id="notes" name="notes" class="form-control" placeholder="Vous pouvez éventuellement ajouter des informations complémentaires à votre observation."></textarea>
</div>
</div>
</div>
 
</div>
 
</form>
 
<!-- formulaire d'affichage des bouveaux champs -->
<form id="form-supp" role="form" autocomplete="on">
<div id="zone-supp" class="row align-items-center">
<div class="col-md-6 preview-container row"></div>
</div>
</form>
 
<!-- formulaire d'upload d'images -->
<form id="form-upload" class="" action="" method="" enctype="multipart/form-data">
<h2>Image(s) de cette plante</h2>
<p class="miniature-info" class="discretion help-inline">
Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
</p>
<div>
<div class="btn btn-large btn-info mb-3">
<span class=""><i class="fas fa-download"></i>&nbsp;Ajouter une image</span>
</div>
</div>
</form>
 
</div><!-- end #preview-formulaire -->
 
</div><!-- end #widget-renderer-->
 
</div><!-- #widget-blocks = tout le bloc de droite-->
 
</div>
</div>
</div>
<div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="help-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>modules/manager/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script> -->
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript" src="<?php echo $url_base;?>modules/manager/squelettes/js/manager.js"></script>
<!-- Barre de navigation -->
<?php if ( $bar !== false ) : ?>
<script src="<?php echo $url_script_navigation;?>"></script>
<?php endif;?>
</body>
</html>
/branches/v3.01-serpe/widget/modules/manager/squelettes/css/manager.css
New file
0,0 → 1,631
@CHARSET "UTF-8";
 
*,
*:hover,
*:focus,
*:active {
outline: 0 !important;
outline-style: none !important;
}
 
button:not(#tb-geolocation *):focus,
a:focus, a:active {
outline: none !important;
}
 
input:not(#tb-geolocation *)::-moz-focus-inner {
border: 0 !important;
}
 
button:not(.mat-icon-button)::-moz-focus-inner,
input[type="reset"]:not(#tb-geolocation *)::-moz-focus-inner,
input[type="button"]:not(#tb-geolocation *)::-moz-focus-inner,
input[type="submit"]:not(#tb-geolocation *)::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner,
select:not(#tb-geolocation *)::-moz-focus-inner,
select:not(#tb-geolocation *):-moz-focusring {
color: transparent !important;
text-shadow: 0 0 0 #000 !important;
outline: none !important;
}
 
select:focus::-ms-value {
background-color: $input-bg !important;
color: $input-color !important;
}
 
body:not(#tb-geolocation *) {
font-family: Ubuntu,Verdana,sans-serif !important;
}
 
div.widget-blocks {
box-sizing: border-box;
padding: 1rem;
}
 
#zone-appli #register-page .widget-blocks {
clear: both;
/* Précaution pour IE 7 */
overflow: hidden;
position: relative;
}
 
h1#widget-titre::before {
content: "";
display: block;
height: 100%;
position: absolute;
left: -5rem;
width: 0.4rem;
}
 
h1#widget-titre {
font-size: 2rem;
font-weight: 700;
line-height: 3.2rem;
margin: 0;
position: relative;
color: #232323;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks p {
font-size: 0.8rem;
}
 
.message-echec,
.message-succes {
margin: 1rem auto;
border: 0.1rem solid;
border-radius: 0.3rem;
padding: 0.5rem;
text-align: center;
}
 
.message-echec {
background-color: #f9e2d7;
border-color: #eca27e;
color: #9c4217;
fill: #9c4217;
}
 
.message-succes {
background-color: #e9f2b7;
border-color: #cfe261;
color: #444e09;
fill: #444e09;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
#zone-appli #register-page .widget-blocks h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
#zone-appli #register-page .widget-blocks h3 {
/*font-size: 2rem;*/
margin-top: 0.5rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .message {
background-color: #f5f0e8;
color: #232323;
padding: 1rem;
border-radius: 0.3rem;
font-size: 0.8rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .hidden {
display: none;
}
 
/*** Styles généraux des champs ****/
/* Formulaires du nouveau widget*/
 
#zone-appli #register-page #group-settings-form #left-block.widget-blocks {
width: 100%;
padding-bottom: 50px;
}
 
#zone-appli #register-page #group-settings-form #right-block.widget-blocks {
width: 100%;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks form:not(#tb-geolocation *) {
margin-bottom: 2rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .register-section {
margin-top: 1.5rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks input:not(.mat-input-element,.invalid),
#zone-appli #register-page #group-settings-form .widget-blocks select:not(.mat-input-element),
#zone-appli #register-page #group-settings-form .widget-blocks textarea:not(.mat-input-element) {
width: 100%;
border-radius: 0.2rem;
font-size: 0.7rem;
-moz-transition: none;
-webkit-transition: none;
-o-transition: color 0 ease-in;
transition: none;
border: 0.1rem solid #ddd;
box-shadow: none !important;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks input:not(.mat-input-element) {
overflow: visible;
}
 
/* Style des checkboxes et radios */
#zone-appli #register-page #group-settings-form .widget-blocks .number {
width: 100%;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks label:not(.mat-form-field-label),
#zone-appli #register-page #group-settings-form .widget-blocks .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .checkbox label,
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .checkboxes label,
#zone-appli #register-page #group-settings-form #right-block.widget-blocks .radio label {
font-weight: 300;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks label.radio-label {
font-weight: 700;
}
 
/***********************************/
 
/**** Style des select et checkbox-list ****/
#zone-appli #register-page #group-settings-form .widget-blocks select:not(#tb-geolocation *),
#zone-appli #register-page #group-settings-form .widget-blocks .selectBox select {
background-color: #fff;
border: 0.1rem solid #ddd;
}
 
 
#zone-appli #register-page #group-settings-form .widget-blocks .add-field-select {
width: 100%;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .selectBox {
position: relative;
border-radius: 0.2rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .overSelect {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .checkboxes {
border: 0.1rem solid #ddd;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
position: absolute;
z-index: 1001;
top: 100%;
left: 1rem;
right: 1rem;
background-color: #fff;
padding-bottom: 0.5rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .label label,
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .checkboxes label {
display: block;
padding: 0.5rem;
line-height: 1.15;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer #checkboxes label:hover {
background-color: #1e90ff;
}
 
/*******************************************/
 
/**** Style des input type "file" ****/
/* styles de base */
#group-settings-form .input-file-container,
#group-settings-form #new-fields .input-file-container {
position: relative;
width: 84.9%;
display: inline-block;
line-height: 0.9rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .input-file-row {
margin: 1.5rem 0;
min-width: 100% !important;
}
 
#group-settings-form .label-file,
#group-settings-form #new-fields .label-file {
display: block;
padding: 0.6rem;
background: #009FB8;
color: #fff !important;
/*font-size: 1.5rem;*/
cursor: pointer;
border-radius: 0.2rem;
margin-bottom: 0;
line-height: 0.9rem;
font-size: 0.8rem !important;
}
 
#group-settings-form .input-file,
#group-settings-form #new-fields .input-file {
position: absolute;
top: 0; left: 0;
width: 90% !important;
margin: 0 0.9rem !important;
padding-bottom: 0;
margin: auto;
opacity: 0;
cursor: pointer;
}
 
/* quelques styles d'interactions */
#group-settings-form .input-file:hover + .label-file,
#group-settings-form .input-file:focus + .label-file,
#group-settings-form .label-file:hover,
#group-settings-form .label-file:focus,
#group-settings-form #new-fields .input-file:hover + .label-file,
#group-settings-form #new-fields .input-file:focus + .label-file,
#group-settings-form #new-fields .label-file:hover,
#group-settings-form #new-fields .label-file:focus {
background: rgba(0, 159, 184, 0.7);
color: #fff;
}
 
/* styles du retour visuel */
#group-settings-form .file-return:not(:empty)::before,
#group-settings-form #new-fields .file-return:not(:empty)::before {
content:'Nom du fichier: ';
font-size: 0.8rem;
}
 
#group-settings-form .file-return:not(:empty) img,
#group-settings-form #new-fields .file-return:not(:empty) img {
margin: 1rem auto;
display: block;
}
 
#group-settings-form .file-return,
#group-settings-form #new-fields .file-return {
font-style: italic;
font-size: 0.8rem;
font-weight: bold;
background-color: #fff;
padding: 2rem;
border-radius: 0.2rem;
}
 
#group-settings-form #new-fields .file-return {
margin: 0.5rem auto;
width: 90%;
}
/*************************************/
 
/**** Affichage des nouveaux champs ****/
/* Mieux distinguer les différentes strates */
#group-settings-form fieldset.new-field,
#group-settings-form .new-value {
position: static;
border-radius: 0.2rem;
background-color: #F8F5EF;
margin: 0 0.5rem 0.5rem 0.5rem;
padding: 1rem;
}
 
#group-settings-form fieldset.new-field {
padding: 1rem;
margin: 1rem 0;
}
 
/* Mieux distinguer les différentes strates */
#group-settings-form .field-details {
margin: 1rem;
padding: 1rem;
border-radius: 0.2rem;
background-color: #fcfbf9;
}
 
/********************************************/
 
/**** Styles des boutons ****/
 
#zone-appli #register-page #group-settings-form .widget-blocks button:not(.mat-icon-button),
#group-settings-form .button {
background-color: #a2b93b;
border-radius: 0.2rem;
border: 0 none;
padding: 0.9rem;
cursor: pointer;
color: #fff;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 0.9rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 0.9rem;
text-align: center;
text-decoration: none;
/*text-transform: capitalize;*/
-webkit-transition: background .2s ease;
-o-transition: background .2s ease;
transition: background .2s ease;
}
 
.fa, .fab, .fal, .far, .fas {
line-height: 0.9rem;
}
.remove-file .fas {
line-height: 1.4rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks button:not(.mat-icon-button):hover,
#zone-appli #register-page #group-settings-form .widget-blocks button:not(.mat-icon-button):focus,
#group-settings-form .button:hover,
#group-settings-form .button:focus {
background-color: #b3c954;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks #bouton-connexion .btn {
background-color:#a2b93b;border-color:#a1b92e;
color: #fff;
}
 
/* Positionnement visuel du bouton submit pour qu'il reste
sous les nouveaux champs alors que dans le dom
il est positionné avant les nouveaux champs */
#zone-appli #register-page #group-settings-form .widget-blocks #submit-button {
position: absolute;
bottom: 0;
}
 
#signup_submit {
font-weight: 700;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks #add-fields.button,
#zone-appli #register-page #group-settings-form .widget-blocks .add-value-button.button {
background-color: #009fb8;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks #add-fields.button:hover,
#zone-appli #register-page #group-settings-form .widget-blocks #add-fields.button:focus,
#zone-appli #register-page #group-settings-form .widget-blocks .add-value-button.button:hover,
#zone-appli #register-page #group-settings-form .widget-blocks .add-value-button.button:focus {
background-color: rgba(0, 159, 184, 0.7);
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .btn-danger,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button {
background-color: #ff5d55;
border: 0 none;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .btn-danger:hover,
#zone-appli #register-page #group-settings-form .widget-blocks .btn-danger:focus,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button:hover,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-field.button:focus,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button:hover,
#zone-appli #register-page #group-settings-form .widget-blocks .remove-value.button:focus {
background-color: rgba(255, 93, 85, 0.7);
border: 0 none;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .help-button {
float: right;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .remove-file {
width: 2rem;
height: 2rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .border-0 {
border: 0 !important;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info {
color: #17a2b8;
background-color: transparent;
background-image: none;
border-color: #17a2b8;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:hover {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:not(:disabled):not(.disabled):active, .show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer .btn-outline-info:focus {
box-shadow: 0 0 0 .2rem rgba(23,162,184,.5);
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type:hover,
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type:focus {
background-color: rgba(234, 153, 115, 0.7);
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .fichier-type {
text-transform: capitalize;
/*font-size: 1.5rem;*/
margin-left: 0;
padding: 0.6rem;
background-color: #ea9973;
text-decoration: none;
color: #ffffff;
border-radius: 0.2rem;
}
/****************************/
 
/**** style du formulaire des nouveaux champs après validation ****/
#zone-appli #register-page #group-settings-form .widget-blocks .disabled,
#zone-appli #register-page #group-settings-form .widget-blocks .validated {
background-color: #eeeeee;
cursor: default;
pointer-events: none;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .invalid-key,
#zone-appli #register-page #group-settings-form .widget-blocks .invalid {
box-shadow : 0 0 1.5px 1px red;
}
 
.error {
color : red;
}
 
span.error {
font-size: 0.8rem;
}
 
/* Le picto validation apparait en vert */
#group-settings-form .validated i {
color: #c3d45d;
cursor: default;
}
 
/* La couleur de fond du formulaire lui-même ne change pas */
#zone-appli #register-page #group-settings-form .widget-blocks #new-fields.disabled{
background-color: initial;
}
/******************************************************************/
 
/**** Prévisualisation du widget ****/
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer {
border-radius: 0.2rem;
padding: 0 3rem 3rem 3rem;
min-height: 100%;
width: 100%;
overflow: hidden;
background: rgba(248, 245, 239, 0.6);
position: relative;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .widget-renderer h1 {
font-size: 3rem;
line-height: 3.2rem;
width: 100%;
color: #232323;
margin: 1rem;
}
 
#preview-formulaire,
#preview-header,
#preview-messages {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.8);
margin-top: 2rem;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .checkbox label,
#zone-appli #register-page #group-settings-form .widget-blocks .checkboxes label,
#zone-appli #register-page #group-settings-form .widget-blocks .radio label {
display: flex;
align-items: center;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks input[type="checkbox"],
#zone-appli #register-page #group-settings-form .widget-blocks input[type="radio"],
#zone-appli #register-page #group-settings-form .widget-blocks input.radio,
#zone-appli #register-page #group-settings-form .widget-blocks input.checkbox {
vertical-align: text-top;
padding: 0;
margin-right: 10px;
position: relative;
overflow: hidden;
width: 1rem;
}
 
.mb-2, .mb-3 {
align-self: start;
}
 
#new-fields-buttons {
border-bottom: 1px solid rgba(0,0,0,0.1);
padding-bottom: 1rem;
margin-bottom: 1rem;
}
 
/****************************/
 
/**** Input Type Range ****/
#zone-appli #register-page #group-settings-form .widget-blocks .range input {
border:none;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .range-values {
color: #606060;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks .range-live-value {
padding-top: 1rem;
font-size: 1.5rem;
}
 
/**************************/
 
/**** Style de la modale ****/
.modal-header .close {
margin-top: -2rem !important;
}
/****************************/
 
/**** style required preview ****/
 
#label-geolocalisation::before,
#label-date::before,
#label-taxon::before,
#label-certitude::before {
content: '*';
}
 
/*******************************/
 
/**** media queries ****/
@media screen and (min-width: 992px) {
#zone-appli #register-page #group-settings-form #left-block.widget-blocks {
display: inline-block;
width: 49%;
padding-bottom: 50px;
}
 
#zone-appli #register-page #group-settings-form #right-block.widget-blocks {
display: inline-block;
width: 49%;
overflow: visible;
vertical-align:top;
position: -webkit-sticky;
position: sticky;
top: 0;
}
 
#zone-appli #register-page #group-settings-form .widget-blocks #submit-button {
bottom: 10px;
}
}
/branches/v3.01-serpe/widget/modules/manager/squelettes/manager.tpl.html
New file
0,0 → 1,124
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gestion des widgets de saisie du CeL</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Gestion des widgets de saisie du carnet en ligne" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Gestion des widgets de saisie du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Gestion des widgets de saisie du Carnet en Ligne" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
 
<!-- Jquery -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery.ui.datepicker-fr.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.9.0/jquery.validate.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/validate/1.9.0/messages_fr.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/form/2.95/jquery.form.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
 
<!-- Barre de navigation -->
<?php if ($bar !== false) : ?>
<script src="<?php echo $url_script_navigation; ?>"></script>
<?php endif; ?>
 
 
<!-- CSS -->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- <link href="http://localhost/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> -->
<link href="<?php echo $url_base; ?>modules/manager/squelettes/css/manager.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
<link id="telabotanica-style-css" rel="stylesheet" href="https://www.tela-botanica.org/wp-content/themes/telabotanica/dist/bundle.css?ver=4.9.7" type="text/css" media="all">
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body>
<?php if ($bar !== false): ?>
<div id="tb-navigation" data-courant="widget-cel-export" data-squelette="bootstrap3" data-mode="prod">
</div>
<br/>
<?php endif; ?>
 
<div id="zone-appli" class="container">
<h1 id="widget-titre" class="widget-titre"> Gestion des widgets de saisie du CEL</h1>
<ul>
<?php foreach ($donnees['widget'] as $donnee) : ?>
<?php
$langue_projet_url = ( isset( $donnee['langue'] ) && $donnee['langue'] !== 'fr' ) ? '_' . $donnee['langue'] : '';
$img_height = ( isset( $donnee['logo'] ) ) ? 'height:auto;' : '';
?>
<li class="component-tools-item">
<?php echo '<img class="component-tools-item-icon" src="'.htmlspecialchars($chemin_images.$donnee['projet'].$langue_projet_url.'/logo.'.preg_replace('/(?:imag)?e\/?/','',$donnee['logo'])).'" alt="'.$donnee['projet'].'" style="width:10rem;' . $img_height .'">';?>
<div style="">
<h4 class="component-tools-item-title">
<a href="https://www.tela-botanica.org/flore/" target=""><?php echo $donnee['projet']." : ".$donnee['titre']; ?></a>
</h4>
<div class="component component-buttons as-seamless" style="float:right;">
<a class="button orange" href="<?php echo $widgetUrlTpl; ?>?mode=modification&projet=<?php echo $donnee['projet']; ?>&langue=<?php echo $donnee['langue']; ?>" target="" title="Espace projets">
<span class="button-text">Modifier le widget</span>
</a>
<a class="button standard" href="<?php echo $widgetUrlTpl; ?>?mode=creation&projet=<?php echo $donnee['projet']; ?>&langue=<?php echo $donnee['langue']; ?>" target="" title="Créer un projet">
<span class="button-text">Créer à partir</span>
</a>
</div>
</div>
<div class="component-tools-item-description"><?php echo $donnee['description']; ?></div>
<div class="component-tools-item-link">
<a href="<?php echo $url_base; ?>saisie?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #e16e37">
<span>Saisie</span>
</a>
<a href="<?php echo $url_base; ?>cartoPoint?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #918a6f">
<span>Carto</span>
</a>
<a href="<?php echo $url_base; ?>photo?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #964e75">
<span>Photo</span>
</a>
<a href="<?php echo $url_base; ?>observation?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #b2cb43">
<span>Observation</span>
</a>
<a href="<?php echo $url_base; ?>export?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #009fb8">
<span>Export</span>
</a>
<a href="https://www.tela-botanica.org/appli:pictoflora?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #927fa2">
<span>PictoFlora</span>
</a>
<a href="https://www.tela-botanica.org/appli:identiplante?projet=<?php echo $donnee['projet']; ?>" target="" style="color: #f25a52">
<span>IdentiPlante</span>
</a>
</div>
</li>
<?php endforeach; ?>
</ul>
<div class="component component-buttons as-seamless">
<a class="button standard" href="<?php echo $widgetUrlTpl; ?>?mode=creation" target="_blank" title="">
<span class="button-text">Créer un nouveau widget</span>
</a>
</div>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/base_en/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/base_en/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/sauvagesdemametro/logo.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/sauvagesdemametro/logo.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/sauvages/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/sauvages/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/apastreetsarbres/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/apastreetsarbres/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/base/logo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/images_projets/base/logo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/geoloc/geoloc.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/geoloc/geoloc.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/img/fichier_type/especes.csv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/manager.js
New file
0,0 → 1,1867
"use strict";
 
/*************************************
* Fonctions de Style et Affichage *
* des éléments "spéciaux" *
*************************************/
 
// Logique d'affichage pour le input type=file
function inputFile() {
// Initialisation des variables
var $fileInput = $( '.input-file' ),
$button = $( '.label-file' ),
thisId = '';
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '.label-file' ).keydown( function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).focus();
}
});
// Action lorsque le label est cliqué
$( '.label-file' ).click( function(event) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).focus();
return false;
});
// Affiche un retour visuel dès que input:file change
$fileInput.change( function( event ) {
// Il est possible de supprimer un fichier
// donc on vérifie que le 'change' est un ajout ou modificationis-defaut-value
if( !$.isEmptyObject( event.target.files[0] ) ) {
 
var file = event.target.files[0],
fileInputId = $( this ).attr( 'id' ),
$theReturn = $( '.' + fileInputId );
// Affichage du nom du fichier
$theReturn.text( file.name ).removeClass( 'hidden') ;
 
if( 5242880 < file.size ) {
$theReturn.append(
'<p class="message">'+
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
'La taille du fichier ne doit pas dépasser 5Mo'+
'</p>'
)
.addClass( 'invalid' );
// lib : https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js
$( this ).clearInputs();
console.log(file);
 
} else if( file.type.match( 'image/*' ) && 'especes' !== fileInputId ) {
// Si le fichier est une image (et qu'on est pas sur "especes") on l'affiche
// Chemin temporaire de l'image et affichage
var tmppath = URL.createObjectURL( file );
$theReturn.append( '<img src="' + tmppath + '" width="50%">' ).removeClass( 'invalid' );;
 
} else if ( !( 'especes' === fileInputId && file.type.match( 'text/(:?csv|tab-separated-values)' ) ) ) {
// on a pas un type image, ou on est sur une liste d'espèces mais on a pas un csv
console.log(file.type);
 
if( 'especes' === fileInputId ) {// cas où on demandait un csv
$theReturn.append(
'<p class="message">'+
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
'Le fichier doit être au format csv ou tsv'+
'</p>'
)
.addClass( 'invalid' );
} else { // cas où on demandait un format image
$theReturn.append(
'<p class="message">'+
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
'Le fichier doit être au format image (jpg, png, etc.)'+
'</p>'
)
.addClass( 'invalid' );
}
// lib : https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js
$( this ).clearInputs();
console.log(file);
} else {// file "especes" csv ok
$theReturn.append( ' <i class="fa fa-check-circle" aria-hidden="true" style="color:#B3C954;font-size:1.3rem"></i>' ).removeClass( 'invalid' );
}
}
});
// Annuler le téléchargement
$( '.remove-file' ).click( function() {
var $thisFileInput = $( this ).prev( '.input-file-container' ).find( '.input-file' );
// lib : https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js
$thisFileInput.clearInputs();
$thisFileInput.triggerHandler( 'change' );
// $thisFileInput.unwrap();
$( this ).next( '.file-return' ).addClass( 'hidden' ).empty();
});
}
 
// Style et affichage des list-checkboxes
function inputListCheckbox() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
$( '.checkboxes[data-id="' + $(this).data( 'id' ) + '"]' ).toggleClass( 'hidden' );
});
}
 
// Style et affichage des input type="range"
function inputRangeDisplayNumber() {
$( '#zone-appli' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
}
 
/***********************************************************
* Fonctions pour la création des champs supplémentaires *
***********************************************************/
 
// Logique globale pour l'ajout de nouveaux champs
function onClickAddNewFields( fieldIndex ) {
// Bouton ajouter un champ
$( '#add-fields' ).click( function() {
// Affichage du formulaire pour un champ
displayNewField( fieldIndex );
// Affichage du nom du champ
onChangeDisplayFieldLabel( fieldIndex );
// Empêcher de créer plus d'une fois la même clé
onChangeCheckKeyUnique();
// Affichage des images/nom des documents importés dans les champs ajoutés
inputFile();
// Recueil des informations correspondantes au nouveau champ
onChangeFieldTypeCollectDetails( fieldIndex );
// Suppression d'un champ
onClickRemoveField();
 
fieldIndex++;
});
}
 
// Création/affichage du formulaire d'un nouveau champ
function displayNewField( fieldIndex ) {
// Html du formulaire du nouveaux champs inséré dans le dom
$( '#new-fields' ).append(
'<fieldset data-id="' + fieldIndex + '" class="new-field">'+
'<h3>Nouveau champ :<br><strong class="field-title" data-id="' + fieldIndex + '"></strong></h3>'+
// Nom du champ
'<div class="row">'+
'<div class="col-sm-12 mt-3 mb-3">'+
'<label for="field-name" title="Donnez un titre à votre champ">Nom du champ *</label>'+
'<input type="text" name="field-name" data-id="' + fieldIndex + '" class="field-name form-control" placeholder="Titre de votre champ" title="Le titre du champ" required>'+
'</div>'+
// Clé du champ
'<div class="col-sm-12 mt-3 mb-3">'+
'<label for="field-key" title="Nom du champ dans la base de données">'+
'Clé du champ *'+
'</label>'+
'<input type="text" name="field-key" data-id="' + fieldIndex + '" class="field-key form-control" placeholder="Clé du champ" pattern="^(?:[a-z]+(?:(?:[A-Z]+[a-z]+)+)?|[a-z]+(?:(?:-[a-z]+)+)?)$" title="Clé Unique en Camelcase ou minuscule séparés par tirets, pas d\'accents pas de caractères spéciaux." required>'+
'</div>'+
'<p class="message m-2">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
'Une clé doit être unique<br>' +
'En "camelCase" (ecriture chameau)<br>'+
'Ou en minuscule avec tirets ("-") si nécessaire<br>'+
'Pas d\'espaces, aucuns caractères spéciaux (accents, cédilles, etc.).' +
'</p>' +
// Type de champ
'<div class="col-sm-12 mt-3 mb-3 add-field-select" data-id="' + fieldIndex + '">'+
'<label for="field-element" title="Quel type de champ">Type de champ *</label>'+
'<select name="field-element" data-id="' + fieldIndex + '" class="field-element form-control custom-select">'+
'<option value="text">Champ texte</option>'+
'<option value="email">Champ email</option>'+
'<option value="textarea">Champ rédaction</option>'+
'<option value="select">Menu déroulant</option>'+
'<option value="checkbox">Cases à cocher</option>'+
'<option value="list-checkbox">Liste de cases à cocher</option>'+
'<option value="radio">Boutons radio</option>'+
'<option value="date">Calendrier</option>'+
'<option value="range">Curseur (entre 2 bornes)</option>'+
'<option value="number">Nombre</option>'+
'</select>'+
'</div>'+
// Checkbox "champ requis"
'<div class="col-sm-12 radio mt-3 mb-3">'+
'<label class="radio-label" for="field-is_mandatory" title="Ce champ est obligatoire">'+
'<input type="checkbox" name="field-is_mandatory" data-id="' + fieldIndex + '" class="field-is_mandatory form-control">'+
'Champ requis ?'+
'</label>'+
'</div>'+
// Unité des valeurs
'<div class="col-sm-12 mt-3 mb-3">'+
'<label for="field-unit" title="Unité de mesure de vos valeurs">Unités ( cm, kg, ha, etc.)</label>'+
'<input type="text" name="field-unit" data-id="' + fieldIndex + '" class="field-unit form-control" placeholder="symbole de vos unités">'+
'</div>'+
// Tooltip
'<div class="col-sm-12 mt-3 mb-3">'+
'<label for="field-description" title="Ajoutez une info-bulle">Info-bulle</label>'+
'<input type="text" name="field-description" data-id="' + fieldIndex + '" class="field-description form-control" placeholder="Quelques mots">'+
'</div>'+
// Import d'une image d'aide à afficher en popup
'<div class="input-file-row row">'+
'<div class="input-file-container col-sm-10">'+
'<input type="file" class="input-file field-help" name="field-help' + fieldIndex + '" data-id="' + fieldIndex + '" id="help-doc-' + fieldIndex + '" accept="image/*">'+
'<label for="field-help' + fieldIndex + '" class="label-file"><i class="fas fa-download"></i> Popup aide image (.jpg)</label>'+
'</div>'+
'<div class="btn btn-danger btn-sm remove-file" name="remove-file" data-id="' + fieldIndex + '" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>'+
'<div class="file-return help-doc-' + fieldIndex + ' hidden"></div>'+
'</div>'+
// Boutons supprimer
'<div class="col-sm-12 mt-3 mb-3">'+
'<label for="remove-field">Supprimer</label>'+
'<div class="remove-field button" name="remove-field" data-id="' + fieldIndex + '" title="Supprimer un champ"><i class="fa fa-skull" aria-hidden="true"></i></div>'+
'</div>'+
'</div>'+
'</fieldset>'
);
// Animation de l'affichage
$( 'fieldset.new-field[data-id="' + fieldIndex + '"]').hide().show( 200 );
$( 'html, body' ).stop().animate({
scrollTop: $( 'fieldset.new-field[data-id="' + fieldIndex + '"]' ).offset().top
}, 300 );
}
 
// Affichage du nom du champ dès qu'il est renseigné
function onChangeDisplayFieldLabel( fieldIndex ) {
$('.field-name[data-id="' + fieldIndex + '"]').change( function() {
$( '.field-title[data-id="' + fieldIndex + '"]' ).text( $( this ).val() );
});
}
 
// Supprimer un nouveau champ
function onClickRemoveField () {
$( '.remove-field' ).click( function() {
$( this ).closest('fieldset').hide( 200 , function () {
$( this ).remove();
});
});
}
 
 
/**** Recueil des informations et détails qui dépendent du type de champ choisi ****/
 
// Logique de recueil d'informations en fonction du type de champ choisi
function onChangeFieldTypeCollectDetails( fieldIndex ) {
// On insère les champs par défaut de recueil d'informations
displayFieldDetailsCollect(
fieldIndex,
// Placeholder (champ type text par défaut)
'<div class="col-sm-12 mt-3">'+
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir ce champ">Texte d\'aide à la saisie</label>'+
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
'</div>'
);
// Sinon :
$( '.field-element[data-id="' + fieldIndex + '"]' ).change( function() {
// On intialise l'index pour les listes la variable qui contiendra un id pour chaque option
var valueIndex = 0;
// Si on hésite on qu'on se trompe dans la liste :
// les champs de détails de l'option précédente doivent être supprimés
$( '.field-details[data-id="' + fieldIndex + '"]' ).hide( 200 , function () {
$( this ).remove();
});
 
// Html de recueil de données en fonction de l'élément choisi
switch( $( this ).val() ) {
case 'range':
case 'number':
displayFieldDetailsCollect(
fieldIndex,
'<p class="message">'+
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> '+
'Ne pas oublier de prévisualiser !!<br>'+
'Vérifier le bon fonctionnement et changer, si nécessaire, les valeurs de défaut, incrémentation (step), min et max.<br>'+
'Si le navigateur considère que certaines valeurs sont incohérentes il pourrait les modifier automatiquement'+
'</p>' +
// Placeholder
'<div class="col-sm-12 mt-3">'+
'<label for="aide-saisie" title="Deux ou 3 mots ou chiffres pour comprendre ce que doit contenir ce champ (ex: min 20, 10 par 10, etc.)">Texte d\'aide à la saisie</label>'+
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
'</div>'+
// Valeur par défaut
'<div class="col-sm-12 mt-3">'+
'<label for="default" title="Valeur par défaut">Valeur par défaut</label>'+
'<input type="number" name="default" data-id="' + fieldIndex + '" class="default form-control" step="0.01" lang="en">'+
'</div>'+
// Incrémentation ( attribut step="" )
'<div class="col-sm-12 mt-3">'+
'<label for="step" title="De 10 en 10, de 0.5 en 0.5, etc.">Incrémentation (step)</label>'+
'<input type="number" name="step" data-id="' + fieldIndex + '" class="step form-control" step="0.01" value="1" lang="en">'+
'</div>'+
// Min
'<div class="col-sm-12 mt-3">'+
'<label for="min" title="valeur min">Valeur minimale</label>'+
'<input type="number" name="min" data-id="' + fieldIndex + '" class="min form-control" step="0.01" value="0" lang="en">'+
'</div>'+
// Max
'<div class="col-sm-12 mt-3">'+
'<label for="max" title="valeur max">Valeur maximale</label>'+
'<input type="number" name="max" data-id="' + fieldIndex + '" class="max form-control" step="0.01" value="1" lang="en">'+
'</div>'
);
break;
 
case 'date':
displayFieldDetailsCollect(
fieldIndex,
// Date min
'<div class="col-sm-12 mt-3">'+
'<label for="min" title="date min">Date minimale</label>'+
'<input type="date" name="min" data-id="' + fieldIndex + '" class="min form-control" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">'+
'</div>'+
// Date max
'<div class="col-sm-12 mt-3">'+
'<label for="max" title="date max">Date maximale</label>'+
'<input type="date" name="max" data-id="' + fieldIndex + '" class="max form-control" pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">'+
'</div>'
);
break;
 
case 'select':
case 'checkbox':
case 'list-checkbox':
case 'radio':
displayFieldDetailsCollect(
fieldIndex,
'<p class="message element-message">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i> ' +
'Entrez au moins une valeur de ' + $( this ).children( 'option:selected' ).text() +
'<br>Si aucun label à afficher n\'est indiqué, la valeur entrée sera utilisée (première lettre en majuscule).'+
'</p>'+
// Première option
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
// Recueil d'une valeur de la liste
'<div class="col-sm-12 mt-3">'+
'<label for="list-value">Valeur *</label>'+
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
'</div>' +
// Recueil du label à afficher
'<div class="col-sm-12 mt-3">'+
'<label for="displayed-label">Label</label>'+
'<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+
'</div>' +
// Checkbox valeur par défaut
'<div class="col-sm-12 radio mt-3">'+
'<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+
'Valeur par défaut'+
'</label>'+
'</div>' +
'</div>' +
// Bouton ajout d'une valeur à la liste
'<div class="col-sm-12 mt-3 add-value-container" data-id="' + fieldIndex + '">'+
'<label for="add-value" class="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste">Ajouter une valeur</label>'+
'<div class="button add-value-button" name="add-value" data-id="' + fieldIndex + '" title="Ajouter une valeur à la liste"><i class="fa fa-puzzle-piece" aria-hidden="true"></i></div>'+
'</div>' +
// checkbox ajouter une valeur "Autre:"
'<div class="col-sm-12 radio mt-3">'+
'<label for="option-other-value" title="Ajouter une option \'Autre:\' à la fin" class="radio-label">'+
'<input type="checkbox" name="option-other-value" data-id="' + fieldIndex + '" class="option-other-value" title="Ajouter une option \'Autre\' à la fin">'+
'Valeur "Autre"'+
'</label>'+
'</div>'
);
break;
 
case 'email':
case 'text':
case 'textarea':
default:
displayFieldDetailsCollect(
fieldIndex,
// Placeholder
'<div class="col-sm-12 mt-3">'+
'<label for="aide-saisie" title="Aidez les utilisateurs en deux ou 3 mots ou chiffres à comprendre ce que doit contenir ce champ">Texte d\'aide à la saisie</label>'+
'<input type="text" name="aide-saisie" data-id="' + fieldIndex + '" class="aide-saisie form-control" placeholder="Ce que doit contenir ce champ">'+
'</div>'
);
break;
}
// Ajout des valeurs possibles
// lorsque le champ est une liste ou case à cocher
onClickAddNewValueToList( fieldIndex , valueIndex );
});
}
 
// Insertion dans le dom des champs de recueil d'informations
function displayFieldDetailsCollect( fieldIndex , fieldDetails ) {
$( '.add-field-select[data-id="' + fieldIndex + '"]' ).after(
'<div class="field-details col-sm-11 mt-3 row" data-id="' + fieldIndex + '">' +
fieldDetails +
'</div>'
).hide().show( 200);
}
 
/**** Ajout des valeurs (options) des "champs de listes" (select, checkbox, radio, etc.) ****/
 
// Ajout des options des listes (deroulantes, cases à cocher etc.)
function onClickAddNewValueToList( fieldIndex , valueIndex ) {
$( '.add-value-button[data-id="' + fieldIndex + '"]' ).click( function() {
valueIndex++;
$( '.add-value-container[data-id="' + fieldIndex + '"]' ).before(
'<div class="new-value center-block row" data-list-value-id="' + valueIndex +'">'+
// Recueil d'une valeur de la liste
'<div class="col-sm-12 mt-3">'+
'<label for="list-value">Valeur *</label>'+
'<input type="text" name="list-value" data-id="' + fieldIndex + '" class="list-value form-control" data-list-value-id="' + valueIndex +'" placeholder="Une des valeurs de la liste" required>'+
'</div>' +
// Recueil du label à afficher
'<div class="col-sm-12 mt-3">'+
'<label for="displayed-label">Label</label>'+
'<input type="text" name="displayed-label" data-id="' + fieldIndex + '" class="displayed-label form-control" data-list-value-id="' + valueIndex +'" placeholder="Label à afficher">'+
'</div>' +
// Checkbox valeur par défaut+bouton supprimer
'<div class="col-sm-12 mt-3 row">'+
// Bouton supprimer une option
'<div class="col-sm-5">'+
'<div class="remove-value button" name="remove-value" data-id="' + fieldIndex + '" data-list-value-id="' + valueIndex + '" title="Supprimer une valeur"><i class="fa fa-trash" aria-hidden="true"></i></div>'+
'</div>'+
// Valeur par défaut
'<div class="col-sm-7 radio">'+
'<label for="is-defaut-value" title="Ceci est la valeur par défaut" class="radio-label">'+
'<input type="checkbox" name="is-defaut-value" data-id="' + fieldIndex + '" class="is-defaut-value" title="entrez une valeur pour activer cette case" data-list-value-id="' + valueIndex +'" disabled >'+
'Valeur défaut'+
'</label>'+
'</div>'+
'</div>'+
'</div>'
).hide().show( 200);
// Une seule valeur par défaut pour select et radio
onClickDefaultValueRemoveOthers( fieldIndex );
// Supprimer une valeur
onClickRemoveListValue( fieldIndex );
});
}
 
// Activer la checkbox de valeur par default uniquement si une valeur est entrée
function onInputListValueLabelEnableDefaultCheckbox() {
$( '#new-fields' ).on( 'input' , '.list-value' , function() {
var $thisDefautValue = $( '.is-defaut-value[data-id="' + $( this ).data( 'id' ) + '"][data-list-value-id="' + $( this ).data( 'list-value-id' ) + '"]' );
if( '' !== $( this ).val() ) {
$thisDefautValue.removeAttr( 'disabled' );
} else {
$thisDefautValue.attr( 'disabled', true ).attr( 'checked' , false );
}
});
}
 
// Pour les éléments "select" et "radio" il ne peut y avoir qu'une valeur par défaut cochée
function onClickDefaultValueRemoveOthers( fieldIndex ) {
var selectedFieldElement = $( '.field-element[data-id="' + fieldIndex + '"]' ).val();
 
if( selectedFieldElement === 'select' || selectedFieldElement === 'radio' ) {
$( '.is-defaut-value[data-id="' + fieldIndex + '"]' ).click( function() {
if( $( this ).is( ':checked' ) ) {
// Décocher tous les autres
$( '.is-defaut-value[data-id="' + fieldIndex + '"]:checked' ).not( $( this) ).attr( 'checked' , false );
}
});
}
}
 
// Bouton supprimer une valeur
function onClickRemoveListValue( fieldIndex ) {
$( '.remove-value.button[data-id="' + fieldIndex + '"]' ).click( function() {
$( '.new-value[data-list-value-id="' + $( this ).data( 'list-value-id' ) + '"]' ).hide( 200 , function () {
$( this ).remove();
});
});
}
 
/*********************************************
* Validation et envoi des nouveaux champs *
*********************************************/
 
// Empêcher de créer plus d'une fois la même clé
function onChangeCheckKeyUnique() {
if( 1 < $( '.field-key' ).length ) {
// Marqueur de valeur dupliquée
var notUnique = false;
 
$( '.field-key' ).change( function () {
let count = $( '.field-key' ).length;
 
for(var index = 0 ; index < count ; index++) {
let thisFieldKey = $( '.field-key[data-id="' + index + '"]' );
// Le champ avec cet index pourrait avoir été supprimé
if( 0 < thisFieldKey.length ) {
for( var otherIndex = 0 ; otherIndex < count ; otherIndex++ ) {
let otherFieldKey = $( '.field-key[data-id="' + otherIndex + '"]' );
// Le champ avec cet index pourrait avoir été supprimé
// On vérifie qu'on ne compare pas un champ avec lui-même
// Que les champs ne sont pas vides
// Les champs dupliqués déclanchent le marqueur et les alertes
if(
0 < otherFieldKey.length &&
index !== otherIndex &&
'' !== otherFieldKey.val() &&
'' !== thisFieldKey.val() &&
thisFieldKey.val() === otherFieldKey.val()
) {
// Le marqueur de valeur dupliquée passe à true
notUnique = true;
if( 0 === $( '.invalid-field-key[data-id="' + index + '"]' ).length ) {
// Le champ est signalé en rouge
// Un message d'alerte apparait sous le champ
thisFieldKey.addClass( 'invalid-key' );
thisFieldKey.after(
'<p class="message invalid-field-key" data-id="' + index + '">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>' +
' Vérifiez qu\'aucune clé n\'ait été utilisée plus d\'une fois' +
'</p>'
);
}
}
}
}
}
if( notUnique ) {
// Un message d'alerte apparait au dessus des boutons prévisualiser/valider
if( 0 === $( '.invalid-field-key-bottom' ).length ) {
$( '#new-fields' ).after(
'<p class="message invalid-field-key-bottom">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>' +
' Une clé a été utilisée plusieurs fois' +
'</p>'
);
}
// Les boutons prévisualiser/valider sont désactivés et signalés en rouge
$( '#preview-field , #validate-new-fields' ).addClass( 'invalid-key' ).css( 'pointer-events', 'none' );
} else {// Si on est ok on retire toutes les alertes
// signalements rouges
$( '.field-key' ).each( function() {
$( this ).removeClass( 'invalid-key' );
});
$( '#preview-field , #validate-new-fields' ).removeClass( 'invalid-key' );
// messages d'alerte
$( '.invalid-field-key' ).each( function() {
$( this ).hide( 200 , function () {
$( this ).remove();
});
});
$( '.invalid-field-key-bottom' ).hide( 200 , function () {
$( this ).remove();
});
//réactivation des boutons prévisualiser/valider
$( '#preview-field' )[0].style.removeProperty( 'pointer-events' );
$( '#validate-new-fields' )[0].style.removeProperty( 'pointer-events' )
}
// Réinitialisation
notUnique = false;
});
}
}
 
// Activation/desactivation des champs valider/previsualiser
function onClickButtonsTagMissingValues() {
$( '#preview-field , #validate-new-fields' ).on( 'click' , function() {
var $button = $( this );
//S'il n'y a pas (plus) de bloc nouveau champ
if( 0 === $( 'fieldset' ).length ) {
return;
}
// Classe "invalid"
missingValuesClass();
if( !$( this ).hasClass( 'invalid' ) ) {
if( $( this ).is( '#validate-new-fields') ) {
// Lancement de l'enregistrement des valeurs à transmettre
onClickStoreNewFields();
} else if( $( this ).is( '#preview-field') ) {
// Lancement de la prévisualisation
newFieldsPreview();
}
}
});
// Si un champ manquant est renseigné
// ou on choisit nouvel élément liste (au moins une option)
// Cette action doit être prise en compte dans la validation
$( '#new-fields' ).on( 'change' , '.invalid[type="text"] , .field-element' , function() {
// S'il on a pas encore cliqué sur prévisualiser/valider
// changer l'élément ne doit pas déclancher le signalement en rouge
if( $( this ).is( '.field-element' ) && !$( '#preview-field , #validate-new-fields' ).hasClass( 'invalid' ) ) {
return;
} else {
// Classe "invalid"
missingValuesClass();
}
});
}
 
// Classe "invalid"
function missingValuesClass() {
// Si au moins un champ "required" n'est pas rempli
$( '#new-fields input[required]' ).each( function() {
if( 0 === $( this ).val().length ) {
// Le champ est signalé en rouge
$( this ).addClass( 'invalid' );
// Un message d'alerte apparait après le champ
if( 0 === $( this ).next( '.validation-warning' ).length ) {
$( this ).after(
'<p class="validation-warning message">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>' +
'&nbsp;Ce champ est requis' +
'</p>'
);
}
} else {
// Le champ est signalé en rouge
$( this ).removeClass( 'invalid' );
// Le message d'alerte du champ est supprimé
if( 0 < $( this ).next( '.validation-warning' ).length ) {
$( this ).next( '.validation-warning' ).hide( 200 , function () {
$( this ).remove();
});
}
}
});
// Si on a des champs à compléter
if( 0 < $( '.invalid[type="text"]' ).length ) {
// Les boutons sont signalés en rouge
$( '#preview-field , #validate-new-fields' ).addClass( 'invalid' );
// Un message d'alerte apparait avant les boutons
if( 0 === $( '#new-fields' ).next( '.validation-warning' ).length ) {
$( '#new-fields' ).after(
'<p class="validation-warning message">' +
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>' +
'&nbsp;Des informations sont manquantes pour certains champs,' +
' vérifiez ceux signalés en rouge' +
'</p>'
);
}
} else {
// Les signalements et messages sont supprimés
$( '#preview-field , #validate-new-fields' ).removeClass( 'invalid' );
$( '#new-fields' ).next( '.validation-warning' ).hide( 200 , function () {
$( this ).remove();
});
}
}
 
/**** Envoi des nouveaux champs ****/
 
// Enregistrement des valeurs à transmettre
function onClickStoreNewFields() {
// Lorsqu'on valide
var resultArrayIndex = 0;
var count = $( 'fieldset' ).last().data( 'id' );
var helpFileExists = false;
// Savoir si au moins un fichier "aide" est enregistré
$( '.field-help' ).each( function () {
if( '' !== $( this ).val() ){
helpFileExists = true;
}
})
// dans ce cas intégrer dans le formulaire à soumettre un bloc
// qui contiendra une copie de chacun de ces input[type="file"]
if( helpFileExists ){
$( '#submit-button' ).before( '<div id="help-doc-submit" style="position:fixed;visibility:hidden;"></div>' );
}
// On déroule les blocs de champs supplémentaires
for( var index = $( 'fieldset' ).first().data( 'id' ) ; index <= count ; index++ ) {
var thisFieldset = $( 'fieldset[data-id="' + index + '"]');
// Certains indices peuvent correspondre à un champ supprimé
if( 0 < $( thisFieldset ).length ) {
// initialisation du tableau de résultats
datasToSubmit[ resultArrayIndex ] = { fieldValues:{} };
// Ajout de la clé au tableau de resultats
datasToSubmit[ resultArrayIndex ].key = $( '.field-key' , thisFieldset ).val();
// Ajout de le nom au tableau de resultats
datasToSubmit[ resultArrayIndex ].name = $( '.field-name' , thisFieldset ).val();
// Recueil de l'élément choisi pour le tableau de resultats
datasToSubmit[ resultArrayIndex ].element = $( '.field-element' , thisFieldset ).val();
// Ajout de la valeur 'requis' ou non au tableau de resultats
datasToSubmit[ resultArrayIndex ].mandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' );
// Ajout de l'unité au tableau de resultats
datasToSubmit[ resultArrayIndex ].unit = $( '.field-unit' , thisFieldset ).val() || null;
// Ajout du tooltip au tableau de resultats
datasToSubmit[ resultArrayIndex ].description = $( '.field-description' , thisFieldset ).val() || null;
// Collecte les des données dépendantes de l'élément choisi
// sous forme d'un tableau de resultats
onSelectCollectDataValuesToSubmit( datasToSubmit[ resultArrayIndex ] , thisFieldset );
 
if( $.isEmptyObject( datasToSubmit[ resultArrayIndex ].fieldValues ) ){
delete datasToSubmit[ resultArrayIndex ].fieldValues;
}
// Copie d'un champ de fichier d'aide dans le bloc d'envoi
if( 0 < $( '.field-help' , thisFieldset ).get(0).files.length ) {
// Présence d'un document d'aide
datasToSubmit[ resultArrayIndex ].help = $( '.field-help' , thisFieldset ).get(0).files[0].type;
$( '.field-help' , thisFieldset ).clone()
.attr( 'name' , 'help-' + datasToSubmit[ resultArrayIndex ].key )// l'attribut name prend la valeur de la clé
.appendTo( '#help-doc-submit' );
} else {
datasToSubmit[ resultArrayIndex ].help = null;
}
resultArrayIndex++;
}
}
 
var resultsArrayJson = JSON.stringify( datasToSubmit , replacer );
 
// JSON.stringify : Gestion des apostrophes dans les valeurs :
function replacer( key , value ) {
if ( 'fieldValues' === key && 'object' === typeof value ) {
for ( var i in value ) {
if ( typeof value[i] === 'string' ) {
// value[i] = value[i].replace( /\u0027/g, "&apos;&apos;" );
// La solution ci-dessus convient pour stockage dans la base mais pas pour la lecture dans saisie
// du coup astuce moisie:
value[i] = value[i].replace( /\u0027/g, "@apos@" ).replace( /\u0022/g, '@quot@' )
}
}
} else if ( typeof value === 'string' ) {
// value = value.replace( /\u0027/g, "&apos;&apos;" );
// La solution ci-dessus convient pour stockage dans la base mais pas pour la lecture dans saisie
// du coup astuce moisie:
value = value.replace( /\u0027/g, "@apos@" ).replace( /\u0022/g, '@quot@' )
}
return value;
}
 
console.log( resultsArrayJson );
 
// Désactivation de tous les champs et boutons (nouveaux champs)
$( '#new-fields, #new-fields .button , #add-fields , #preview-field' ).addClass( 'disabled' );
$( '#validate-new-fields' ).addClass( 'validated' );
$( '.validate-new-fields' ).text( 'Champs validés' );
// Mise à disposition des données pour le bouron submit
$( '#submit-button' ).before(
//la value est passée avec des apostrophes pour que les guillemets de la string json passent bien en string de l'attribut
'<input type="hidden" name="champs-supp" id="champs-supp" value=\'' + resultsArrayJson + '\'>'
);
}
 
// Renseigne le tableau de resultat
// pour les données dépendant de l'élément choisi
function onSelectCollectDataValuesToSubmit( datasToSubmitObject , thisFieldset ) {
switch( datasToSubmitObject.element ) {
case 'select':
case 'checkbox':
case 'list-checkbox':
case 'radio':
datasToSubmitObject.fieldValues.listValue = [];
// Ajout des valeurs de liste
onChangeStoreListValueLabel( datasToSubmitObject , thisFieldset );
// S'il y a une valeur 'autre' on l'indique à la fin de la liste
if( $( '.option-other-value' , thisFieldset ).is( ':checked' ) && -1 === datasToSubmitObject.fieldValues.listValue.indexOf( 'other' ) ) {
datasToSubmitObject.fieldValues.listValue.push( 'other' );
}
break;
 
case 'number':
case 'range':
// Placeholder
datasToSubmitObject.fieldValues.placeholder = $( '.aide-saisie' , thisFieldset ).val() || null;
// Valeur par défaut
datasToSubmitObject.fieldValues.default = $( '.default' , thisFieldset ).val() || null;
// Incrémentation ( attribut step="" )
datasToSubmitObject.fieldValues.step = $( '.step' , thisFieldset ).val() || null;
// Min
datasToSubmitObject.fieldValues.min = $( '.min' , thisFieldset ).val() || null;
// Max
datasToSubmitObject.fieldValues.max = $( '.max' , thisFieldset ).val() || null;
break;
 
case 'date':
// Min
datasToSubmitObject.fieldValues.min = $( '.min' , thisFieldset ).val() || null;
// Max
datasToSubmitObject.fieldValues.max = $( '.max' , thisFieldset ).val() || null;
break;
 
case 'email':
case 'text':
case 'textarea':
default:
// Placeholder
datasToSubmitObject.fieldValues.placeholder = $( '.aide-saisie' , thisFieldset ).val() || null;
break;
}
return datasToSubmitObject;
}
 
// Ajout d'une valeur d'un élément liste (select, checkbox etc.)
// dans le tableau de resultats
function onChangeStoreListValueLabel( datasToSubmitObject , thisFieldset ) {
$( '.list-value' , thisFieldset ).each( function() {
var valueId = $( this ).data( 'list-value-id' );
var selectedFieldElement = $( '.field-element' , thisFieldset ).val();
var displayedLabel = '';
 
if ( valeurOk( $( '.displayed-label[data-list-value-id="' + valueId + '"]', thisFieldset ).val() ) ) {
displayedLabel = $( '.displayed-label[data-list-value-id="' + valueId + '"]', thisFieldset ).val();
}
if( $( this ).val() ){
// Is-default-value non cochée
if( !$( '.is-defaut-value[data-list-value-id="' + valueId + '"]' , thisFieldset ).is( ':checked' ) ) {
datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val(), displayedLabel ] );
// Is-default-value cochée pour select/radio
} else if( 'select' === selectedFieldElement || 'radio' === selectedFieldElement ) {
// Une seule valeur par defaut, devient la première valeur du tableau + '#'
datasToSubmitObject.fieldValues.listValue.unshift( [ $( this ).val() + '#', displayedLabel ] );
// Is-default-value cochée pour checkbox/list-checkbox
} else {
// On ajoute simplement la valeur au tableau + '#'
datasToSubmitObject.fieldValues.listValue.push( [ $( this ).val() + '#', displayedLabel ] );
}
}
});
}
 
/************************************************
* Fonction d'affichage des champs classiques *
************************************************/
 
// Prévisualisation
function DisplayClassicFields() {
// Affichage du titre du widget
renderFields( $( '#titre' ) , $( '.widget-renderer h1' ) );
// Affichage de la description
renderFields( $( '#description' ) , $( '.preview-description' ) );
// Affichage referentiel
$( '#label-taxon span' ).text( ' (' + $( '#referentiel' ).val() + ')' );
$( '#referentiel' ).change( function() {
$( '#label-taxon span' ).text( ' (' + $( this ).val() + ')' );
});
 
// Affichage du logo s'il existe déjà
if( 0 !== $( '#logo' ).val().length || $( '#logo' )[0].defaultValue ) {
$( '#preview-logo' ).append(
'<img src="' +
$( '#group-settings-form .logo img' ).prop( 'src' ) +
'" width="75%"' +
'>'
);
}
// Affichage du logo chargé
$( '#logo.input-file' ).change( function( event ) {
// Si le 'change' n'était pas une suppression
if( $.isEmptyObject( event.target.files[0] ) ) {
$( '#preview-logo img' ).remove();
// Si on a chargé un logo ou changé le fichier
} else {
$( '#preview-logo' ).append(
'<img src="' +
URL.createObjectURL( event.target.files[0] ) +
'" width="75%"' +
'>'
);
}
});
// Affichage de l'image de fond
$('#image_fond.input-file').change( function ( event ) {
if( !$.isEmptyObject( event.target.files[0] ) ) {
$( '.widget-renderer' ).css('background' ,'url(' + URL.createObjectURL( event.target.files[0] ) + ') no-repeat fixed center center');
} else {
$( '.widget-renderer' )[0].style.removeProperty( 'background' );
}
});
}
 
// Affichage des infos dès que disponibles
// pour les champs classiques
function renderFields( $source , $taget ) {
var text = new DOMParser().parseFromString($source.val(), 'text/html');
 
text = text.body.textContent || '';
if( $source.val() ) {
$taget.text( text );
}
$source.change( function () {
$taget.text( text );
});
}
 
 
/*****************************************************
* Fonction d'affichage des champs supplémentaires *
*****************************************************/
 
// Construction des éléments à visualiser
function onClickPreviewField( thisFieldset , index ) {
// Récupération des données
// Tous les champs
var fieldLabel = $( '.field-name' , thisFieldset ).val() || '',//nom
fieldKey = $( '.field-key' , thisFieldset ).val() || '',//clé
fieldElement = $( '.field-element' , thisFieldset ).val() || '',//élément
fieldIsMandatory = $( '.field-is_mandatory' , thisFieldset ).is( ':checked' ),//champ requis
fieldUnit = $( '.field-unit' , thisFieldset ).val() || '',//unités
fieldTooltip = $( '.field-description' , thisFieldset ).val() || '',//info-bulle
fieldHelp = $( '.file-return.help-doc-' + index ).text() || '',//nom du fichier d'aide
fieldPlaceholder = $( '.aide-saisie' , thisFieldset ).val() || '',//placeholder
// Champs à valeur numérique ou date
fieldStep = $( '.step' , thisFieldset ).val() || '',
fieldMin = $( '.min' , thisFieldset ).val() || '',
fieldMax = $( '.max' , thisFieldset ).val() || '',
// Champs "listes"
fieldDefaultNum = $( '.default' , thisFieldset ).val() || '',// value range/number par default
fieldOtherValue = $( '.option-other-value' , thisFieldset ).is( ':checked' ),//option autre
fieldOptions = collectListOptions( thisFieldset );//Array: toutes les options
// Variables d'affichage
var fieldHtml = '',//variable contenant tout le html à afficher
commonFieldsHtml = {},//Éléments simples ou chaînes communes aux "listes"
listFieldsHtml = {},//chaînes & html pour les listes mais non spécifiques
listFieldsHtml = {},//chaînes & html spécifiques aux listes
count = fieldOptions.length;//nombre d'options, pour les boucles for
fieldLabel = fieldLabel.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
fieldTooltip = fieldTooltip.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
fieldPlaceholder = fieldPlaceholder.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' );
 
//valeurs initiales des chaînes de caractères
//Éléments simples ou chaînes communes aux "listes"
commonFieldsHtml = {
dataIdAttr : ' data-id="' + index + '"',
helpButton : '',//bouton aide
helpClass : '',//classe de l'élément associé au bouton aide
titleAttr : '',//info-bulle
fieldInput : {//attributs de l'élément
typeAttr : ' type="' + fieldElement + '"',
nameAttr : ' name="' + fieldKey + '"',
classAttr : ' class="' + fieldKey + '"',
placeholderAttr : '',
mandatoryAttr : '',//required
otherAttr : ''
},
fieldLabel : {//attributs et contenu du label
labelContent : fieldLabel,//label
forAttr : ' for="' + fieldKey + '"',//attribut for
classAttr : '',//classe du label
otherAttr : ''//tous autres attributs
}
}
// Pour les éléments de listes (select, checkbox, etc.)
listFieldsHtml = {
containerContent : fieldLabel,//les options peuvent avoir chacune un label
containerClass : '',//une classe pour le conteneur
forAttr : '',//correspond à l'id d'une checkbox/radio/list-checkbox
optionIdAttr : '',//value-id
defaultAttr : ''//default
};
// Changement d'un élément existant:
// supprimer le précédent pour ajouter le nouveau
if( 0 < $( '.preview-fields' , thisFieldset ).length ) {
$( '.preview-fields' , thisFieldset ).remove();
}
// Élément requis
if( fieldIsMandatory ) {
// Attribut required pour le listes
commonFieldsHtml.fieldInput.mandatoryAttr = ' required="required"';
// Nom du champ (éléments listes)
listFieldsHtml.containerContent = '* ' + listFieldsHtml.containerContent;
// Nom du champ (éléments simples)
commonFieldsHtml.fieldLabel.labelContent = '* ' + commonFieldsHtml.fieldLabel.labelContent;
}
// Infobulle
if( '' !== fieldTooltip ) {
commonFieldsHtml.titleAttr = ' title="' + fieldTooltip + '"';
}
// Placeholder
if( '' !== fieldPlaceholder ) {
commonFieldsHtml.fieldInput.placeholderAttr = ' placeholder="' + fieldPlaceholder + '"';
}
// Fichier d'aide
if( '' !== fieldHelp ) {
// Bouton 'aide'
commonFieldsHtml.helpButton = '<div class="help-button btn btn-outline-info btn-sm border-0"><i class="fas fa-info-circle"></i></div>';
// classe 'aide'
commonFieldsHtml.helpClass = ' and-help';
}
// html à ajouter en fonction de l'élément choisi
switch( fieldElement ) {
case 'checkbox' :
case 'radio' :
listFieldsHtml.containerClass = ' class="' + fieldElement +'"';
commonFieldsHtml.fieldLabel.classAttr = ' class="radio-label"';
fieldHtml =
// Conteneur
'<div style="width:100%"' +
// Class="L'élément choisi"
listFieldsHtml.containerClass +
// DataId
commonFieldsHtml.dataIdAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Info bulle
commonFieldsHtml.titleAttr +
' >'+
// Nom du champ
// Classe 'and-help'
'<div class="mt-3 list-label' + commonFieldsHtml.helpClass + '">' +
// Label
listFieldsHtml.containerContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</div>';
// On déroule les différentes valeurs
for( let i = 0; i < count; i++ ) {
let fieldOption = fieldOptions[i];
// L'id de input
listFieldsHtml.inputIdAttr = ' id="' + fieldOption.optionValue + '"';
listFieldsHtml.forAttr = ' for="' + fieldOption.optionValue + '"';
// Default
listFieldsHtml.defaultAttr = '';//réinitialisation
if( fieldOption.isDefault ) {//affectation
listFieldsHtml.defaultAttr = ' checked';
}
// L'indice de chaque option
// L'option "autre" n'en a pas
if( '' !== fieldOption.optionIndex ) {
listFieldsHtml.optionIdAttr = ' value-id="' + fieldOption.optionIndex + '"';
}
 
fieldHtml +=
'<label' +
// For
listFieldsHtml.forAttr +
// value-id
listFieldsHtml.optionIdAttr +
// Class du label
commonFieldsHtml.fieldLabel.classAttr +
'>' +
'<input' +
// Type
commonFieldsHtml.fieldInput.typeAttr +
// Id
listFieldsHtml.inputIdAttr +
// DataId
commonFieldsHtml.dataIdAttr +
// value-id
listFieldsHtml.optionIdAttr +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// Value
' value="' + fieldOption.optionValue.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) + '"' +
// Checked
listFieldsHtml.defaultAttr +
// Class="nom du champ"
commonFieldsHtml.fieldInput.classAttr +
'>' +
// Label de l'option
fieldOption.optionText.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) +
'</label>';
}
// Si valeur "autre" est cochée
if( fieldOtherValue ) {
fieldHtml +=
'<label for="other"' +
commonFieldsHtml.dataIdAttr +
commonFieldsHtml.fieldLabel.classAttr +
'>' +
'<input' +
commonFieldsHtml.fieldInput.typeAttr +
' id="other-' + fieldElement + '-' + index + '"' +
commonFieldsHtml.fieldInput.nameAttr +
' value="other"' +
commonFieldsHtml.fieldInput.classAttr +
commonFieldsHtml.dataIdAttr +
'>' +
'Autre</label>';
}
// Fin du conteneur
fieldHtml += '</div>';
break;
 
case 'list-checkbox':
commonFieldsHtml.fieldLabel.classAttr = ' class="radio-label"';
fieldHtml =
// Classe 'and-help'
'<div class="multiselect add-field-select' + commonFieldsHtml.helpClass + '"' +
// DataId
commonFieldsHtml.dataIdAttr +
'>' +
'<label style="width:100%">' +
// Nom du champ
listFieldsHtml.containerContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<div class="mt-3">'+
'<div class="selectBox"' +
// DataId
commonFieldsHtml.dataIdAttr +
'>' +
'<select' +
// DataId
commonFieldsHtml.dataIdAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Info bulle
commonFieldsHtml.titleAttr +
// Class
' class="form-control custom-select ' + fieldElement + '"' +
'>' +
// Apparait dans la barre de sélection
'<option>Plusieurs choix possibles</option>' +
'</select>' +
'<div class="overSelect"></div>' +
'</div>' +
'<div class="checkboxes hidden"' +
// DataId
commonFieldsHtml.dataIdAttr +
'>';
// On déroule les différentes valeurs
for( let i = 0; i < count; i++ ) {
let fieldOption = fieldOptions[i];
// Type="checkbox"
commonFieldsHtml.fieldInput.typeAttr = ' type="checkbox"';
// Id
listFieldsHtml.inputIdAttr = ' id="' + fieldOption.optionValue.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ).toLowerCase() + '"';
// For
listFieldsHtml.forAttr = ' for="' + fieldOption.optionValue.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ).toLowerCase() + '"';
// Default
listFieldsHtml.defaultAttr = '';//réinitialisation
if( fieldOption.isDefault ) {
listFieldsHtml.defaultAttr = ' checked';//affectation
}
// value-id
if( '' !== fieldOption.optionIndex ) {
listFieldsHtml.optionIdAttr = ' value-id="' + fieldOption.optionIndex + '"';
}
 
fieldHtml +=
'<label' +
// For
listFieldsHtml.forAttr +
// value-id
listFieldsHtml.optionIdAttr +
// Class du label
commonFieldsHtml.fieldLabel.classAttr+
'>' +
'<input type="checkbox"' +
// Id
listFieldsHtml.inputIdAttr +
// value-id
listFieldsHtml.optionIdAttr +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// Value
' value="' + fieldOption.optionValue.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) + '"' +
// Checked
listFieldsHtml.defaultAttr +
// Class="nom du champ"
commonFieldsHtml.fieldInput.classAttr +
// DataId
commonFieldsHtml.dataIdAttr +
'>' +
// Label de l'option
fieldOption.optionText.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) +
'</label>';
}
// Si valeur "autre" est cochée
if( fieldOtherValue ) {
fieldHtml +=
'<label for="other"' +
// DataId
commonFieldsHtml.dataIdAttr +
'>' +
'<input type="checkbox"' +
' id="other-' + fieldElement + '-' + index + '"' +
commonFieldsHtml.fieldInput.nameAttr +
' value="other"' +
commonFieldsHtml.fieldInput.classAttr +
// DataId
commonFieldsHtml.dataIdAttr +
'>' +
'Autre</label>';
}
// Fermeture des conteneurs .multiselect .checkboxes
fieldHtml +=
'</div>'+
'</div>'+
'</div>';
break;
 
case 'select':
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
commonFieldsHtml.fieldInput.classAttr += ' form-control custom-select"';
fieldHtml =
// Conteneur/Wrapper
// +Classe 'and-help'
'<div class="add-field-select ' + fieldElement + commonFieldsHtml.helpClass + '"' +
// DataID
commonFieldsHtml.dataIdAttr +
'>' +
'<label class="mt-3" style="width:100%"' +
commonFieldsHtml.fieldLabel.forAttr +
// Info bulle
commonFieldsHtml.titleAttr +
'>' +
// Nom du champ
listFieldsHtml.containerContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<select' +
commonFieldsHtml.fieldInput.nameAttr +
' id="' + fieldKey + '"' +
// Class
commonFieldsHtml.fieldInput.classAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// DataId
commonFieldsHtml.dataIdAttr +
'>';
 
// On déroule les différentes valeurs
for( let i = 0; i < count; i++ ) {
let fieldOption = fieldOptions[i];
// Default
listFieldsHtml.defaultAttr = '';//réinitialisation
if( fieldOption.isDefault ) {//affectation
listFieldsHtml.defaultAttr = ' selected="selected"';
}
// value-id
if( '' !== fieldOption.optionIndex ) {
listFieldsHtml.optionIdAttr = ' value-id="' + fieldOption.optionIndex + '"';
}
 
fieldHtml +=
'<option' +
// Value
' value="' + fieldOption.optionValue.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) + '"' +
// Value-id
listFieldsHtml.optionIdAttr +
// Selected
listFieldsHtml.defaultAttr +
'>' +
// Option
fieldOption.optionText.replace( /(')/gm, '&apos;' ).replace( /(")/gm, '&quot;' ) +
'</option>';
}
// Si valeur "autre" est cochée
if( fieldOtherValue ) {
fieldHtml +=
'<option class="other" value="other"' + commonFieldsHtml.dataIdAttr + '>' +
'Autre' +
'</option>';
}
// Fermeture des conteneurs
fieldHtml +=
'</select>' +
// Fin du conteneur/wrapper
'</div>';
break;
 
case 'textarea':
// Ouvrir l'attribut class (suppression de '"')
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
// Classe 'custom-range'
commonFieldsHtml.fieldInput.classAttr += ' form-control"';
// Classe 'and-help'
commonFieldsHtml.fieldLabel.classAttr = ' class="mt-3 ' + commonFieldsHtml.helpClass + '"';
// Autres attributs
commonFieldsHtml.fieldInput.otherAttr += ' id="' + fieldKey + '"';
 
fieldHtml =
'<label style="width:100%"' +
// For
commonFieldsHtml.fieldLabel.forAttr +
// Class
commonFieldsHtml.fieldLabel.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Autres attributs
commonFieldsHtml.fieldLabel.otherAttr +
'>' +
// Nom du champ
commonFieldsHtml.fieldLabel.labelContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<textarea' +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// DataId
commonFieldsHtml.dataIdAttr +
// Class
commonFieldsHtml.fieldInput.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Info-bulle
commonFieldsHtml.fieldInput.placeholderAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Autres attributs
commonFieldsHtml.fieldInput.otherAttr +
'></textarea>';
break;
 
case 'range':
// Ouvrir l'attribut class (suppression de '"')
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
// Classe 'custom-range'
commonFieldsHtml.fieldInput.classAttr += ' custom-range form-control pl-3"';
// Classe 'and-help'
commonFieldsHtml.fieldLabel.classAttr = ' class="mt-3 ' + commonFieldsHtml.helpClass + '"';
// Step
if( '' !== fieldStep ) {
commonFieldsHtml.fieldInput.otherAttr += ' step="' + fieldStep + '"';
}
// Min
if( '' !== fieldMin ) {
commonFieldsHtml.fieldInput.otherAttr += ' min="' + fieldMin + '"';
}
//Max
if( '' !== fieldMax ) {
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"';
}
fieldHtml =
'<div' +
' class="range"' +
' id="' + fieldKey + '"' +
'>' +
'<label style="width:100%"' +
// For
commonFieldsHtml.fieldLabel.forAttr +
// Class
commonFieldsHtml.fieldLabel.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Autres attributs
commonFieldsHtml.fieldLabel.otherAttr +
'>' +
// Nom du champ
commonFieldsHtml.fieldLabel.labelContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<div class="col-sm-12 row" style="max-width=100%">' +
// Visualiser min max et la valeur de range
'<p class="col-sm-2 range-values text-center font-weight-bold">'+
'Min ' + fieldMin +
'</p>'+
'<div class="range-live-value range-values text-center font-weight-bold col-sm-7">'+
fieldDefaultNum +
'</div>'+
'<p class="col-sm-2 range-values text-center font-weight-bold">'+
'Max ' + fieldMax +
'</p>' +
 
'<input' +
// Type
commonFieldsHtml.fieldInput.typeAttr +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// DataId
commonFieldsHtml.dataIdAttr +
// Class
commonFieldsHtml.fieldInput.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Default
' value="' + fieldDefaultNum + '"' +
// Autres attributs
commonFieldsHtml.fieldInput.otherAttr +
'>' +
'</div>'
'</div>';
break;
 
case 'number':
// Step
if( '' !== fieldStep ) {
commonFieldsHtml.fieldInput.otherAttr += ' step="' + fieldStep + '"';
}
case 'date':
// Ouvrir l'attribut class (suppression de '"')
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
// Classe 'and-help'
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + ' form-control"';
// Min
if( '' !== fieldMin ) {
commonFieldsHtml.fieldInput.otherAttr += ' min="' + fieldMin + '"';
}
// Max
if( '' !== fieldMax ) {
commonFieldsHtml.fieldInput.otherAttr += ' max="' + fieldMax + '"';
}
// Class du label
commonFieldsHtml.fieldLabel.classAttr = 'class="mt-3"';
fieldHtml =
'<div class="number">' +
'<label style="width:100%"' +
// For
commonFieldsHtml.fieldLabel.forAttr +
// Class
commonFieldsHtml.fieldLabel.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Autres attributs
commonFieldsHtml.fieldLabel.otherAttr +
'>' +
// Nom du champ
commonFieldsHtml.fieldLabel.labelContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<input' +
// Type
commonFieldsHtml.fieldInput.typeAttr +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// DataId
commonFieldsHtml.dataIdAttr +
// Class
commonFieldsHtml.fieldInput.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Placeholder
commonFieldsHtml.fieldInput.placeholderAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Default
' value="' + fieldDefaultNum + '"' +
// Autres attributs
commonFieldsHtml.fieldInput.otherAttr +
'>' +
'</div>';
break;
 
case 'text' :
case 'email':
default:
// Ouvrir l'attribut class (suppression de '"')
commonFieldsHtml.fieldInput.classAttr = commonFieldsHtml.fieldInput.classAttr.slice(0, -1);
// Classe 'and-help'
commonFieldsHtml.fieldInput.classAttr += commonFieldsHtml.helpClass + ' form-control"';
// Class du label
commonFieldsHtml.fieldLabel.classAttr = 'class="mt-3"';
 
fieldHtml =
'<label style="width:100%"' +
// For
commonFieldsHtml.fieldLabel.forAttr +
// Class
commonFieldsHtml.fieldLabel.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Autres attributs
commonFieldsHtml.fieldLabel.otherAttr +
'>' +
// Nom du champ
commonFieldsHtml.fieldLabel.labelContent +
// Bouton 'help'
commonFieldsHtml.helpButton +
'</label>' +
'<input' +
// Type
commonFieldsHtml.fieldInput.typeAttr +
// Name
commonFieldsHtml.fieldInput.nameAttr +
// DataId
commonFieldsHtml.dataIdAttr +
// Class
commonFieldsHtml.fieldInput.classAttr +
// Info-bulle
commonFieldsHtml.titleAttr +
// Placeholder
commonFieldsHtml.fieldInput.placeholderAttr +
// Required
commonFieldsHtml.fieldInput.mandatoryAttr +
// Autres attributs
commonFieldsHtml.fieldInput.otherAttr +
'>';
break;
}
return fieldHtml;
}
 
// Construire un tableau des options pour chaque élément de listes
function collectListOptions( thisFieldset ) {
var $details = $( '.field-details' , thisFieldset ),
options = [];
 
$details.find( '.new-value' ).each( function() {
options.push({
// Valeur transmise (value)
optionValue : $( this ).find( '.list-value' ).val().toLowerCase(),
// Valeur Visible
optionText : $( this ).find( '.displayed-label' ).val(),
// Booléen "default"
isDefault : $( this ).find( '.is-defaut-value' ).is( ':checked' ),
// Indice de l'option
optionIndex : $( this ).data( 'list-value-id' )
});
});
return options;
}
 
// Faire apparaitre un champ text "Autre"
function onOtherOption( thisFieldset , index ) {
// Ce champ (dans la prévisualisation)
var thisPreviewFieldset = $( '.preview-fields[data-id="' + index + '"]'),
// L'élément choisi
element = $('.field-element' , thisFieldset ).val(),
// Où insérer le champ "Autre"
$element = $( '.' + element , thisPreviewFieldset ),
// html du champ "Autre"
collectOther =
'<div class="col-sm-12 mt-1 collect-other-block">'+
'<label data-id="' + index + '" for="collect-other" style="font-weight:300">Autre option :</label>' +
'<input type="text" name="collect-other" data-id="' + index + '" class="collect-other form-control" >'+
'</div>';
// Pouvoir supprimer le champ "Autre"
function optionRemove( thisPreviewFieldset ) {
$( '.collect-other-block' , thisPreviewFieldset ).remove();
}
 
switch( element ) {
case 'radio' :
// Lorsqu'un nouveau bouton est coché
$( 'input' , thisPreviewFieldset ).on( 'change' , function () {
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
$element.after( collectOther );
} else {
// Suppression du champ autre
optionRemove( thisPreviewFieldset );
}
});
break;
 
case 'select' :
// Lorsque l'option "Autre" est selectionnée
$( 'select' , thisPreviewFieldset ).on( 'change' , function () {
if( 'other' === $( this).val() ) {
// Insertion du champ "Autre" après les boutons
$element.after( collectOther );
// Suppression du champ autre
} else {
optionRemove( thisPreviewFieldset );
}
});
break;
 
case 'list-checkbox' :
// Lorsque "Autre" est coché
$( 'input#other-' + element + '-' + index, thisPreviewFieldset ).on( 'click' , function () {
// Insertion du champ "Autre" après les boutons
if( $( this ).is( ':checked' ) ) {
$( '.checkboxes', thisPreviewFieldset ).append( collectOther );
} else {
// Suppression du champ autre
optionRemove( thisPreviewFieldset );
}
});
break;
case 'checkbox' :
// Lorsque "Autre" est coché
$( 'input#other-' + element + '-' + index, thisPreviewFieldset ).on( 'click' , function () {
// Insertion du champ "Autre" après les boutons
if( $( this ).is( ':checked' ) ) {
$element.after( collectOther );
} else {
// Suppression du champ autre
optionRemove( thisPreviewFieldset );
}
});
break;
 
default :
break;
}
}
 
// Prévisualisation des nouveaux champs
function newFieldsPreview() {
var count = $( 'fieldset' ).last().data( 'id' );
// Si on a déjà prévisualisé on efface tout pour recommencer
if( 0 < $( '.preview-fields' ).length ) {
$( '.preview-fields' ).each( function () {
$( this ).remove();
});
}
// Au premier ajout d'un champ dans la prévisualisation on ajoute un titre et un message
if( true === firstClick ) {
$( '#zone-supp' ).prepend(
'<h2>Informations propres au projet</h2>' +
'<div class="message">L\'objectif principal de cet aperçu est de vérifier les contenus et repérer d\'éventuelles erreurs</div>'
);
}
// Parcourir tous les blocs d'infos de champs supplémentaires
for( var index = $( 'fieldset' ).first().data( 'id' ) ; index <= count ; index++ ) {
var thisFieldset = $( 'fieldset[data-id="' + index + '"]');
// Certains indices peuvent correspondre à un champ supprimé
if( 0 < $( thisFieldset ).length ) {
// Prévisualisation d'un champ
$( '#zone-supp .preview-container' ).append(
'<div class="preview-fields col-sm-12 row" data-id="' + index + '">'+
onClickPreviewField( thisFieldset , index ) +
'</div>'
);
// Ajout/suppression d'un champ texte "Autre"
if( $( '.option-other-value' , thisFieldset ).is( ':checked' ) ) {
onOtherOption( thisFieldset , index);
}
}
}
// Le titre + message de la section prévisualisation ne sont ajoutés qu'une fois
firstClick = false;
}
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
function previewFieldHelpModal() {
$( '#zone-supp' ).on( 'click' , '.help-button' , function ( event ) {
var index = $( this ).closest( '.preview-fields' ).data( 'id' ),
thisFieldset = $( '.new-field[data-id="' + index + '"]' ),
file = $( '.field-help' , thisFieldset )[0].files[0],
tmppath = URL.createObjectURL( file );
// Titre
$( '#help-modal-label' ).text( 'Aide pour : ' + $( '.field-name' , thisFieldset ).val() );
// Contenu
if( file.type.match( 'image/*' ) ) {
$( '#print_content' ).append( '<img src="' + tmppath + '" style="max-width:100%">' );
} else {
$( '#print_content' ).append( '<p>Erreur : le fichier n\'est pas une image</p>' );
}
// Sortie avec la touche escape
$( '#help-modal' ).modal( { keyboard : true } );
// Affichage
$( '#help-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#help-modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
})
// Réinitialisation
$( '#help-modal' ).on( 'hidden.bs.modal' , function () {
$( '#help-modal-label' ).text();
$( '#print_content' ).empty();
})
});
}
 
function potDeMiel() {
if( !valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
$( '#signup_submit' ).prop( 'disabled', false );
}
$( '#signup_submit' ).off().on( 'click dblclick mousedown submit focus keydown keypress keyup touchstart touchend', function() {
if( valeurOk( $( '#basic-widget-form #email' ).val() ) ) {
return false;
}
});
$( '#basic-widget-form #email' ).css({ position : 'absolute', left : '-2000px' }).on( 'input blur change', function( event ) {
event.preventDefault();
if( valeurOk( $( this ).val() ) ) {
$( 'form' ).each( function() {
$( this )[0].reset();
});
$( '#signup_submit' ).prop( 'disabled', true );
}
});
}
 
function onGeoloc() {
// Empêcher que le module carto ne bind ses events partout
$( '#tb-geolocation' ).on( 'submit blur click focus mousedown mouseleave mouseup change', '*', function( event ) {
event.preventDefault();
return false;
});
// evenement location
$( '#tb-geolocation' ).on( 'location' , function( location ) {
var locDatas = location.originalEvent.detail;
 
if ( valeurOk( locDatas ) ) {
console.dir( locDatas );
 
var latitude = '';
var longitude = '';
if ( valeurOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( valeurOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0].toFixed( 5 );
}
if ( valeurOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1].toFixed( 5 );
}
} else if ( 'LineString' === locDatas.geometry.type ) {
if(this.valOk( locDatas.centroid.coordinates )){
if ( this.valOk( locDatas.centroid.coordinates[0] ) ) {
longitude = locDatas.centroid.coordinates[0];
}
if ( this.valOk( locDatas.centroid.coordinates[1] ) ) {
latitude = locDatas.centroid.coordinates[1];
}
} else {// on ne prend qu'un point de la ligne
if ( valeurOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
longitude = longitude.toFixed( 5 );
}
if ( valeurOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
latitude = latitude.toFixed( 5 );
}
}
}
}
if ( valeurOk( latitude ) && valeurOk( longitude ) ) {
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
}
}
});
}
 
function onGeolocManuelle() {
const coords = ['latitude','longitude','zoom'];
$( '#latitude,#longitude,#zoom' ).on( 'change', function( event ) {
var thisCoord = this.id,
thisVal = $( this ).val(),
valeur = '';
 
if ( $.isNumeric( thisVal ) ) {
switch( thisCoord ) {
case 'zoom':
if( 0 < parseInt( thisVal, 10 ) && 18 >= parseInt( thisVal, 10 ) ) {
valeur = thisVal;
}
break;
case 'latitude':
if ( 90 > Math.abs( parseInt( thisVal, 10 ) ) ) {
valeur = parseFloat( thisVal, 10 ).toFixed( 5 );
$( '#latitude' ).val( valeur );
}
break;
case 'longitude':
if ( 180 >= Math.abs( parseInt( thisVal, 10 ) ) ) {
valeur = parseFloat( thisVal, 10 ).toFixed( 5 );
$( '#longitude' ).val( valeur );
}
break;
default:
break;
}
}
//un champ vide n'est pas une erreur
if ( $.isNumeric( valeur ) ) {
$( this ).siblings( 'span.error' ).remove();
} else if ( 0 <= $.inArray( thisCoord, coords ) ) {
// on ne signale pas d'erreur si il n'y a rien dans le champ
if ( !valeurOk( $( this ).siblings( 'span.error' ) ) && valeurOk( $( this ).val() ) ) {
$( this ).after( '<span class="error">mauvais format pour ce champ<span>' );
} else {
$( this ).siblings( 'span.error' ).remove();
}
}
});
}
 
function geolocValidationEtStockage() {
$( '#signup_submit' ).off().on( 'click', function( event ) {
var localisation = '',
latitude = $( '#latitude' ).val(),
longitude = $( '#longitude' ).val(),
zoom = $( '#zoom' ).val();
 
if ( ( valeurOk( longitude ) && !valeurOk( latitude ) ) || ( !valeurOk( longitude ) && valeurOk( latitude ) ) ) {
if( !valeurOk( $( '.warning-carto' ) ) ) {
$( '#new-fields-buttons' ).after(
'<p class="message warning-carto">'+
'<i class="fa fa-exclamation-triangle" aria-hidden="true" style="color:#ff5d55"></i>&nbsp;Vous avez entré des coordonnées incomplètes<br>'+
'Complétez latitude ou longitude, ou placez un marqueur sur la carto, ou effacez ces deux champs'+
'</p>'
);
}
return false;
} else if( valeurOk( $( '.warning-carto' ) ) ) {
$( '.warning-carto' ).remove();
}
if ( valeurOk( latitude ) && valeurOk( longitude ) ) {
localisation += 'latitude:' + latitude + ';';
localisation += 'longitude:' + longitude;
}
if ( valeurOk( zoom ) ) {
if( valeurOk( localisation ) ) {
localisation += ';';
}
localisation += 'zoom:' + zoom;
}
if ( valeurOk( localisation ) ) {
$( '#localisation' ).val( localisation );
}
});
}
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
function valeurOk( valeur, sensComparaison = true, comparer = undefined ) {
var retour;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
return retour;
} else {
// Un booléen est une valeur valable
return true;
}
}
 
/***************************
* Lancement des scripts *
***************************/
 
// Tableau d'envoi des données
var datasToSubmit = new Array();
// Variable permettant un seul affichage du titre
// de la prévisualisation pour les nouveaux champs
var firstClick = true;
 
jQuery( document ).ready( function() {
// reset de tous les formulaires
$( 'form' ).each( function() {
$( this )[0].reset();
});
// Gestion du champ pot de miel
potDeMiel();
// Geoloc
onGeoloc();
onGeolocManuelle();
geolocValidationEtStockage();
// Identifiant de champ
var fieldIndex = 0;
// Ajout de nouveaux champs
onClickAddNewFields( fieldIndex );
// Activation/Desactivation des boutons valider et prévisualiser
onClickButtonsTagMissingValues();
// Prévisualisation des champs classiques
DisplayClassicFields();
// Affichage des images ou nom des documents importés
inputFile();
// Affichage des List-checkbox
inputListCheckbox();
// Activer la checkbox de valeur par default uniquement si une valeur est entrée
onInputListValueLabelEnableDefaultCheckbox();
// Affichage des Range
inputRangeDisplayNumber();
// Modale "aide"
previewFieldHelpModal();
});
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js
New file
0,0 → 1,4
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+rLv":function(e,t,n){var r=n("dyZX").document;e.exports=r&&r.documentElement},"0/R4":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"0TWp":function(e,t,n){!function(e,t){t()}(0,function(){"use strict";!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(o||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var i,a=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(i,a){if(S.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!e["__Zone_disable_"+i]){var c="Zone:"+i;n(c),S[i]=a(e,t,D),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{P=P.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{P=P.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==_||e.type!==O&&e.type!==x){var r=e.state!=b;r&&e._transitionTo(b,k),e.runCount++;var o=j;j=e,P={parent:P,zone:this};try{e.type==x&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==_&&e.state!==T&&(e.type==O||e.data&&e.data.isPeriodic?r&&e._transitionTo(k,b):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(_,b,_))),P=P.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(m,_);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(T,m,_),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==m&&e._transitionTo(k,m),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new s(E,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new s(x,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new s(O,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(w,k,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(T,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(_,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t.__symbol__=C,t}(),c={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");d(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),s=function(){function t(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=n===O&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,u,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),Z++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==Z&&y(),Z--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(_,m)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==_&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),l=C("setTimeout"),f=C("Promise"),p=C("then"),h=[],v=!1;function d(t){if(0===Z&&0===h.length)if(i||e[f]&&(i=e[f].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,y)}else e[l](y,0);t&&h.push(t)}function y(){if(!v){for(v=!0;h.length;){var e=h;h=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){D.onUnhandledError(e)}}}D.microtaskDrainDone(),v=!1}}var g={name:"NO ZONE"},_="notScheduled",m="scheduling",k="scheduled",b="running",w="canceling",T="unknown",E="microTask",x="macroTask",O="eventTask",S={},D={symbol:C,currentZoneFrame:function(){return P},onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:d,showUncaughtError:function(){return!a[C("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:z,patchMethod:function(){return z},bindArguments:function(){return[]},patchThen:function(){return z},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(i=e.resolve(0))}},P={parent:null,zone:new a(null,null)},j=null,Z=0;function z(){}function C(e){return"__zone_symbol__"+e}r("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var e=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),l="__creationTrace__";r.onUnhandledError=function(e){if(r.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},r.microtaskDrainDone=function(){for(;c.length;)for(var e=function(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){p(e)}};c.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){r.onUnhandledError(e);try{var t=n[f];t&&"function"==typeof t&&t.call(this,e)}catch(e){}}function h(e){return e&&e.then}function v(e){return e}function d(e){return M.reject(e)}var y=a("state"),g=a("value"),_=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),b="Promise.then",w=null,T=!0,E=!1,x=0;function O(e,t){return function(n){try{j(e,t,n)}catch(t){j(e,!1,t)}}}var S=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",P=a("currentTaskTrace");function j(e,t,o){var a=S();if(e===o)throw new TypeError(D);if(e[y]===w){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(t){return a(function(){j(e,!1,t)})(),e}if(t!==E&&o instanceof M&&o.hasOwnProperty(y)&&o.hasOwnProperty(g)&&o[y]!==w)z(o),j(e,o[y],o[g]);else if(t!==E&&"function"==typeof u)try{u.call(o,a(O(e,t)),a(O(e,!1)))}catch(t){a(function(){j(e,!1,t)})()}else{e[y]=t;var s=e[g];if(e[g]=o,e[_]===_&&t===T&&(e[y]=e[k],e[g]=e[m]),t===E&&o instanceof Error){var f=n.currentTask&&n.currentTask.data&&n.currentTask.data[l];f&&i(o,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<s.length;)C(e,s[p++],s[p++],s[p++],s[p++]);if(0==s.length&&t==E){e[y]=x;try{throw new Error("Uncaught (in promise): "+function(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(t){var h=t;h.rejection=o,h.promise=e,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}return e}var Z=a("rejectionHandledHandler");function z(e){if(e[y]===x){try{var t=n[Z];t&&"function"==typeof t&&t.call(this,{rejection:e[g],promise:e})}catch(e){}e[y]=E;for(var r=0;r<c.length;r++)e===c[r].promise&&c.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[y],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=n&&_===n[_];o&&(n[m]=r,n[k]=i);var c=t.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);j(n,!0,c)}catch(e){j(n,!1,e)}},n)}var M=function(){function t(e){if(!(this instanceof t))throw new Error("Must be an instanceof Promise.");this[y]=w,this[g]=[];try{e&&e(O(this,T),O(this,E))}catch(e){j(this,!1,e)}}return t.toString=function(){return"function ZoneAwarePromise() { [native code] }"},t.resolve=function(e){return j(new this(null),T,e)},t.reject=function(e){return j(new this(null),E,e)},t.race=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t});function c(e){a&&(a=o(e))}function u(e){a&&(a=i(e))}try{for(var s=e(t),l=s.next();!l.done;l=s.next()){var f=l.value;h(f)||(f=this.resolve(f)),f.then(c,u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a},t.all=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),c=2,u=0,s=[],l=function(e){h(e)||(e=f.resolve(e));var t=u;e.then(function(e){s[t]=e,0==--c&&o(s)},i),c++,u++},f=this;try{for(var p=e(t),v=p.next();!v.done;v=p.next())l(v.value)}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(s),a},t.prototype.then=function(e,t){var r=new this.constructor(null),o=n.current;return this[y]==w?this[g].push(o,r,e,t):C(this,o,r,e,t),r},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){var t=new this.constructor(null);t[_]=_;var r=n.current;return this[y]==w?this[g].push(r,t,e,e):C(this,r,t,e,e),t},t}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise"),R=o(t,"Promise");R&&!R.configurable||(R&&delete R.writable,R&&delete R.value,R||(R={configurable:!0,enumerable:!0}),R.get=function(){return t[F]?t[F]:t[u]},R.set=function(e){e===M?t[F]=e:(t[u]=e,e.prototype[s]||A(e),r.setNativePromise(e))},i(t,"Promise",R)),t.Promise=M;var L=a("thenPatched");function A(e){var t=e.prototype,n=o(t,"then");if(!n||!1!==n.writable&&n.configurable){var r=t.then;t[s]=r,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){r.call(n,e,t)}).then(e,t)},e[L]=!0}}return r.patchThen=A,I&&A(I),Promise[n.__symbol__("uncaughtPromiseErrors")]=c,M}),Zone.__load_patch("fetch",function(e,t,n){var r=e.fetch,o=e.Promise,i=n.symbol("thenPatched"),a=n.symbol("fetchTaskScheduling"),c=n.symbol("fetchTaskAborting");if("function"==typeof r){var u=e.AbortController,s="function"==typeof u,l=null;s&&(e.AbortController=function(){var e=new u;return e.signal.abortController=e,e},l=n.patchMethod(u.prototype,"abort",function(e){return function(t,n){return t.task?t.task.zone.cancelTask(t.task):e.apply(t,n)}}));var f=function(){};e.fetch=function(){var e=this,u=Array.prototype.slice.call(arguments),p=u.length>1?u[1]:null,h=p&&p.signal;return new Promise(function(p,v){var d=t.current.scheduleMacroTask("fetch",f,u,function(){var c,s=t.current;try{s[a]=!0,c=r.apply(e,u)}catch(e){return void v(e)}finally{s[a]=!1}if(!(c instanceof o)){var l=c.constructor;l[i]||n.patchThen(l)}c.then(function(e){"notScheduled"!==d.state&&d.invoke(),p(e)},function(e){"notScheduled"!==d.state&&d.invoke(),v(e)})},function(){if(s)if(h&&h.abortController&&!h.aborted&&"function"==typeof h.abortController.abort&&l)try{t.current[c]=!0,l.call(h.abortController)}finally{t.current[c]=!1}else v("cancel fetch need a AbortController.signal");else v("No AbortController supported, can not cancel fetch")});h&&h.abortController&&(h.abortController.task=d)})}}});var t=Object.getOwnPropertyDescriptor,n=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",u=Zone.__symbol__(a),s=Zone.__symbol__(c),l="true",f="false",p="__zone_symbol__";function h(e,t){return Zone.current.wrap(e,t)}function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,y="undefined"!=typeof window,g=y?window:void 0,_=y&&g||"object"==typeof self&&self||global,m="removeAttribute",k=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=h(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),x=!E&&!T&&!(!y||!g.HTMLElement),O=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!y||!g.HTMLElement),S={},D=function(e){if(e=e||_.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||_,o=r[t];return x&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():void 0==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function P(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!e.hasOwnProperty(a)||!e[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=S[s];l||(l=S[s]=d("ON_PROPERTY"+s)),i.set=function(t){var n=this;n||e!==_||(n=_),n&&(n[l]&&n.removeEventListener(s,D),u&&u.apply(n,k),"function"==typeof t?(n[l]=t,n.addEventListener(s,D,!1)):n[l]=null)},i.get=function(){var t=this;if(t||e!==_||(t=_),!t)return null;var n=t[l];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},n(e,r,i),e[a]=!0}}}function j(e,t,n){if(t)for(var r=0;r<t.length;r++)P(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)P(e,o[a],n)}}var Z=d("originalInstance");function z(e){var t=_[e];if(t){_[d(e)]=t,_[e]=function(){var n=b(arguments,e);switch(n.length){case 0:this[Z]=new t;break;case 1:this[Z]=new t(n[0]);break;case 2:this[Z]=new t(n[0],n[1]);break;case 3:this[Z]=new t(n[0],n[1],n[2]);break;case 4:this[Z]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},I(_[e],t);var r,o=new t(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof o[t]?_[e].prototype[t]=function(){return this[Z][t].apply(this[Z],arguments)}:n(_[e].prototype,t,{set:function(n){"function"==typeof n?(this[Z][t]=h(n,e+"."+t),I(this[Z][t],n)):this[Z][t]=n},get:function(){return this[Z][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(_[e][r]=t[r])}}var C=!1;function M(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&(i=e);var a=d(n),c=null;if(i&&!(c=i[a])&&(c=i[a]=i[n],w(i&&t(i,n)))){var u=o(c,a,n);i[n]=function(){return u(this,arguments)},I(i[n],c),C&&function(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,i[n])}return c}function I(e,t){e[d("OriginalDelegate")]=t}var F=!1,R=!1;function L(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(F)return R;F=!0;try{var e=g.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(R=!0),R}catch(e){}}Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.apply(this[n],arguments):Object.prototype.toString.call(i);if(this===Promise){var a=e[r];if(a)return t.apply(a,arguments)}if(this===Error){var c=e[o];if(c)return t.apply(c,arguments)}}return t.apply(this,arguments)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.apply(this,arguments)}});var q=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){q=!1}var H={useG:!0},W={},K={},U=/^__zone_symbol__(\w+)(true|false)$/,X="__zone_symbol__propagationStopped";function B(e,t,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",y="prependListener",g="."+y+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][f]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}};function b(t,n){if(!t)return!1;var a=!0;n&&void 0!==n.useG&&(a=n.useG);var c=n&&n.vh,_=!0;n&&void 0!==n.chkDup&&(_=n.chkDup);var b=!1;n&&void 0!==n.rt&&(b=n.rt);for(var w=t;w&&!w.hasOwnProperty(o);)w=r(w);if(!w&&t[o]&&(w=t),!w)return!1;if(w[h])return!1;var T,x=n&&n.eventNameToString,O={},S=w[h]=w[o],D=w[d(i)]=w[i],P=w[d(u)]=w[u],j=w[d(s)]=w[s];function Z(e){q||"boolean"==typeof O.options||void 0===O.options||null===O.options||(e.options=!!O.options.capture,O.options=e.options)}n&&n.prepend&&(T=w[d(n.prepend)]=w[n.prepend]);var z=a?function(e){if(!O.isExisting)return Z(e),S.call(O.target,O.eventName,O.capture?k:m,O.options)}:function(e){return Z(e),S.call(O.target,O.eventName,e.invoke,O.options)},C=a?function(e){if(!e.isRemoved){var t=W[e.eventName],n=void 0;t&&(n=t[e.capture?l:f]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:m,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},M=n&&n.diff?n.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},F=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],R=function(t,n,r,o,i,u){return void 0===i&&(i=!1),void 0===u&&(u=!1),function(){var s=this||e,h=arguments[0],v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);d=!0}if(!c||c(t,v,s,arguments)){var y,g=arguments[2];if(F)for(var m=0;m<F.length;m++)if(h===F[m])return t.apply(this,arguments);var k=!1;void 0===g?y=!1:!0===g?y=!0:!1===g?y=!1:(y=!!g&&!!g.capture,k=!!g&&!!g.once);var b,w=Zone.current,T=W[h];if(T)b=T[y?l:f];else{var S=(x?x(h):h)+f,D=(x?x(h):h)+l,P=p+S,j=p+D;W[h]={},W[h][f]=P,W[h][l]=j,b=y?j:P}var Z,z=s[b],C=!1;if(z){if(C=!0,_)for(m=0;m<z.length;m++)if(M(z[m],v))return}else z=s[b]=[];var I=s.constructor.name,R=K[I];R&&(Z=R[h]),Z||(Z=I+n+(x?x(h):h)),O.options=g,k&&(O.options.once=!1),O.target=s,O.capture=y,O.eventName=h,O.isExisting=C;var L=a?H:void 0;L&&(L.taskData=O);var A=w.scheduleEventTask(Z,v,L,r,o);return O.target=null,L&&(L.taskData=null),k&&(g.once=!0),(q||"boolean"!=typeof A.options)&&(A.options=g),A.target=s,A.capture=y,A.eventName=h,d&&(A.originalDelegate=v),u?z.unshift(A):z.push(A),i?s:void 0}}};return w[o]=R(S,v,z,C,b),T&&(w[y]=R(T,g,function(e){return T.call(O.target,O.eventName,e.invoke,O.options)},C,b,!0)),w[i]=function(){var t,n=this||e,r=arguments[0],o=arguments[2];t=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);var i=arguments[1];if(!i)return D.apply(this,arguments);if(!c||c(D,i,n,arguments)){var a,u=W[r];u&&(a=u[t?l:f]);var s=a&&n[a];if(s)for(var p=0;p<s.length;p++){var h=s[p];if(M(h,i))return s.splice(p,1),h.isRemoved=!0,0===s.length&&(h.allRemoved=!0,n[a]=null),h.zone.cancelTask(h),b?n:void 0}return D.apply(this,arguments)}},w[u]=function(){for(var t=arguments[0],n=[],r=Y(this||e,x?x(t):t),o=0;o<r.length;o++){var i=r[o];n.push(i.originalDelegate?i.originalDelegate:i.callback)}return n},w[s]=function(){var t=this||e,n=arguments[0];if(n){var r=W[n];if(r){var o=t[r[f]],a=t[r[l]];if(o){var c=o.slice();for(h=0;h<c.length;h++)this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}if(a)for(c=a.slice(),h=0;h<c.length;h++){var u;this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}}}else{for(var p=Object.keys(t),h=0;h<p.length;h++){var v=U.exec(p[h]),d=v&&v[1];d&&"removeListener"!==d&&this[s].call(this,d)}this[s].call(this,"removeListener")}if(b)return this},I(w[o],S),I(w[i],D),j&&I(w[s],j),P&&I(w[u],P),!0}for(var w=[],T=0;T<t.length;T++)w[T]=b(t[T],n);return w}function Y(e,t){var n=[];for(var r in e){var o=U.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var c=0;c<a.length;c++)n.push(a[c])}}return n}var J=d("zoneTask");function V(e,t,n,r){var o=null,i=null;n+=r;var a={};function c(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[J]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=v(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var l=s.data.handleId;return"number"==typeof l?a[l]=s:l&&(l[J]=s),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(s.ref=l.ref.bind(l),s.unref=l.unref.bind(l)),"number"==typeof l||l?l:s}return n.apply(e,i)}}),i=M(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[J])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[J]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}var G=Object[d("defineProperty")]=Object.defineProperty,Q=Object[d("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=d("unconfigurables");function te(e,t){return e&&e[ee]&&e[ee][t]}function ne(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||G(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function re(e,t,n,r){try{return G(e,t,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return G(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}var oe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ie=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ce=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],le=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],pe=["error","message"],he=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],oe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ve(e,t,n,r){e&&j(e,function(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}(e,t,n),r)}function de(e,u){if(!E||O){var s="undefined"!=typeof WebSocket;if(function(){if((x||O)&&!t(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=t(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var r=XMLHttpRequest.prototype,o=t(r,"onreadystatechange");if(o){n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var i=!!(c=new XMLHttpRequest).onreadystatechange;return n(r,"onreadystatechange",o||{}),i}var a=d("fake");n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[a]},set:function(e){this[a]=e}});var c,u=function(){};return(c=new XMLHttpRequest).onreadystatechange=u,i=c[a]===u,c.onreadystatechange=null,i}()){var l=u.__Zone_ignore_on_properties;if(x){var f=window,p=L?[{target:f,ignoreProperties:["error"]}]:[];ve(f,he.concat(["messageerror"]),l?l.concat(p):l,r(f)),ve(Document.prototype,he,l),void 0!==f.SVGElement&&ve(f.SVGElement.prototype,he,l),ve(Element.prototype,he,l),ve(HTMLElement.prototype,he,l),ve(HTMLMediaElement.prototype,ie,l),ve(HTMLFrameSetElement.prototype,oe.concat(ce),l),ve(HTMLBodyElement.prototype,oe.concat(ce),l),ve(HTMLFrameElement.prototype,ae,l),ve(HTMLIFrameElement.prototype,ae,l);var v=f.HTMLMarqueeElement;v&&ve(v.prototype,ue,l);var y=f.Worker;y&&ve(y.prototype,pe,l)}ve(XMLHttpRequest.prototype,se,l);var g=u.XMLHttpRequestEventTarget;g&&ve(g&&g.prototype,se,l),"undefined"!=typeof IDBIndex&&(ve(IDBIndex.prototype,le,l),ve(IDBRequest.prototype,le,l),ve(IDBOpenDBRequest.prototype,le,l),ve(IDBDatabase.prototype,le,l),ve(IDBTransaction.prototype,le,l),ve(IDBCursor.prototype,le,l)),s&&ve(WebSocket.prototype,fe,l)}else!function(){for(var e=function(e){var t=he[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][ye]&&((t=h(o[n],r))[ye]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<he.length;t++)e(t)}(),z("XMLHttpRequest"),s&&function(e,n){var r=n.WebSocket;n.EventTarget||B(n,[r.prototype]),n.WebSocket=function(e,n){var u,s,l=arguments.length>1?new r(e,n):new r(e),f=t(l,"onmessage");return f&&!1===f.configurable?(u=o(l),s=l,[a,c,"send","close"].forEach(function(e){u[e]=function(){var t=i.call(arguments);if(e===a||e===c){var n=t.length>0?t[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);l[r]=u[r]}}return l[e].apply(l,t)}})):u=l,j(u,["close","error","message","open"],s),u};var u=n.WebSocket;for(var s in r)u[s]=r[s]}(0,u)}}var ye=d("unbound");function ge(e,n,r,o){var i=Zone.__symbol__(r);if(!e[i]){var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t(i,e);a&&a.value?(a.value=h(a.value,o),function(t,n,r){var o=a.configurable;re(t,e,ne(t,e,a),o)}(c.prototype)):i[e]=h(i[e],o)}else i[e]&&(i[e]=h(i[e],o))}),a.call(e,i,c,u)},I(e[r],a)}}Zone.__load_patch("util",function(e,t,n){n.patchOnProperties=j,n.patchMethod=M,n.bindArguments=b}),Zone.__load_patch("timers",function(e){V(e,"set","clear","Timeout"),V(e,"set","clear","Interval"),V(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){V(e,"request","cancel","AnimationFrame"),V(e,"mozRequest","mozCancel","AnimationFrame"),V(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,i){return t.current.run(n,e,i,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){var r=t.__symbol__("BLACK_LISTED_EVENTS");e[r]&&(t[r]=e[r]),function(e,t){!function(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[X]=!0,e&&e.apply(t,n)}})}(e,t)}(e,n),function(e,t){var n="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",r="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),o=[],i=e.wtf,a=n.split(",");i?o=a.map(function(e){return"HTML"+e+"Element"}).concat(r):e.EventTarget?o.push("EventTarget"):o=r;for(var c=e.__Zone_disable_IE_check||!1,u=e.__Zone_enable_cross_context_check||!1,s=A(),h="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v=0;v<he.length;v++){var d=p+((k=he[v])+f),y=p+(k+l);W[k]={},W[k][f]=d,W[k][l]=y}for(v=0;v<n.length;v++)for(var g=a[v],_=K[g]={},m=0;m<he.length;m++){var k;_[k=he[m]]=g+".addEventListener:"+k}var b=[];for(v=0;v<o.length;v++){var w=e[o[v]];b.push(w&&w.prototype)}B(e,b,{vh:function(e,t,n,r){if(!c&&s){if(u)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}else if(u)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0}}),t.patchEventTarget=B}(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){de(0,e),Object.defineProperty=function(e,t,n){if(te(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ne(e,t,n)),re(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ne(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&te(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(e,t,n){(x||O)&&"registerElement"in e.document&&ge(document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"]),(x||O)&&"customElements"in e&&ge(e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}),Zone.__load_patch("canvas",function(e){var t=e.HTMLCanvasElement;void 0!==t&&t.prototype&&t.prototype.toBlob&&function(e,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=M(t.prototype,"toBlob",function(e){return function(t,n){var r=function(e,t){return{name:"HTMLCanvasElement.toBlob",target:e,cbIdx:0,args:t}}(t,n);return r.cbIdx>=0&&"function"==typeof n[r.cbIdx]?v(r.name,n[r.cbIdx],r,i):e.apply(t,n)}})}()}),Zone.__load_patch("XHR",function(e,t){!function(l){var f=XMLHttpRequest.prototype,p=f[u],h=f[s];if(!p){var y=e.XMLHttpRequestEventTarget;if(y){var g=y.prototype;p=g[u],h=g[s]}}var _="readystatechange",m="scheduled";function k(e){var t=e.data,r=t.target;r[i]=!1,r[c]=!1;var a=r[o];p||(p=r[u],h=r[s]),a&&h.call(r,_,a);var l=r[o]=function(){if(r.readyState===r.DONE)if(!t.aborted&&r[i]&&e.state===m){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=e.invoke;e.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i<n.length;i++)n[i]===e&&n.splice(i,1);t.aborted||e.state!==m||o.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==r[i]||(r[c]=!0)};return p.call(r,_,l),r[n]||(r[n]=e),O.apply(r,t.args),r[i]=!0,e}function b(){}function w(e){var t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}var T=M(f,"open",function(){return function(e,t){return e[r]=0==t[2],e[a]=t[1],T.apply(e,t)}}),E=d("fetchTaskAborting"),x=d("fetchTaskScheduling"),O=M(f,"send",function(){return function(e,n){if(!0===t.current[x])return O.apply(e,n);if(e[r])return O.apply(e,n);var o={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},i=v("XMLHttpRequest.send",b,o,k,w);e&&!0===e[c]&&!o.aborted&&i.state===m&&i.invoke()}}),S=M(f,"abort",function(){return function(e,r){var o=e[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[E])return S.apply(e,r)}})}();var n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),a=d("xhrURL"),c=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(e){e.navigator&&e.navigator.geolocation&&function(e,n){for(var r=e.constructor.name,o=function(o){var i=n[o],a=e[i];if(a){if(!w(t(e,i)))return"continue";e[i]=function(e){var t=function(){return e.apply(this,b(arguments,r+"."+i))};return I(t,e),t}(a)}},i=0;i<n.length;i++)o(i)}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){Y(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var i=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})})},1:function(e,t,n){e.exports=n("hN/g")},"1TsA":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"2OiF":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"3Lyj":function(e,t,n){var r=n("KroJ");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},"45Tv":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(e,t,n){if(a(e,t,n))return c(e,t,n);var r=i(t);return null!==r?s(e,r,n):void 0};r.exp({getMetadata:function(e,t){return s(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},"49D4":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},"4LiD":function(e,t,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");e.exports=function(e,t,n,d,y,g){var _=r[e],m=_,k=y?"set":"add",b=m&&m.prototype,w={},T=function(e){var t=b[e];i(b,e,"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof m&&(g||b.forEach&&!f(function(){(new m).entries().next()}))){var E=new m,x=E[k](g?{}:-0,1)!=E,O=f(function(){E.has(1)}),S=p(function(e){new m(e)}),D=!g&&f(function(){for(var e=new m,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((m=t(function(t,n){s(t,m,e);var r=v(new _,t,m);return void 0!=n&&u(n,y,r[k],r),r})).prototype=b,b.constructor=m),(O||D)&&(T("delete"),T("has"),y&&T("get")),(D||x)&&T(k),g&&b.clear&&delete b.clear}else m=d.getConstructor(t,e,y,k),a(m.prototype,n),c.NEED=!0;return h(m,e),w[e]=m,o(o.G+o.W+o.F*(m!=_),w),g||d.setStrong(m,e,y),m}},"4R4u":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"6FMO":function(e,t,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},"7Dlh":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},"9AAn":function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},"9gX7":function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},Afnz:function(e,t,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,v,d,y,g){u(n,t,v);var _,m,k,b=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",T="values"==d,E=!1,x=e.prototype,O=x[f]||x["@@iterator"]||d&&x[d],S=O||b(d),D=d?T?b("entries"):S:void 0,P="Array"==t&&x.entries||O;if(P&&(k=l(P.call(new e)))!==Object.prototype&&k.next&&(s(k,w,!0),r||"function"==typeof k[f]||a(k,f,h)),T&&O&&"values"!==O.name&&(E=!0,S=function(){return O.call(this)}),r&&!g||!p&&!E&&x[f]||a(x,f,S),c[t]=S,c[w]=h,d)if(_={values:T?S:b("values"),keys:y?S:b("keys"),entries:D},g)for(m in _)m in x||i(x,m,_[m]);else o(o.P+o.F*(p||E),t,_);return _}},BqfV:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},CkkT:function(e,t,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");e.exports=function(e,t){var n=1==e,u=2==e,s=3==e,l=4==e,f=6==e,p=5==e||f,h=t||c;return function(t,c,v){for(var d,y,g=i(t),_=o(g),m=r(c,v,3),k=a(_.length),b=0,w=n?h(t,k):u?h(t,0):void 0;k>b;b++)if((p||b in _)&&(y=m(d=_[b],b,g),e))if(n)w[b]=y;else if(y)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(l)return!1;return f?-1:s||l?l:w}}},DVgA:function(e,t,n){var r=n("zhAb"),o=n("4R4u");e.exports=Object.keys||function(e){return r(e,o)}},EK0E:function(e,t,n){"use strict";var r,o=n("CkkT")(0),i=n("KroJ"),a=n("Z6vF"),c=n("czNK"),u=n("ZD67"),s=n("0/R4"),l=n("eeVq"),f=n("s5qY"),p=a.getWeak,h=Object.isExtensible,v=u.ufstore,d={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(s(e)){var t=p(e);return!0===t?v(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},_=e.exports=n("4LiD")("WeakMap",y,g,u,!0,!0);l(function(){return 7!=(new _).set((Object.freeze||Object)(d),7).get(d)})&&(c((r=u.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(e){var t=_.prototype,n=t[e];i(t,e,function(t,o){if(s(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},EWmC:function(e,t,n){var r=n("LZWt");e.exports=Array.isArray||function(e){return"Array"==r(e)}},EemH:function(e,t,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;t.f=n("nh4g")?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},FJW5:function(e,t,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");e.exports=n("nh4g")?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},FZcq:function(e,t,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),e.exports=n("g3g5").Reflect},H6hf:function(e,t,n){var r=n("y3w9");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},"I8a+":function(e,t,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},Iw71:function(e,t,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"J+6e":function(e,t,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");e.exports=n("g3g5").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},JiEa:function(e,t){t.f=Object.getOwnPropertySymbols},K0xU:function(e,t,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},KroJ:function(e,t,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=Function.toString,u=(""+c).split("toString");n("g3g5").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(s&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||c.call(this)})},Kuth:function(e,t,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var e,t=n("Iw71")("iframe"),r=i.length;for(t.style.display="none",n("+rLv").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},LQAc:function(e,t){e.exports=!1},LZWt:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},M6Qj:function(e,t,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},Mukb:function(e,t,n){var r=n("hswa"),o=n("RjD/");e.exports=n("nh4g")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},N6cJ:function(e,t,n){var r=n("9AAn"),o=n("XKFU"),i=n("VTer")("metadata"),a=i.store||(i.store=new(n("EK0E"))),c=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i};e.exports={store:a,map:c,has:function(e,t,n){var r=c(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=c(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){c(n,r,!0).set(e,t)},keys:function(e,t){var n=c(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){o(o.S,"Reflect",e)}}},OP3Y:function(e,t,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},Opxb:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("2OiF"),a=r.key,c=r.set;r.exp({metadata:function(e,t){return function(n,r){c(e,t,(void 0!==r?o:i)(n),a(r))}}})},Q3ne:function(e,t,n){var r=n("SlkY");e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},QaDb:function(e,t,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},RYi7:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"RjD/":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"S/j/":function(e,t,n){var r=n("vhPU");e.exports=function(e){return Object(r(e))}},SlkY:function(e,t,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(t=e.exports=function(e,t,n,f,p){var h,v,d,y,g=p?function(){return e}:u(e),_=r(n,f,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=c(e.length);h>m;m++)if((y=t?_(a(v=e[m])[0],v[1]):_(e[m]))===s||y===l)return y}else for(d=g.call(e);!(v=d.next()).done;)if((y=o(d,_,v.value,t))===s||y===l)return y}).BREAK=s,t.RETURN=l},T39b:function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,"Set"),e=0===e?0:e,e)}},r)},UqcF:function(e,t){t.f={}.propertyIsEnumerable},VTer:function(e,t,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},XKFU:function(e,t,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(e,t,n){var s,l,f,p,h=e&u.F,v=e&u.G,d=e&u.P,y=e&u.B,g=v?r:e&u.S?r[t]||(r[t]={}):(r[t]||{}).prototype,_=v?o:o[t]||(o[t]={}),m=_.prototype||(_.prototype={});for(s in v&&(n=t),n)f=((l=!h&&g&&void 0!==g[s])?g:n)[s],p=y&&l?c(f,r):d&&"function"==typeof f?c(Function.call,f):f,g&&a(g,s,f,e&u.U),_[s]!=f&&i(_,s,p),d&&m[s]!=f&&(m[s]=f)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},XMVh:function(e,t,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},Xbzi:function(e,t,n){var r=n("0/R4"),o=n("i5dc").set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},YTvA:function(e,t,n){var r=n("VTer")("keys"),o=n("ylqs");e.exports=function(e){return r[e]||(r[e]=o(e))}},Ymqv:function(e,t,n){var r=n("LZWt");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},Z6vF:function(e,t,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return s&&f.NEED&&u(e)&&!i(e,r)&&l(e),e}}},ZD67:function(e,t,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),h=s(6),v=0,d=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var s=e(function(e,r){c(e,s,t,"_i"),e._t=t,e._i=v++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(s.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).has(e):n&&l(n,this._i)}}),s},def:function(e,t,n){var r=o(i(t),!0);return!0===r?d(e).set(t,n):r[e._i]=n,e},ufstore:d}},aCFj:function(e,t,n){var r=n("Ymqv"),o=n("vhPU");e.exports=function(e){return r(o(e))}},aagx:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},apmT:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},czNK:function(e,t,n){"use strict";var r=n("DVgA"),o=n("JiEa"),i=n("UqcF"),a=n("S/j/"),c=n("Ymqv"),u=Object.assign;e.exports=!u||n("eeVq")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,s=1,l=o.f,f=i.f;u>s;)for(var p,h=c(arguments[s++]),v=l?r(h).concat(l(h)):r(h),d=v.length,y=0;d>y;)f.call(h,p=v[y++])&&(n[p]=h[p]);return n}:u},"d/Gc":function(e,t,n){var r=n("RYi7"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},dyZX:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eeVq:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},elZq:function(e,t,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},"fN/3":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},fyDq:function(e,t,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},g3g5:function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},"hN/g":function(e,t,n){"use strict";n.r(t),n("FZcq"),n("0TWp")},hPIQ:function(e,t){e.exports={}},hswa:function(e,t,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;t.f=n("nh4g")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},i5dc:function(e,t,n){var r=n("0/R4"),o=n("y3w9"),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},"iW+S":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=i(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:c(arguments[2]))}})},m0Pp:function(e,t,n){var r=n("2OiF");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},ne8i:function(e,t,n){var r=n("RYi7"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},nh4g:function(e,t,n){e.exports=!n("eeVq")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},s5qY:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},uAtd:function(e,t,n){var r=n("T39b"),o=n("Q3ne"),i=n("N6cJ"),a=n("y3w9"),c=n("OP3Y"),u=i.keys,s=i.key,l=function(e,t){var n=u(e,t),i=c(e);if(null===i)return n;var a=l(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return l(a(e),arguments.length<2?void 0:s(arguments[1]))}})},vhPU:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},w2a5:function(e,t,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");e.exports=function(e){return function(t,n,a){var c,u=r(t),s=o(u.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},wmvG:function(e,t,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),h=n("Z6vF").fastKey,v=n("s5qY"),d=p?"_s":"size",y=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){c(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[d]=0,void 0!=r&&u(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=v(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[d]=0},delete:function(e){var n=v(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(e){v(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(v(this,t),e)}}),p&&r(l.prototype,"size",{get:function(){return v(this,t)[d]}}),l},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[d]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){s(e,t,function(e,n){this._t=v(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},xpql:function(e,t,n){e.exports=!n("nh4g")&&!n("eeVq")(function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a})},y3w9:function(e,t,n){var r=n("0/R4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ylqs:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},zRwo:function(e,t,n){var r=n("6FMO");e.exports=function(e,t){return new(r(e))(t)}},zhAb:function(e,t,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(s,n)||s.push(n));return s}},"zq+C":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=c.get(t);return u.delete(n),!!u.size||c.delete(t)}})}},[[1,0]]]);
!function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for($e=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n<r;n++)d(e[n],t)}function o(e){return function(t){Pe(t)&&(d(t,e),oe.length&&r(t.querySelectorAll(oe),e))}}function l(e){var t=xe.call(e,"is"),n=e.nodeName.toUpperCase(),r=ae.call(ne,t?J+t.toUpperCase():Y+n);return t&&-1<r&&!a(n,t)?-1:r}function a(e,t){return-1<oe.indexOf(e+'[is="'+t+'"]')}function i(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,o=e.target,l=e[K]||2,a=e[X]||3;!tt||o&&o!==t||!t[q]||"style"===r||e.prevValue===e.newValue&&(""!==e.newValue||n!==l&&n!==a)||t[q](r,n===l?null:e.prevValue,n===a?null:e.newValue)}function u(e){var t=o(e);return function(e){C.push(t,e.target),$e&&clearTimeout($e),$e=setTimeout(n,1)}}function c(e){et&&(et=!1,e.currentTarget.removeEventListener(Q,c)),oe.length&&r((e.target||g).querySelectorAll(oe),e.detail===_?_:U),Se&&function(){for(var e,t=0,n=Re.length;t<n;t++)le.contains(e=Re[t])||(n--,Re.splice(t--,1),d(e,_))}()}function s(e,t){var n=this;Ze.call(n,e,t),w.call(n,{target:n})}function m(e,t,n){var r=t.apply(e,n),o=l(r);return-1<o&&F(r,re[o]),n.pop()&&oe.length&&function(e){for(var t,n=0,r=e.length;n<r;n++)F(t=e[n],re[l(t)])}(r.querySelectorAll(oe)),r}function f(e,t){Ne(e,t),N?N.observe(e,Ke):(Je&&(e.setAttribute=s,e[P]=O(e),e[R](W,w)),e[R]($,i)),e[G]&&tt&&(e.created=!0,e[G](),e.created=!1)}function p(e){throw new Error("A "+e+" type is already registered")}function d(e,t){var n,r,o=l(e);-1<o&&(I(e,re[o]),o=0,t!==U||e[U]?t!==_||e[_]||(e[U]=!1,e[_]=!0,r="disconnected",o=1):(e[_]=!1,e[U]=!0,r="connected",o=1,Se&&ae.call(Re,e)<0&&Re.push(e)),o&&(n=e[t+k]||e[r+k])&&n.call(e))}function h(){}function T(e,t,n){var r=n&&n[x]||"",o=t.prototype,l=Oe(o),a=t.observedAttributes||me,i={prototype:l};Ve(l,G,{value:function(){if(be)be=!1;else if(!this[Le]){this[Le]=!0,new t(this),o[G]&&o[G].call(this);var e=ye[we.get(t)];(!Ee||e.create.length>1)&&E(this)}}}),Ve(l,q,{value:function(e){-1<ae.call(a,e)&&o[q]&&o[q].apply(this,arguments)}}),o[Z]&&Ve(l,B,{value:o[Z]}),o[j]&&Ve(l,z,{value:o[j]}),r&&(i[x]=r),e=e.toUpperCase(),ye[e]={constructor:t,create:r?[r,Ae(e)]:[e]},we.set(t,e),g[V](e.toLowerCase(),i),v(e),Ce[e].r()}function L(e){var t=ye[e.toUpperCase()];return t&&t.constructor}function M(e){return"string"==typeof e?e:e&&e.is||""}function E(e){for(var t,n=e[q],r=n?e.attributes:me,o=r.length;o--;)n.call(e,(t=r[o]).name||t.nodeName,null,t.value||t.nodeValue)}function v(e){return(e=e.toUpperCase())in Ce||(Ce[e]={},Ce[e].p=new ge(function(t){Ce[e].r=t})),Ce[e].p}function H(){Me&&delete e.customElements,se(e,"customElements",{configurable:!0,value:new h}),se(e,"CustomElementRegistry",{configurable:!0,value:h});for(var t=y.get(/^HTML[A-Z]*[a-z]/),n=t.length;n--;function(t){var n=e[t];if(n){e[t]=function(e){var t,r;return e||(e=this),e[Le]||(be=!0,t=ye[we.get(e.constructor)],(e=(r=Ee&&1===t.create.length)?Reflect.construct(n,me,t.constructor):g.createElement.apply(g,t.create))[Le]=!0,be=!1,r||E(e)),e},e[t].prototype=n.prototype;try{n.prototype.constructor=e[t]}catch(r){se(n,Le,{value:e[t]})}}}(t[n]));g.createElement=function(e,t){var n=M(t);return n?ze.call(this,e,Ae(n)):ze.call(this,e)},Qe||(Ye=!0,g[V](""))}var g=e.document,b=e.Object,y=function(e){var t,n,r,o,l=/^[A-Z]+[a-z]/,a=function(e,t){(t=t.toLowerCase())in i||(i[e]=(i[e]||[]).concat(t),i[t]=i[t.toUpperCase()]=e)},i=(b.create||b)(null),u={};for(n in e)for(o in e[n])for(i[o]=r=e[n][o],t=0;t<r.length;t++)i[r[t].toLowerCase()]=i[r[t].toUpperCase()]=o;return u.get=function(e){return"string"==typeof e?i[e]||(l.test(e)?[]:""):function(e){var t,n=[];for(t in i)e.test(t)&&n.push(t);return n}(e)},u.set=function(e,t){return l.test(e)?a(e,t):a(t,e),u},u}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});"object"!=typeof t&&(t={type:t||"auto"});var C,w,A,O,N,D,I,F,S,V="registerElement",P="__"+V+(1e5*e.Math.random()>>0),R="addEventListener",U="attached",k="Callback",_="detached",x="extends",q="attributeChanged"+k,B=U+k,Z="connected"+k,j="disconnected"+k,G="created"+k,z=_+k,K="ADDITION",X="REMOVAL",$="DOMAttrModified",Q="DOMContentLoaded",W="DOMSubtreeModified",Y="<",J="=",ee=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,te=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ne=[],re=[],oe="",le=g.documentElement,ae=ne.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ie=b.prototype,ue=ie.hasOwnProperty,ce=ie.isPrototypeOf,se=b.defineProperty,me=[],fe=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,de=b.getPrototypeOf,he=b.setPrototypeOf,Te=!!b.__proto__,Le="__dreCEv1",Me=e.customElements,Ee=!/^force/.test(t.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),ve=b.create||b,He=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ae.call(t,e)]},set:function(r,o){(e=ae.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},ge=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},be=!1,ye=ve(null),Ce=ve(null),we=new He,Ae=function(e){return e.toLowerCase()},Oe=b.create||function e(t){return t?(e.prototype=t,new e):this},Ne=he||(Te?function(e,t){return e.__proto__=t,e}:pe&&fe?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o<l;o++)ue.call(e,n=r[o])||se(e,n,fe(t,n))}return function(t,n){do{e(t,n)}while((n=de(n))&&!ce.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),De=e.MutationObserver||e.WebKitMutationObserver,Ie=e.HTMLAnchorElement,Fe=(e.HTMLElement||e.Element||e.Node).prototype,Se=!ce.call(Fe,le),Ve=Se?function(e,t,n){return e[t]=n.value,e}:se,Pe=Se?function(e){return 1===e.nodeType}:function(e){return ce.call(Fe,e)},Re=Se&&[],Ue=Fe.attachShadow,ke=Fe.cloneNode,_e=Fe.dispatchEvent,xe=Fe.getAttribute,qe=Fe.hasAttribute,Be=Fe.removeAttribute,Ze=Fe.setAttribute,je=g.createElement,Ge=g.importNode,ze=je,Ke=De&&{attributes:!0,characterData:!0,attributeOldValue:!0},Xe=De||function(e){Je=!1,le.removeEventListener($,Xe)},$e=0,Qe=V in g&&!/^force-all/.test(t.type),We=!0,Ye=!1,Je=!0,et=!0,tt=!0;if(De&&((S=g.createElement("div")).innerHTML="<div><div></div></div>",new De(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=fe(Fe,"innerHTML"))&&S.set;n&&se(Fe,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Qe||(he||Te?(I=function(e,t){ce.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[P]||(e[P]=b(!0),f(e,t))},Se?(Je=!1,function(){var e=fe(Fe,R),t=e.value,n=function(e){var t=new CustomEvent($,{bubbles:!0});t.attrName=e,t.prevValue=xe.call(this,e),t.newValue=null,t[X]=t.attrChange=2,Be.call(this,e),_e.call(this,t)},r=function(e,t){var n=qe.call(this,e),r=n&&xe.call(this,e),o=new CustomEvent($,{bubbles:!0});Ze.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[K]=o.attrChange=0,_e.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[P],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent($,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[K]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,_e.call(n,t))};e.value=function(e,l,a){e===$&&this[q]&&this.setAttribute!==r&&(this[P]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},se(Fe,R,e)}()):De||(le[R]($,Xe),le.setAttribute(P,1),le.removeAttribute(P),Je&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[P],o[P]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],K);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],X)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l<a;l++)"setAttribute"!==(n=(t=o[l]).name)&&(r[n]=t.value);return r})),g[V]=function(e,t){if(n=e.toUpperCase(),We&&(We=!1,De?(N=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new De(function(r){for(var o,l,a,i=0,u=r.length;i<u;i++)"childList"===(o=r[i]).type?(n(o.addedNodes,e),n(o.removedNodes,t)):(l=o.target,tt&&l[q]&&"style"!==o.attributeName&&(a=xe.call(l,o.attributeName))!==o.oldValue&&l[q](o.attributeName,o.oldValue,a))})}(o(U),o(_)),(D=function(e){return N.observe(e,{childList:!0,subtree:!0}),e})(g),Ue&&(Fe.attachShadow=function(){return D(Ue.apply(this,arguments))})):(C=[],g[R]("DOMNodeInserted",u(U)),g[R]("DOMNodeRemoved",u(_))),g[R](Q,c),g[R]("readystatechange",c),g.importNode=function(e,t){switch(e.nodeType){case 1:return m(g,Ge,[e,!!t]);case 11:for(var n=g.createDocumentFragment(),r=e.childNodes,o=r.length,l=0;l<o;l++)n.appendChild(g.importNode(r[l],!!t));return n;default:return ke.call(e,!!t)}},Fe.cloneNode=function(e){return m(this,ke,[!!e])}),Ye)return Ye=!1;if(-2<ae.call(ne,J+n)+ae.call(ne,Y+n)&&p(e),!ee.test(n)||-1<ae.call(te,n))throw new Error("The type "+e+" is invalid");var n,l,a=function(){return s?g.createElement(f,n):g.createElement(f)},i=t||ie,s=ue.call(i,x),f=s?t[x].toUpperCase():n;return s&&-1<ae.call(ne,Y+f)&&p(f),l=ne.push((s?J:Y)+n)-1,oe=oe.concat(oe.length?",":"",s?f+'[is="'+e.toLowerCase()+'"]':f),a.prototype=re[l]=ue.call(i,"prototype")?i.prototype:Oe(Fe),oe.length&&r(g.querySelectorAll(oe),U),a},g.createElement=ze=function(e,t){var n=M(t),r=n?je.call(g,e,Ae(n)):je.call(g,e),o=""+e,l=ae.call(ne,(n?J:Y)+(n||o).toUpperCase()),i=-1<l;return n&&(r.setAttribute("is",n=n.toLowerCase()),i&&(i=a(o.toUpperCase(),n))),tt=!g.createElement.innerHTMLHelper,i&&F(r,re[l]),r}),h.prototype={constructor:h,define:Ee?function(e,t,n){if(n)T(e,t,n);else{var r=e.toUpperCase();ye[r]={constructor:t,create:[r]},we.set(t,r),Me.define(e,t)}}:T,get:Ee?function(e){return Me.get(e)||L(e)}:L,whenDefined:Ee?function(e){return ge.race([Me.whenDefined(e),v(e)])}:v},!Me||/^force/.test(t.type))H();else if(!t.noBuiltIn)try{!function(t,n,r){var o=new RegExp("^<a\\s+is=('|\")"+r+"\\1></a>$");if(n[x]="a",(t.prototype=Oe(Ie.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ie,[],e)},{},"document-register-element-a")}catch(e){H()}if(!t.noBuiltIn)try{if(je.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Ae=function(e){return{is:e.toLowerCase()}}}}(window);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(t,e,n){t.exports=n("zUnb")},"4R65":function(t,e,n){!function(t){"use strict";var e=Object.freeze;function n(t){var e,n,i,s;for(n=1,i=arguments.length;n<i;n++)for(e in s=arguments[n])t[e]=s[e];return t}Object.freeze=function(t){return t};var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function s(t,e){var n=Array.prototype.slice;if(t.bind)return t.bind.apply(t,n.call(arguments,1));var i=n.call(arguments,2);return function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)}}var o=0;function r(t){return t._leaflet_id=t._leaflet_id||++o,t._leaflet_id}function a(t,e,n){var i,s,o,r;return r=function(){i=!1,s&&(o.apply(n,s),s=!1)},o=function(){i?s=arguments:(t.apply(n,arguments),setTimeout(r,e),i=!0)}}function l(t,e,n){var i=e[1],s=e[0],o=i-s;return t===i&&n?t:((t-s)%o+o)%o+s}function h(){return!1}function u(t,e){var n=Math.pow(10,void 0===e?6:e);return Math.round(t*n)/n}function c(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return c(t).split(/\s+/)}function p(t,e){for(var n in t.hasOwnProperty("options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function m(t,e,n){var i=[];for(var s in t)i.push(encodeURIComponent(n?s.toUpperCase():s)+"="+encodeURIComponent(t[s]));return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")}var f=/\{ *([\w_-]+) *\}/g;function _(t,e){return t.replace(f,function(t,n){var i=e[n];if(void 0===i)throw new Error("No value provided for variable "+t);return"function"==typeof i&&(i=i(e)),i})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function b(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function E(t){var e=+new Date,n=Math.max(0,16-(e-w));return w=e+n,window.setTimeout(t,n)}var x=window.requestAnimationFrame||b("RequestAnimationFrame")||E,C=window.cancelAnimationFrame||b("CancelAnimationFrame")||b("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,n){if(!n||x!==E)return x.call(window,s(t,e));t.call(e)}function S(t){t&&C.call(window,t)}var T=(Object.freeze||Object)({freeze:e,extend:n,create:i,bind:s,lastId:o,stamp:r,throttle:a,wrapNum:l,falseFn:h,formatNum:u,trim:c,splitWords:d,setOptions:p,getParamString:m,template:_,isArray:g,indexOf:y,emptyImageUrl:v,requestFn:x,cancelFn:C,requestAnimFrame:k,cancelAnimFrame:S});function I(){}I.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},s=e.__super__=this.prototype,o=i(s);for(var r in o.constructor=e,e.prototype=o,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(e[r]=this[r]);return t.statics&&(n(e,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),n.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=n(i(o.options),t.options)),n(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){s.callInitHooks&&s.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},I.include=function(t){return n(this.prototype,t),this},I.mergeOptions=function(t){return n(this.prototype.options,t),this},I.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),n="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};var P={on:function(t,e,n){if("object"==typeof t)for(var i in t)this._on(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._on(t[s],e,n);return this},off:function(t,e,n){if(t)if("object"==typeof t)for(var i in t)this._off(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._off(t[s],e,n);else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var i=this._events[t];i||(this._events[t]=i=[]),n===this&&(n=void 0);for(var s={fn:e,ctx:n},o=i,r=0,a=o.length;r<a;r++)if(o[r].fn===e&&o[r].ctx===n)return;o.push(s)},_off:function(t,e,n){var i,s,o;if(this._events&&(i=this._events[t]))if(e){if(n===this&&(n=void 0),i)for(s=0,o=i.length;s<o;s++){var r=i[s];if(r.ctx===n&&r.fn===e)return r.fn=h,this._firingCount&&(this._events[t]=i=i.slice()),void i.splice(s,1)}}else{for(s=0,o=i.length;s<o;s++)i[s].fn=h;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var s=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var r=0,a=o.length;r<a;r++){var l=o[r];l.fn.call(l.ctx||this,s)}this._firingCount--}}return i&&this._propagateEvent(s),this},listens:function(t,e){var n=this._events&&this._events[t];if(n&&n.length)return!0;if(e)for(var i in this._eventParents)if(this._eventParents[i].listens(t,e))return!0;return!1},once:function(t,e,n){if("object"==typeof t){for(var i in t)this.once(i,t[i],e);return this}var o=s(function(){this.off(t,e,n).off(t,o,n)},this);return this.on(t,e,n).on(t,o,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[r(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[r(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};P.addEventListener=P.on,P.removeEventListener=P.clearAllEventListeners=P.off,P.addOneTimeEventListener=P.once,P.fireEvent=P.fire,P.hasEventListeners=P.listens;var M=I.extend(P);function A(t,e,n){this.x=n?Math.round(t):t,this.y=n?Math.round(e):e}var D=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,n){return t instanceof A?t:g(t)?new A(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new A(t.x,t.y):new A(t,e,n)}function R(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function N(t,e){return!t||t instanceof R?t:new R(t,e)}function F(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function z(t,e){return t instanceof F?t:new F(t,e)}function V(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==n&&(this.alt=+n)}function B(t,e,n){return t instanceof V?t:g(t)&&"object"!=typeof t[0]?3===t.length?new V(t[0],t[1],t[2]):2===t.length?new V(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new V(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new V(t,e,n)}A.prototype={clone:function(){return new A(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new A(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new A(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=D(this.x),this.y=D(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,n=t.y-this.y;return Math.sqrt(e*e+n*n)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+u(this.x)+", "+u(this.y)+")"}},R.prototype={extend:function(t){return t=O(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new A((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new A(this.min.x,this.max.y)},getTopRight:function(){return new A(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,n;return(t="number"==typeof t[0]||t instanceof A?O(t):N(t))instanceof R?(e=t.min,n=t.max):e=n=t,e.x>=this.min.x&&n.x<=this.max.x&&e.y>=this.min.y&&n.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>=e.x&&i.x<=n.x&&s.y>=e.y&&i.y<=n.y},overlaps:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>e.x&&i.x<n.x&&s.y>e.y&&i.y<n.y},isValid:function(){return!(!this.min||!this.max)}},F.prototype={extend:function(t){var e,n,i=this._southWest,s=this._northEast;if(t instanceof V)e=t,n=t;else{if(!(t instanceof F))return t?this.extend(B(t)||z(t)):this;if(n=t._northEast,!(e=t._southWest)||!n)return this}return i||s?(i.lat=Math.min(e.lat,i.lat),i.lng=Math.min(e.lng,i.lng),s.lat=Math.max(n.lat,s.lat),s.lng=Math.max(n.lng,s.lng)):(this._southWest=new V(e.lat,e.lng),this._northEast=new V(n.lat,n.lng)),this},pad:function(t){var e=this._southWest,n=this._northEast,i=Math.abs(e.lat-n.lat)*t,s=Math.abs(e.lng-n.lng)*t;return new F(new V(e.lat-i,e.lng-s),new V(n.lat+i,n.lng+s))},getCenter:function(){return new V((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new V(this.getNorth(),this.getWest())},getSouthEast:function(){return new V(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof V||"lat"in t?B(t):z(t);var e,n,i=this._southWest,s=this._northEast;return t instanceof F?(e=t.getSouthWest(),n=t.getNorthEast()):e=n=t,e.lat>=i.lat&&n.lat<=s.lat&&e.lng>=i.lng&&n.lng<=s.lng},intersects:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&i.lat<=n.lat&&s.lng>=e.lng&&i.lng<=n.lng},overlaps:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&i.lat<n.lat&&s.lng>e.lng&&i.lng<n.lng},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},V.prototype={equals:function(t,e){return!!t&&(t=B(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+u(this.lat,t)+", "+u(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,B(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,n=e/Math.cos(Math.PI/180*this.lat);return z([this.lat-e,this.lng-n],[this.lat+e,this.lng+n])},clone:function(){return new V(this.lat,this.lng,this.alt)}};var j={latLngToPoint:function(t,e){var n=this.projection.project(t),i=this.scale(e);return this.transformation._transform(n,i)},pointToLatLng:function(t,e){var n=this.scale(e),i=this.transformation.untransform(t,n);return this.projection.unproject(i)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,n=this.scale(t);return new R(this.transformation.transform(e.min,n),this.transformation.transform(e.max,n))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?l(t.lng,this.wrapLng,!0):t.lng;return new V(this.wrapLat?l(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),n=this.wrapLatLng(e),i=e.lat-n.lat,s=e.lng-n.lng;if(0===i&&0===s)return t;var o=t.getSouthWest(),r=t.getNorthEast();return new F(new V(o.lat-i,o.lng-s),new V(r.lat-i,r.lng-s))}},H=n({},j,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var n=Math.PI/180,i=t.lat*n,s=e.lat*n,o=Math.sin((e.lat-t.lat)*n/2),r=Math.sin((e.lng-t.lng)*n/2),a=o*o+Math.cos(i)*Math.cos(s)*r*r,l=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*l}}),U={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,n=this.MAX_LATITUDE,i=Math.max(Math.min(n,t.lat),-n),s=Math.sin(i*e);return new A(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new V((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return new R([-t,-t],[t,t])}()};function Z(t,e,n,i){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=n,this._d=i}function G(t,e,n,i){return new Z(t,e,n,i)}Z.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new A((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var $=n({},H,{code:"EPSG:3857",projection:U,transformation:function(){var t=.5/(Math.PI*U.R);return G(t,.5,-t,.5)}()}),q=n({},$,{code:"EPSG:900913"});function W(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function K(t,e){var n,i,s,o,r,a,l="";for(n=0,s=t.length;n<s;n++){for(i=0,o=(r=t[n]).length;i<o;i++)a=r[i],l+=(i?"L":"M")+a.x+" "+a.y;l+=e?kt?"z":"x":""}return l||"M0 0"}var Y=document.documentElement.style,Q="ActiveXObject"in window,X=Q&&!document.addEventListener,J="msLaunchUri"in navigator&&!("documentMode"in document),tt=Tt("webkit"),et=Tt("android"),nt=Tt("android 2")||Tt("android 3"),it=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),st=et&&Tt("Google")&&it<537&&!("AudioNode"in window),ot=!!window.opera,rt=Tt("chrome"),at=Tt("gecko")&&!tt&&!ot&&!Q,lt=!rt&&Tt("safari"),ht=Tt("phantom"),ut="OTransition"in Y,ct=0===navigator.platform.indexOf("Win"),dt=Q&&"transition"in Y,pt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,mt="MozPerspective"in Y,ft=!window.L_DISABLE_3D&&(dt||pt||mt)&&!ut&&!ht,_t="undefined"!=typeof orientation||Tt("mobile"),gt=_t&&tt,yt=_t&&pt,vt=!window.PointerEvent&&window.MSPointerEvent,bt=!(!window.PointerEvent&&!vt),wt=!window.L_NO_TOUCH&&(bt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),Et=_t&&ot,xt=_t&&at,Ct=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Lt=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!W("svg").createSVGRect),St=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Tt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It=(Object.freeze||Object)({ie:Q,ielt9:X,edge:J,webkit:tt,android:et,android23:nt,androidStock:st,opera:ot,chrome:rt,gecko:at,safari:lt,phantom:ht,opera12:ut,win:ct,ie3d:dt,webkit3d:pt,gecko3d:mt,any3d:ft,mobile:_t,mobileWebkit:gt,mobileWebkit3d:yt,msPointer:vt,pointer:bt,touch:wt,mobileOpera:Et,mobileGecko:xt,retina:Ct,canvas:Lt,svg:kt,vml:St}),Pt=vt?"MSPointerDown":"pointerdown",Mt=vt?"MSPointerMove":"pointermove",At=vt?"MSPointerUp":"pointerup",Dt=vt?"MSPointerCancel":"pointercancel",Ot=["INPUT","SELECT","OPTION"],Rt={},Nt=!1,Ft=0;function zt(t){Rt[t.pointerId]=t,Ft++}function Vt(t){Rt[t.pointerId]&&(Rt[t.pointerId]=t)}function Bt(t){delete Rt[t.pointerId],Ft--}function jt(t,e){for(var n in t.touches=[],Rt)t.touches.push(Rt[n]);t.changedTouches=[t],e(t)}var Ht=vt?"MSPointerDown":bt?"pointerdown":"touchstart",Ut=vt?"MSPointerUp":bt?"pointerup":"touchend",Zt="_leaflet_";function Gt(t,e,n){var i,s,o=!1,r=250;function a(t){var e;if(bt){if(!J||"mouse"===t.pointerType)return;e=Ft}else e=t.touches.length;if(!(e>1)){var n=Date.now(),a=n-(i||n);s=t.touches?t.touches[0]:t,o=a>0&&a<=r,i=n}}function l(t){if(o&&!s.cancelBubble){if(bt){if(!J||"mouse"===t.pointerType)return;var n,r,a={};for(r in s)a[r]=(n=s[r])&&n.bind?n.bind(s):n;s=a}s.type="dblclick",e(s),i=null}}return t[Zt+Ht+n]=a,t[Zt+Ut+n]=l,t[Zt+"dblclick"+n]=e,t.addEventListener(Ht,a,!1),t.addEventListener(Ut,l,!1),t.addEventListener("dblclick",e,!1),this}function $t(t,e){var n=t[Zt+Ut+e],i=t[Zt+"dblclick"+e];return t.removeEventListener(Ht,t[Zt+Ht+e],!1),t.removeEventListener(Ut,n,!1),J||t.removeEventListener("dblclick",i,!1),this}var qt,Wt,Kt,Yt,Qt,Xt=me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jt=me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),te="webkitTransition"===Jt||"OTransition"===Jt?Jt+"End":"transitionend";function ee(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var n=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!n||"auto"===n)&&document.defaultView){var i=document.defaultView.getComputedStyle(t,null);n=i?i[e]:null}return"auto"===n?null:n}function ie(t,e,n){var i=document.createElement(t);return i.className=e||"",n&&n.appendChild(i),i}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function oe(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function re(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ae(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=de(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)}function he(t,e){if(void 0!==t.classList)for(var n=d(e),i=0,s=n.length;i<s;i++)t.classList.add(n[i]);else if(!le(t,e)){var o=de(t);ce(t,(o?o+" ":"")+e)}}function ue(t,e){void 0!==t.classList?t.classList.remove(e):ce(t,c((" "+de(t)+" ").replace(" "+e+" "," ")))}function ce(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function de(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function pe(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var n=!1,i="DXImageTransform.Microsoft.Alpha";try{n=t.filters.item(i)}catch(t){if(1===e)return}e=Math.round(100*e),n?(n.Enabled=100!==e,n.Opacity=e):t.style.filter+=" progid:"+i+"(opacity="+e+")"}(t,e)}function me(t){for(var e=document.documentElement.style,n=0;n<t.length;n++)if(t[n]in e)return t[n];return!1}function fe(t,e,n){var i=e||new A(0,0);t.style[Xt]=(dt?"translate("+i.x+"px,"+i.y+"px)":"translate3d("+i.x+"px,"+i.y+"px,0)")+(n?" scale("+n+")":"")}function _e(t,e){t._leaflet_pos=e,ft?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ge(t){return t._leaflet_pos||new A(0,0)}if("onselectstart"in document)qt=function(){ke(window,"selectstart",Oe)},Wt=function(){Te(window,"selectstart",Oe)};else{var ye=me(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);qt=function(){if(ye){var t=document.documentElement.style;Kt=t[ye],t[ye]="none"}},Wt=function(){ye&&(document.documentElement.style[ye]=Kt,Kt=void 0)}}function ve(){ke(window,"dragstart",Oe)}function be(){Te(window,"dragstart",Oe)}function we(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Ee(),Yt=t,Qt=t.style.outline,t.style.outline="none",ke(window,"keydown",Ee))}function Ee(){Yt&&(Yt.style.outline=Qt,Yt=void 0,Qt=void 0,Te(window,"keydown",Ee))}function xe(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function Ce(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Le=(Object.freeze||Object)({TRANSFORM:Xt,TRANSITION:Jt,TRANSITION_END:te,get:ee,getStyle:ne,create:ie,remove:se,empty:oe,toFront:re,toBack:ae,hasClass:le,addClass:he,removeClass:ue,setClass:ce,getClass:de,setOpacity:pe,testProp:me,setTransform:fe,setPosition:_e,getPosition:ge,disableTextSelection:qt,enableTextSelection:Wt,disableImageDrag:ve,enableImageDrag:be,preventOutline:we,restoreOutline:Ee,getSizedParentNode:xe,getScale:Ce});function ke(t,e,n,i){if("object"==typeof e)for(var s in e)Ie(t,s,e[s],n);else for(var o=0,r=(e=d(e)).length;o<r;o++)Ie(t,e[o],n,i);return this}var Se="_leaflet_events";function Te(t,e,n,i){if("object"==typeof e)for(var s in e)Pe(t,s,e[s],n);else if(e)for(var o=0,r=(e=d(e)).length;o<r;o++)Pe(t,e[o],n,i);else{for(var a in t[Se])Pe(t,a,t[Se][a]);delete t[Se]}return this}function Ie(t,e,n,i){var o=e+r(n)+(i?"_"+r(i):"");if(t[Se]&&t[Se][o])return this;var a=function(e){return n.call(i||t,e||window.event)},l=a;bt&&0===e.indexOf("touch")?function(t,e,n,i){"touchstart"===e?function(t,e,n){var i=s(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Ot.indexOf(t.target.tagName)<0))return;Oe(t)}jt(t,e)});t["_leaflet_touchstart"+n]=i,t.addEventListener(Pt,i,!1),Nt||(document.documentElement.addEventListener(Pt,zt,!0),document.documentElement.addEventListener(Mt,Vt,!0),document.documentElement.addEventListener(At,Bt,!0),document.documentElement.addEventListener(Dt,Bt,!0),Nt=!0)}(t,n,i):"touchmove"===e?function(t,e,n){var i=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&jt(t,e)};t["_leaflet_touchmove"+n]=i,t.addEventListener(Mt,i,!1)}(t,n,i):"touchend"===e&&function(t,e,n){var i=function(t){jt(t,e)};t["_leaflet_touchend"+n]=i,t.addEventListener(At,i,!1),t.addEventListener(Dt,i,!1)}(t,n,i)}(t,e,a,o):!wt||"dblclick"!==e||!Gt||bt&&rt?"addEventListener"in t?"mousewheel"===e?t.addEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):"mouseenter"===e||"mouseleave"===e?(a=function(e){e=e||window.event,Ue(t,e)&&l(e)},t.addEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1)):("click"===e&&et&&(a=function(t){!function(t,e){var n=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,i=Ve&&n-Ve;i&&i>100&&i<500||t.target._simulatedClick&&!t._simulated?Re(t):(Ve=n,e(t))}(t,l)}),t.addEventListener(e,a,!1)):"attachEvent"in t&&t.attachEvent("on"+e,a):Gt(t,a,o),t[Se]=t[Se]||{},t[Se][o]=a}function Pe(t,e,n,i){var s=e+r(n)+(i?"_"+r(i):""),o=t[Se]&&t[Se][s];if(!o)return this;bt&&0===e.indexOf("touch")?function(t,e,n){var i=t["_leaflet_"+e+n];"touchstart"===e?t.removeEventListener(Pt,i,!1):"touchmove"===e?t.removeEventListener(Mt,i,!1):"touchend"===e&&(t.removeEventListener(At,i,!1),t.removeEventListener(Dt,i,!1))}(t,e,s):!wt||"dblclick"!==e||!$t||bt&&rt?"removeEventListener"in t?t.removeEventListener("mousewheel"===e?"onwheel"in t?"wheel":"mousewheel":"mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,o,!1):"detachEvent"in t&&t.detachEvent("on"+e,o):$t(t,s),t[Se][s]=null}function Me(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,He(t),this}function Ae(t){return Ie(t,"mousewheel",Me),this}function De(t){return ke(t,"mousedown touchstart dblclick",Me),Ie(t,"click",je),this}function Oe(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Oe(t),Me(t),this}function Ne(t,e){if(!e)return new A(t.clientX,t.clientY);var n=Ce(e),i=n.boundingClientRect;return new A((t.clientX-i.left)/n.x-e.clientLeft,(t.clientY-i.top)/n.y-e.clientTop)}var Fe=ct&&rt?2*window.devicePixelRatio:at?window.devicePixelRatio:1;function ze(t){return J?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ve,Be={};function je(t){Be[t.type]=!0}function He(t){var e=Be[t.type];return Be[t.type]=!1,e}function Ue(t,e){var n=e.relatedTarget;if(!n)return!0;try{for(;n&&n!==t;)n=n.parentNode}catch(t){return!1}return n!==t}var Ze=(Object.freeze||Object)({on:ke,off:Te,stopPropagation:Me,disableScrollPropagation:Ae,disableClickPropagation:De,preventDefault:Oe,stop:Re,getMousePosition:Ne,getWheelDelta:ze,fakeStop:je,skipped:He,isExternalTarget:Ue,addListener:ke,removeListener:Te}),Ge=M.extend({run:function(t,e,n,i){this.stop(),this._el=t,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(i||.5,.2),this._startPos=ge(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,n=1e3*this._duration;e<n?this._runFrame(this._easeOut(e/n),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var n=this._startPos.add(this._offset.multiplyBy(t));e&&n._round(),_e(this._el,n),this.fire("step")},_complete:function(){S(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),$e=M.extend({options:{crs:$,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=p(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=s(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(B(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jt&&ft&&!Et&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ke(this._proxy,te,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(B(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t=t||(ft?this.options.zoomDelta:1)),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t=t||(ft?this.options.zoomDelta:1)),e)},setZoomAround:function(t,e,n){var i=this.getZoomScale(e),s=this.getSize().divideBy(2),o=(t instanceof A?t:this.latLngToContainerPoint(t)).subtract(s).multiplyBy(1-1/i),r=this.containerPointToLatLng(s.add(o));return this.setView(r,e,{zoom:n})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():z(t);var n=O(e.paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,n.add(i));if((s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s)===1/0)return{center:t.getCenter(),zoom:s};var o=i.subtract(n).divideBy(2),r=this.project(t.getSouthWest(),s),a=this.project(t.getNorthEast(),s);return{center:this.unproject(r.add(a).divideBy(2).add(o),s),zoom:s}},fitBounds:function(t,e){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var n=this._getBoundsCenterZoom(t,e);return this.setView(n.center,n.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=O(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Ge,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){he(this._mapPane,"leaflet-pan-anim");var n=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,n,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){if(!1===(n=n||{}).animate||!ft)return this.setView(t,e,n);this._stop();var i=this.project(this.getCenter()),s=this.project(t),o=this.getSize(),r=this._zoom;t=B(t),e=void 0===e?r:e;var a=Math.max(o.x,o.y),l=a*this.getZoomScale(r,e),h=s.distanceTo(i)||1,u=2.0164;function c(t){var e=(l*l-a*a+(t?-1:1)*u*u*h*h)/(2*(t?l:a)*u*h),n=Math.sqrt(e*e+1)-e;return n<1e-9?-18:Math.log(n)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=c(0),f=Date.now(),_=(c(1)-m)/1.42,g=n.duration?1e3*n.duration:1e3*_*.8;return this._moveStart(!0,n.noMoveStart),(function n(){var o=(Date.now()-f)/g,l=function(t){return 1-Math.pow(1-t,1.5)}(o)*_;o<=1?(this._flyToFrame=k(n,this),this._move(this.unproject(i.add(s.subtract(i).multiplyBy(function(t){return a*(p(m)*function(t){return d(t)/p(t)}(m+1.42*t)-d(m))/u}(l)/h)),r),this.getScaleZoom(a/function(t){return a*(p(m)/p(m+1.42*t))}(l),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}).call(this),this},flyToBounds:function(t,e){var n=this._getBoundsCenterZoom(t,e);return this.flyTo(n.center,n.zoom,e)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var n=this.getCenter(),i=this._limitCenter(n,this._zoom,z(t));return n.equals(i)||this.panTo(i,e),this._enforcingBounds=!1,this},panInside:function(t,e){var n=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getCenter(),o=this.project(s),r=this.project(t),a=this.getPixelBounds(),l=a.getSize().divideBy(2),h=N([a.min.add(n),a.max.subtract(i)]);if(!h.contains(r)){this._enforcingBounds=!0;var u=o.subtract(r),c=O(r.x+u.x,r.y+u.y);(r.x<h.min.x||r.x>h.max.x)&&(c.x=o.x-u.x,u.x>0?c.x+=l.x-n.x:c.x-=l.x-i.x),(r.y<h.min.y||r.y>h.max.y)&&(c.y=o.y-u.y,u.y>0?c.y+=l.y-n.y:c.y-=l.y-i.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),a=o.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(s(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=s(this._handleGeolocationResponse,this),i=s(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,n=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+n+"."})},_handleGeolocationResponse:function(t){var e=new V(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),i=this._locateOptions;if(i.setView){var s=this.getBoundsZoom(n);this.setView(e,i.maxZoom?Math.min(s,i.maxZoom):s)}var o={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(o[r]=t.coords[r]);this.fire("locationfound",o)},addHandler:function(t,e){if(!e)return this;var n=this[t]=new e(this);return this._handlers.push(n),this.options[t]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=ie("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new F(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,n){t=z(t),n=O(n||[0,0]);var i=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(n),h=N(this.project(a,i),this.project(r,i)).getSize(),u=ft?this.options.zoomSnap:1,c=l.x/h.x,d=l.y/h.y,p=e?Math.max(c,d):Math.min(c,d);return i=this.getScaleZoom(p,i),u&&(i=Math.round(i/(u/100))*(u/100),i=e?Math.ceil(i/u)*u:Math.floor(i/u)*u),Math.max(s,Math.min(o,i))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new A(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var n=this._getTopLeftPoint(t,e);return new R(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=void 0===e?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs,i=n.zoom(t*n.scale(e=void 0===e?this._zoom:e));return isNaN(i)?1/0:i},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(B(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(B(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(B(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,e){return this.options.crs.distance(B(t),B(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(B(t)))},mouseEventToContainerPoint:function(t){return Ne(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ee(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");ke(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ft,he(t,"leaflet-container"+(wt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(X?" leaflet-oldie":"")+(lt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new A(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(he(t.markerPane,"leaflet-zoom-hide"),he(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){_e(this._mapPane,new A(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var i=this._zoom!==e;this._moveStart(i,!1)._move(t,e)._moveEnd(i),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,n){void 0===e&&(e=this._zoom);var i=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(i||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){_e(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Te:ke;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),ft&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=k(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,o=t.target||t.srcElement,a=!1;o;){if((n=this._targets[r(o)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(n)){a=!0;break}if(n&&n.listens(e,!0)){if(s&&!Ue(o,t))break;if(i.push(n),s)break}if(o===this._container)break;o=o.parentNode}return i.length||a||s||!Ue(o,t)||(i=[this]),i},_handleDOMEvent:function(t){if(this._loaded&&!He(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e||we(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var s=n({},t);s.type="preclick",this._fireDOMEvent(s,s.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&Oe(t);var r={originalEvent:t};if("keypress"!==t.type){var a=o.getLatLng&&(!o._radius||o._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?o.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var l=0;l<i.length;l++)if(i[l].fire(e,r,!0),r.originalEvent._stopped||!1===i[l].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ge(this._mapPane)||new A(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var n=this.getSize()._divideBy(2);return this.project(t,e)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return N([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,n){if(!n)return t;var i=this.project(t,e),s=this.getSize().divideBy(2),o=new R(i.subtract(s),i.add(s)),r=this._getBoundsOffset(o,n,e);return r.round().equals([0,0])?t:this.unproject(i.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var n=this.getPixelBounds(),i=new R(n.min.add(t),n.max.add(t));return t.add(this._getBoundsOffset(i,e))},_getBoundsOffset:function(t,e,n){var i=N(this.project(e.getNorthEast(),n),this.project(e.getSouthWest(),n)),s=i.min.subtract(t.min),o=i.max.subtract(t.max);return new A(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),n=this.getMaxZoom(),i=ft?this.options.zoomSnap:1;return i&&(t=Math.round(t/i)*i),Math.max(e,Math.min(n,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ue(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var n=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(n)||(this.panBy(n,e),0))},_createAnimProxy:function(){var t=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=Xt,n=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),n===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,n){if(this._animatingZoom)return!0;if(n=n||{},!this._zoomAnimated||!1===n.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var i=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/i);return!(!0!==n.animate&&!this.getSize().contains(s)||(k(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,n,i){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,he(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:i}),setTimeout(s(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ue(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),k(function(){this._moveEnd(!0)},this))}}),qe=I.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),n=this.getPosition(),i=t._controlCorners[n];return he(e,"leaflet-control"),-1!==n.indexOf("bottom")?i.insertBefore(e,i.firstChild):i.appendChild(e),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),We=function(t){return new qe(t)};$e.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",n=this._controlContainer=ie("div",e+"control-container",this._container);function i(i,s){t[i+s]=ie("div",e+i+" "+e+s,n)}i("top","left"),i("top","right"),i("bottom","left"),i("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=qe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,n,i){return n<i?-1:i<n?1:0}},initialize:function(t,e,n){for(var i in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[i],i);for(i in e)this._addLayer(e[i],i,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return qe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(r(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){he(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(he(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ue(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ue(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ie("div",t),n=this.options.collapsed;e.setAttribute("aria-haspopup",!0),De(e),Ae(e);var i=this._section=ie("section",t+"-list");n&&(this._map.on("click",this.collapse,this),et||ke(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=ie("a",t+"-toggle",e);s.href="#",s.title="Layers",wt?(ke(s,"click",Re),ke(s,"click",this.expand,this)):ke(s,"focus",this.expand,this),n||this.expand(),this._baseLayersList=ie("div",t+"-base",i),this._separator=ie("div",t+"-separator",i),this._overlaysList=ie("div",t+"-overlays",i),e.appendChild(i)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&r(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:n}),this.options.sortLayers&&this._layers.sort(s(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;oe(this._baseLayersList),oe(this._overlaysList),this._layerControlInputs=[];var t,e,n,i,s=0;for(n=0;n<this._layers.length;n++)this._addItem(i=this._layers[n]),e=e||i.overlay,t=t||!i.overlay,s+=i.overlay?0:1;return this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&s>1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),n=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;n&&this._map.fire(n,e)},_createRadioElement:function(t,e){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=n,i.firstChild},_addItem:function(t){var e,n=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=i):e=this._createRadioElement("leaflet-base-layers",i),this._layerControlInputs.push(e),e.layerId=r(t.layer),ke(e,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var o=document.createElement("div");return n.appendChild(o),o.appendChild(e),o.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,n=this._layerControlInputs,i=[],s=[];this._handlingClick=!0;for(var o=n.length-1;o>=0;o--)e=this._getLayer((t=n[o]).layerId).layer,t.checked?i.push(e):t.checked||s.push(e);for(o=0;o<s.length;o++)this._map.hasLayer(s[o])&&this._map.removeLayer(s[o]);for(o=0;o<i.length;o++)this._map.hasLayer(i[o])||this._map.addLayer(i[o]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._layerControlInputs,i=this._map.getZoom(),s=n.length-1;s>=0;s--)e=this._getLayer((t=n[s]).layerId).layer,t.disabled=void 0!==e.options.minZoom&&i<e.options.minZoom||void 0!==e.options.maxZoom&&i>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Ye=qe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",n=ie("div",e+" leaflet-bar"),i=this.options;return this._zoomInButton=this._createButton(i.zoomInText,i.zoomInTitle,e+"-in",n,this._zoomIn),this._zoomOutButton=this._createButton(i.zoomOutText,i.zoomOutTitle,e+"-out",n,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),n},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,n,i,s){var o=ie("a",n,i);return o.innerHTML=t,o.href="#",o.title=e,o.setAttribute("role","button"),o.setAttribute("aria-label",e),De(o),ke(o,"click",Re),ke(o,"click",s,this),ke(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ue(this._zoomInButton,e),ue(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&he(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&he(this._zoomInButton,e)}});$e.mergeOptions({zoomControl:!0}),$e.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Qe=qe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=ie("div","leaflet-control-scale"),n=this.options;return this._addScales(n,"leaflet-control-scale-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,n){t.metric&&(this._mScale=ie("div",e,n)),t.imperial&&(this._iScale=ie("div",e,n))},_update:function(){var t=this._map,e=t.getSize().y/2,n=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(n)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,n,i,s=3.2808399*t;s>5280?(n=this._getRoundNum(e=s/5280),this._updateScale(this._iScale,n+" mi",n/e)):(i=this._getRoundNum(s),this._updateScale(this._iScale,i+" ft",i/s))},_updateScale:function(t,e,n){t.style.width=Math.round(this.options.maxWidth*n)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),n=t/e;return e*(n>=10?10:n>=5?5:n>=3?3:n>=2?2:1)}}),Xe=qe.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),De(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var n=[];this.options.prefix&&n.push(this.options.prefix),t.length&&n.push(t.join(", ")),this._container.innerHTML=n.join(" | ")}}});$e.mergeOptions({attributionControl:!0}),$e.addInitHook(function(){this.options.attributionControl&&(new Xe).addTo(this)}),qe.Layers=Ke,qe.Zoom=Ye,qe.Scale=Qe,qe.Attribution=Xe,We.layers=function(t,e,n){return new Ke(t,e,n)},We.zoom=function(t){return new Ye(t)},We.scale=function(t){return new Qe(t)},We.attribution=function(t){return new Xe(t)};var Je=I.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Je.addTo=function(t,e){return t.addHandler(e,this),this};var tn,en={Events:P},nn=wt?"touchstart mousedown":"mousedown",sn={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},on={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},rn=M.extend({options:{clickTolerance:3},initialize:function(t,e,n,i){p(this,i),this._element=t,this._dragStartTarget=e||t,this._preventOutline=n},enable:function(){this._enabled||(ke(this._dragStartTarget,nn,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(rn._dragging===this&&this.finishDrag(),Te(this._dragStartTarget,nn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")&&!(rn._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(rn._dragging=this,this._preventOutline&&we(this._element),ve(),qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,n=xe(this._element);this._startPoint=new A(e.clientX,e.clientY),this._parentScale=Ce(n),ke(document,on[t.type],this._onMove,this),ke(document,sn[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,n=new A(e.clientX,e.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,Oe(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ge(this._element).subtract(n),he(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),he(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(n),this._moving=!0,S(this._animRequest),this._lastEvent=t,this._animRequest=k(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),_e(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in ue(document.body,"leaflet-dragging"),this._lastTarget&&(ue(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),on)Te(document,on[t],this._onMove,this),Te(document,sn[t],this._onUp,this);be(),Wt(),this._moved&&this._moving&&(S(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,rn._dragging=!1}});function an(t,e){if(!e||!t.length)return t.slice();var n=e*e;return function(t,e){var n=t.length,i=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);i[0]=i[n-1]=1,function t(e,n,i,s,o){var r,a,l,h=0;for(a=s+1;a<=o-1;a++)(l=pn(e[a],e[s],e[o],!0))>h&&(r=a,h=l);h>i&&(n[r]=1,t(e,n,i,s,r),t(e,n,i,r,o))}(t,i,e,0,n-1);var s,o=[];for(s=0;s<n;s++)i[s]&&o.push(t[s]);return o}(t=function(t,e){for(var n=[t[0]],i=1,s=0,o=t.length;i<o;i++)dn(t[i],t[s])>e&&(n.push(t[i]),s=i);return s<o-1&&n.push(t[o-1]),n}(t,n),n)}function ln(t,e,n){return Math.sqrt(pn(t,e,n,!0))}function hn(t,e,n,i,s){var o,r,a,l=i?tn:cn(t,n),h=cn(e,n);for(tn=h;;){if(!(l|h))return[t,e];if(l&h)return!1;a=cn(r=un(t,e,o=l||h,n,s),n),o===l?(t=r,l=a):(e=r,h=a)}}function un(t,e,n,i,s){var o,r,a=e.x-t.x,l=e.y-t.y,h=i.min,u=i.max;return 8&n?(o=t.x+a*(u.y-t.y)/l,r=u.y):4&n?(o=t.x+a*(h.y-t.y)/l,r=h.y):2&n?(o=u.x,r=t.y+l*(u.x-t.x)/a):1&n&&(o=h.x,r=t.y+l*(h.x-t.x)/a),new A(o,r,s)}function cn(t,e){var n=0;return t.x<e.min.x?n|=1:t.x>e.max.x&&(n|=2),t.y<e.min.y?n|=4:t.y>e.max.y&&(n|=8),n}function dn(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}function pn(t,e,n,i){var s,o=e.x,r=e.y,a=n.x-o,l=n.y-r,h=a*a+l*l;return h>0&&((s=((t.x-o)*a+(t.y-r)*l)/h)>1?(o=n.x,r=n.y):s>0&&(o+=a*s,r+=l*s)),a=t.x-o,l=t.y-r,i?a*a+l*l:new A(o,r)}function mn(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function fn(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),mn(t)}var _n=(Object.freeze||Object)({simplify:an,pointToSegmentDistance:ln,closestPointOnSegment:function(t,e,n){return pn(t,e,n)},clipSegment:hn,_getEdgeIntersection:un,_getBitCode:cn,_sqClosestPointOnSegment:pn,isFlat:mn,_flat:fn});function gn(t,e,n){var i,s,o,r,a,l,h,u,c,d=[1,4,2,8];for(s=0,h=t.length;s<h;s++)t[s]._code=cn(t[s],e);for(r=0;r<4;r++){for(u=d[r],i=[],s=0,o=(h=t.length)-1;s<h;o=s++)l=t[o],(a=t[s])._code&u?l._code&u||((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)):(l._code&u&&((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)),i.push(a));t=i}return t}var yn=(Object.freeze||Object)({clipPolygon:gn}),vn={project:function(t){return new A(t.lng,t.lat)},unproject:function(t){return new V(t.y,t.x)},bounds:new R([-180,-90],[180,90])},bn={R:6378137,R_MINOR:6356752.314245179,bounds:new R([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,n=this.R,i=t.lat*e,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=o*Math.sin(i),a=Math.tan(Math.PI/4-i/2)/Math.pow((1-r)/(1+r),o/2);return i=-n*Math.log(Math.max(a,1e-10)),new A(t.lng*e*n,i)},unproject:function(t){for(var e,n=180/Math.PI,i=this.R,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=Math.exp(-t.y/i),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)e=o*Math.sin(a),e=Math.pow((1-e)/(1+e),o/2),a+=h=Math.PI/2-2*Math.atan(r*e)-a;return new V(a*n,t.x*n/i)}},wn=(Object.freeze||Object)({LonLat:vn,Mercator:bn,SphericalMercator:U}),En=n({},H,{code:"EPSG:3395",projection:bn,transformation:function(){var t=.5/(Math.PI*bn.R);return G(t,.5,-t,.5)}()}),xn=n({},H,{code:"EPSG:4326",projection:vn,transformation:G(1/180,1,-1/180,.5)}),Cn=n({},j,{projection:vn,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var n=e.lng-t.lng,i=e.lat-t.lat;return Math.sqrt(n*n+i*i)},infinite:!0});j.Earth=H,j.EPSG3395=En,j.EPSG3857=$,j.EPSG900913=q,j.EPSG4326=xn,j.Simple=Cn;var Ln=M.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var n=this.getEvents();e.on(n,this),this.once("remove",function(){e.off(n,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});$e.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},_addLayers:function(t){for(var e=0,n=(t=t?g(t)?t:[t]:[]).length;e<n;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[r(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=r(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,n=this._getZoomSpan();for(var i in this._zoomBoundLayers){var s=this._zoomBoundLayers[i].options;t=void 0===s.minZoom?t:Math.min(t,s.minZoom),e=void 0===s.maxZoom?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var kn=Ln.extend({initialize:function(t,e){var n,i;if(p(this,e),this._layers={},t)for(n=0,i=t.length;n<i;n++)this.addLayer(t[n])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,n,i=Array.prototype.slice.call(arguments,1);for(e in this._layers)(n=this._layers[e])[t]&&n[t].apply(n,i);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return r(t)}}),Sn=kn.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),kn.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),kn.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new F;for(var e in this._layers){var n=this._layers[e];t.extend(n.getBounds?n.getBounds():n.getLatLng())}return t}}),Tn=I.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var n=this._getIconUrl(t);if(!n){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(n,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var n=this.options,i=n[e+"Size"];"number"==typeof i&&(i=[i,i]);var s=O(i),o=O("shadow"===e&&n.shadowAnchor||n.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(n.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),In=Tn.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return In.imagePath||(In.imagePath=this._detectIconPath()),(this.options.imagePath||In.imagePath)+Tn.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ie("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");return document.body.removeChild(t),null===e||0!==e.indexOf("url")?"":e.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Pn=Je.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new rn(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),he(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ue(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,n=e._map,i=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,o=ge(e._icon),r=n.getPixelBounds(),a=n.getPixelOrigin(),l=N(r.min._subtract(a).add(s),r.max._subtract(a).subtract(s));if(!l.contains(o)){var h=O((Math.max(l.max.x,o.x)-l.max.x)/(r.max.x-l.max.x)-(Math.min(l.min.x,o.x)-l.min.x)/(r.min.x-l.min.x),(Math.max(l.max.y,o.y)-l.max.y)/(r.max.y-l.max.y)-(Math.min(l.min.y,o.y)-l.min.y)/(r.min.y-l.min.y)).multiplyBy(i);n.panBy(h,{animate:!1}),this._draggable._newPos._add(h),this._draggable._startPos._add(h),_e(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(S(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,n=e._shadow,i=ge(e._icon),s=e._map.layerPointToLatLng(i);n&&_e(n,i),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){S(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Mn=Ln.extend({options:{icon:new In,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){p(this,e),this._latlng=B(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=B(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),n=t.icon.createIcon(this._icon),i=!1;n!==this._icon&&(this._icon&&this._removeIcon(),i=!0,t.title&&(n.title=t.title),"IMG"===n.tagName&&(n.alt=t.alt||"")),he(n,e),t.keyboard&&(n.tabIndex="0"),this._icon=n,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),o=!1;s!==this._shadow&&(this._removeShadow(),o=!0),s&&(he(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),i&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&o&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){_e(this._icon,t),this._shadow&&_e(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(he(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Pn)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Pn(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;pe(this._icon,t),this._shadow&&pe(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),An=Ln.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),Dn=An.extend({options:{fill:!0,radius:10},initialize:function(t,e){p(this,e),this._latlng=B(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=B(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return An.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,n=this._clickTolerance(),i=[t+n,e+n];this._pxBounds=new R(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),On=Dn.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=n({},i,{radius:e})),p(this,e),this._latlng=B(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new F(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:An.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,n=this._map,i=n.options.crs;if(i.distance===H.distance){var s=Math.PI/180,o=this._mRadius/H.R/s,r=n.project([e+o,t]),a=n.project([e-o,t]),l=r.add(a).divideBy(2),h=n.unproject(l).lat,u=Math.acos((Math.cos(o*s)-Math.sin(e*s)*Math.sin(h*s))/(Math.cos(e*s)*Math.cos(h*s)))/s;(isNaN(u)||0===u)&&(u=o/Math.cos(Math.PI/180*e)),this._point=l.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:l.x-n.project([h,t-u]).x,this._radiusY=l.y-r.y}else{var c=i.unproject(i.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x}this._updateBounds()}}),Rn=An.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){p(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,n,i=1/0,s=null,o=pn,r=0,a=this._parts.length;r<a;r++)for(var l=this._parts[r],h=1,u=l.length;h<u;h++){var c=o(t,e=l[h-1],n=l[h],!0);c<i&&(i=c,s=o(t,e,n))}return s&&(s.distance=Math.sqrt(i)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a=this._rings[0],l=a.length;if(!l)return null;for(t=0,e=0;t<l-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,i=0;t<l-1;t++)if((i+=n=(s=a[t]).distanceTo(o=a[t+1]))>e)return this._map.layerPointToLatLng([o.x-(r=(i-e)/n)*(o.x-s.x),o.y-r*(o.y-s.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=B(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new F,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return mn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],n=mn(t),i=0,s=t.length;i<s;i++)n?(e[i]=B(t[i]),this._bounds.extend(e[i])):e[i]=this._convertLatLngs(t[i]);return e},_project:function(){var t=new R;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),n=new A(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(n),t.max._add(n),this._pxBounds=t)},_projectLatlngs:function(t,e,n){var i,s,o=t.length;if(t[0]instanceof V){for(s=[],i=0;i<o;i++)s[i]=this._map.latLngToLayerPoint(t[i]),n.extend(s[i]);e.push(s)}else for(i=0;i<o;i++)this._projectLatlngs(t[i],e,n)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,n,i,s,o,r,a,l=this._parts;for(e=0,i=0,s=this._rings.length;e<s;e++)for(n=0,o=(a=this._rings[e]).length;n<o-1;n++)(r=hn(a[n],a[n+1],t,n,!0))&&(l[i]=l[i]||[],l[i].push(r[0]),r[1]===a[n+1]&&n!==o-2||(l[i].push(r[1]),i++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,n=0,i=t.length;n<i;n++)t[n]=an(t[n],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var n,i,s,o,r,a,l=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,o=this._parts.length;n<o;n++)for(i=0,s=(r=(a=this._parts[n]).length)-1;i<r;s=i++)if((e||0!==i)&&ln(t,a[s],a[i])<=l)return!0;return!1}});Rn._flat=fn;var Nn=Rn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a,l=this._rings[0],h=l.length;if(!h)return null;for(o=r=a=0,t=0,e=h-1;t<h;e=t++)r+=((n=l[t]).x+(i=l[e]).x)*(s=n.y*i.x-i.y*n.x),a+=(n.y+i.y)*s,o+=3*s;return this._map.layerPointToLatLng(0===o?l[0]:[r/o,a/o])},_convertLatLngs:function(t){var e=Rn.prototype._convertLatLngs.call(this,t),n=e.length;return n>=2&&e[0]instanceof V&&e[0].equals(e[n-1])&&e.pop(),e},_setLatLngs:function(t){Rn.prototype._setLatLngs.call(this,t),mn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return mn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,n=new A(e,e);if(t=new R(t.min.subtract(n),t.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,s=0,o=this._rings.length;s<o;s++)(i=gn(this._rings[s],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,n,i,s,o,r,a,l,h=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(s=0,a=this._parts.length;s<a;s++)for(o=0,r=(l=(e=this._parts[s]).length)-1;o<l;r=o++)(n=e[o]).y>t.y!=(i=e[r]).y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(h=!h);return h||Rn.prototype._containsPoint.call(this,t,!0)}}),Fn=Sn.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,n,i,s=g(t)?t:t.features;if(s){for(e=0,n=s.length;e<n;e++)((i=s[e]).geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var o=this.options;if(o.filter&&!o.filter(t))return this;var r=zn(t,o);return r?(r.feature=Zn(t),r.defaultOptions=r.options,this.resetStyle(r),o.onEachFeature&&o.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}});function zn(t,e){var n,i,s,o,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,l=[],h=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Vn;if(!a&&!r)return null;switch(r.type){case"Point":return n=u(a),h?h(t,n):new Mn(n);case"MultiPoint":for(s=0,o=a.length;s<o;s++)n=u(a[s]),l.push(h?h(t,n):new Mn(n));return new Sn(l);case"LineString":case"MultiLineString":return i=Bn(a,"LineString"===r.type?0:1,u),new Rn(i,e);case"Polygon":case"MultiPolygon":return i=Bn(a,"Polygon"===r.type?1:2,u),new Nn(i,e);case"GeometryCollection":for(s=0,o=r.geometries.length;s<o;s++){var c=zn({geometry:r.geometries[s],type:"Feature",properties:t.properties},e);c&&l.push(c)}return new Sn(l);default:throw new Error("Invalid GeoJSON object.")}}function Vn(t){return new V(t[1],t[0],t[2])}function Bn(t,e,n){for(var i,s=[],o=0,r=t.length;o<r;o++)i=e?Bn(t[o],e-1,n):(n||Vn)(t[o]),s.push(i);return s}function jn(t,e){return e="number"==typeof e?e:6,void 0!==t.alt?[u(t.lng,e),u(t.lat,e),u(t.alt,e)]:[u(t.lng,e),u(t.lat,e)]}function Hn(t,e,n,i){for(var s=[],o=0,r=t.length;o<r;o++)s.push(e?Hn(t[o],e-1,n,i):jn(t[o],i));return!e&&n&&s.push(s[0]),s}function Un(t,e){return t.feature?n({},t.feature,{geometry:e}):Zn(e)}function Zn(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Gn={toGeoJSON:function(t){return Un(this,{type:"Point",coordinates:jn(this.getLatLng(),t)})}};function $n(t,e){return new Fn(t,e)}Mn.include(Gn),On.include(Gn),Dn.include(Gn),Rn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=Hn(this._latlngs,e?1:0,!1,t);return Un(this,{type:(e?"Multi":"")+"LineString",coordinates:n})}}),Nn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=e&&!mn(this._latlngs[0]),i=Hn(this._latlngs,n?2:e?1:0,!0,t);return e||(i=[i]),Un(this,{type:(n?"Multi":"")+"Polygon",coordinates:i})}}),kn.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(n){e.push(n.toGeoJSON(t).geometry.coordinates)}),Un(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var n="GeometryCollection"===e,i=[];return this.eachLayer(function(e){if(e.toGeoJSON){var s=e.toGeoJSON(t);if(n)i.push(s.geometry);else{var o=Zn(s);"FeatureCollection"===o.type?i.push.apply(i,o.features):i.push(o)}}}),n?Un(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}});var qn=$n,Wn=Ln.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,n){this._url=t,this._bounds=z(e),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(he(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&re(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ie("img");he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),this.options.className&&he(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=s(this.fire,this,"load"),e.onerror=s(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,n,e)},_reset:function(){var t=this._image,e=new R(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=e.getSize();_e(t,e.min),t.style.width=n.x+"px",t.style.height=n.y+"px"},_updateOpacity:function(){pe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Kn=Wn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ie("video");if(he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=s(this.fire,this,"load"),t){for(var n=e.getElementsByTagName("source"),i=[],o=0;o<n.length;o++)i.push(n[o].src);this._url=n.length>0?i:[e.src]}else{g(this._url)||(this._url=[this._url]),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop;for(var r=0;r<this._url.length;r++){var a=ie("source");a.src=this._url[r],e.appendChild(a)}}}}),Yn=Ln.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){p(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&pe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&pe(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(pe(this._container,0),this._removeTimeout=setTimeout(s(se,void 0,this._container),200)):se(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=B(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&re(this._container),this},bringToBack:function(){return this._map&&ae(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),n=this._getAnchor();this._zoomAnimated?_e(this._container,t.add(n)):e=e.add(t).add(n);var i=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=i+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),Qn=Yn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Yn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof An||this._source.on("preclick",Me))},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof An||this._source.off("preclick",Me))},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=ie("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=ie("div",t+"-content-wrapper",e);if(this._contentNode=ie("div",t+"-content",n),De(n),Ae(this._contentNode),ke(n,"contextmenu",Me),this._tipContainer=ie("div",t+"-tip-container",e),this._tip=ie("div",t+"-tip",this._tipContainer),this.options.closeButton){var i=this._closeButton=ie("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",ke(i,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var n=t.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),e.width=n+1+"px",e.whiteSpace="",e.height="";var i=this.options.maxHeight;i&&t.offsetHeight>i?(e.height=i+"px",he(t,"leaflet-popup-scrolled")):ue(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),n=this._getAnchor();_e(this._container,e.add(n))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+e,i=this._containerWidth,s=new A(this._containerLeft,-n-this._containerBottom);s._add(ge(this._container));var o=t.layerPointToContainerPoint(s),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),l=O(this.options.autoPanPaddingBottomRight||r),h=t.getSize(),u=0,c=0;o.x+i+l.x>h.x&&(u=o.x+i-h.x+l.x),o.x-u-a.x<0&&(u=o.x-a.x),o.y+n+l.y>h.y&&(c=o.y+n-h.y+l.y),o.y-c-a.y<0&&(c=o.y-a.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),Re(t)},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});$e.mergeOptions({closePopupOnClick:!0}),$e.include({openPopup:function(t,e,n){return t instanceof Qn||(t=new Qn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ln.include({bindPopup:function(t,e){return t instanceof Qn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Qn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Re(t),e instanceof An?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xn=Yn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){this._contentNode=this._container=ie("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,n=this._container,i=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),o=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,l=O(this.options.offset),h=this._getAnchor();"top"===o?t=t.add(O(-r/2+l.x,-a+l.y+h.y,!0)):"bottom"===o?t=t.subtract(O(r/2-l.x,-l.y,!0)):"center"===o?t=t.subtract(O(r/2+l.x,a/2-h.y+l.y,!0)):"right"===o||"auto"===o&&s.x<i.x?(o="right",t=t.add(O(l.x+h.x,h.y-a/2+l.y,!0))):(o="left",t=t.subtract(O(r+h.x-l.x,a/2-h.y-l.y,!0))),ue(n,"leaflet-tooltip-right"),ue(n,"leaflet-tooltip-left"),ue(n,"leaflet-tooltip-top"),ue(n,"leaflet-tooltip-bottom"),he(n,"leaflet-tooltip-"+o),_e(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&pe(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});$e.include({openTooltip:function(t,e,n){return t instanceof Xn||(t=new Xn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ln.include({bindTooltip:function(t,e){return t instanceof Xn?(p(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=new Xn(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),wt&&(n.click=this._openTooltip)),this[e](n),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(he(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(ue(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){this._tooltip&&this._map&&this.openTooltip(t.layer||t.target,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,n,i=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),n=this._map.containerPointToLayerPoint(e),i=this._map.layerPointToLatLng(n)),this._tooltip.setLatLng(i)}});var Jn=Tn.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;if(e.innerHTML=!1!==n.html?n.html:"",n.bgPos){var i=O(n.bgPos);e.style.backgroundPosition=-i.x+"px "+-i.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Tn.Default=In;var ti=Ln.extend({options:{tileSize:256,opacity:1,updateWhenIdle:_t,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(re(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=a(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof A?t:new A(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,n=this.getPane().children,i=-t(-1/0,1/0),s=0,o=n.length;s<o;s++)e=n[s].style.zIndex,n[s]!==this._container&&e&&(i=t(i,+e));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X){pe(this._container,this.options.opacity);var t=+new Date,e=!1,n=!1;for(var i in this._tiles){var s=this._tiles[i];if(s.current&&s.loaded){var o=Math.min(1,(t-s.loaded)/200);pe(s.el,o),o<1?e=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),e&&(S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var n in this._levels)this._levels[n].el.children.length||n===t?(this._levels[n].el.style.zIndex=e-Math.abs(t-n),this._onUpdateLevel(n)):(se(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var i=this._levels[t],s=this._map;return i||((i=this._levels[t]={}).el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),i.el.style.zIndex=e,i.origin=s.project(s.unproject(s.getPixelOrigin()),t).round(),i.zoom=t,this._setZoomTransform(i,s.getCenter(),s.getZoom()),this._onCreateLevel(i)),this._level=i,i}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var i=e.coords;this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,n,i){var s=Math.floor(t/2),o=Math.floor(e/2),r=n-1,a=new A(+s,+o);a.z=+r;var l=this._tileCoordsToKey(a),h=this._tiles[l];return h&&h.active?(h.retain=!0,!0):(h&&h.loaded&&(h.retain=!0),r>i&&this._retainParent(s,o,r,i))},_retainChildren:function(t,e,n,i){for(var s=2*t;s<2*t+2;s++)for(var o=2*e;o<2*e+2;o++){var r=new A(s,o);r.z=n+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),n+1<i&&this._retainChildren(s,o,n+1,i))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,n,i){var s=this._clampZoom(Math.round(e));(void 0!==this.options.maxZoom&&s>this.options.maxZoom||void 0!==this.options.minZoom&&s<this.options.minZoom)&&(s=void 0),i&&!(this.options.updateWhenZooming&&s!==this._tileZoom)||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==s&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var n in this._levels)this._setZoomTransform(this._levels[n],t,e)},_setZoomTransform:function(t,e,n){var i=this._map.getZoomScale(n,t.zoom),s=t.origin.multiplyBy(i).subtract(this._map._getNewPixelOrigin(e,n)).round();ft?fe(t.el,s,i):_e(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,n=this._tileSize=this.getTileSize(),i=this._tileZoom,s=this._map.getPixelWorldBounds(this._tileZoom);s&&(this._globalTileRange=this._pxBoundsToTileRange(s)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],i).x/n.x),Math.ceil(t.project([0,e.wrapLng[1]],i).x/n.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],i).y/n.x),Math.ceil(t.project([e.wrapLat[1],0],i).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,n=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(n,this._tileZoom),s=e.project(t,this._tileZoom).floor(),o=e.getSize().divideBy(2*i);return new R(s.subtract(o),s.add(o))},_update:function(t){var e=this._map;if(e){var n=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var i=this._getTiledPixelBounds(t),s=this._pxBoundsToTileRange(i),o=s.getCenter(),r=[],a=this.options.keepBuffer,l=new R(s.getBottomLeft().subtract([a,-a]),s.getTopRight().add([a,-a]));if(!(isFinite(s.min.x)&&isFinite(s.min.y)&&isFinite(s.max.x)&&isFinite(s.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var h in this._tiles){var u=this._tiles[h].coords;u.z===this._tileZoom&&l.contains(new A(u.x,u.y))||(this._tiles[h].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(t,n);else{for(var c=s.min.y;c<=s.max.y;c++)for(var d=s.min.x;d<=s.max.x;d++){var p=new A(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort(function(t,e){return t.distanceTo(o)-e.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],f);this._level.el.appendChild(f)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var n=this._globalTileRange;if(!e.wrapLng&&(t.x<n.min.x||t.x>n.max.x)||!e.wrapLat&&(t.y<n.min.y||t.y>n.max.y))return!1}if(!this.options.bounds)return!0;var i=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(i)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,n=this.getTileSize(),i=t.scaleBy(n),s=i.add(n);return[e.unproject(i,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),n=new F(e[0],e[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),n=new A(+e[0],+e[1]);return n.z=+e[2],n},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){he(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,X&&this.options.opacity<1&&pe(t,this.options.opacity),et&&!nt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var n=this._getTilePos(t),i=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),s(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&k(s(this._tileReady,this,t,null,o)),_e(o,n),this._tiles[i]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,n){e&&this.fire("tileerror",{error:e,tile:n,coords:t});var i=this._tileCoordsToKey(t);(n=this._tiles[i])&&(n.loaded=+new Date,this._map._fadeAnimated?(pe(n.el,0),S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),e||(he(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(s(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new A(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new R(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ei=ti.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Ct&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),et||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var n=document.createElement("img");return ke(n,"load",s(this._tileOnLoad,this,e,n)),ke(n,"error",s(this._tileOnError,this,e,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return _(this._url,n(e,this.options))},_tileOnLoad:function(t,e){X?setTimeout(s(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,n){var i=this.options.errorTileUrl;i&&e.getAttribute("src")!==i&&(e.src=i),t(n,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,e.complete||(e.src=v,se(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return st||e.el.setAttribute("src",v),ti.prototype._removeTile.call(this,t)},_tileReady:function(t,e,n){if(this._map&&(!n||n.getAttribute("src")!==v))return ti.prototype._tileReady.call(this,t,e,n)}});function ni(t,e){return new ei(t,e)}var ii=ei.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var s in e)s in this.options||(i[s]=e[s]);var o=(e=p(this,e)).detectRetina&&Ct?2:1,r=this.getTileSize();i.width=r.x*o,i.height=r.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,ei.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),n=this._crs,i=N(n.project(e[0]),n.project(e[1])),s=i.min,o=i.max,r=(this._wmsVersion>=1.3&&this._crs===xn?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ei.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});ei.WMS=ii,ni.wms=function(t,e){return new ii(t,e)};var si=Ln.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&he(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var n=this._map.getZoomScale(e,this._zoom),i=ge(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),r=this._map.project(t,e).subtract(o),a=s.multiplyBy(-n).add(i).add(s).subtract(r);ft?fe(this._container,a,n):_e(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),n=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new R(n,n.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),oi=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){si.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ke(t,"mousemove",a(this._onMouseMove,32,this),this),ke(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ke(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,se(this._container),Te(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=this._container,n=t.getSize(),i=Ct?2:1;_e(e,t.min),e.width=i*n.x,e.height=i*n.y,e.style.width=n.x+"px",e.style.height=n.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){si.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,n=e.next,i=e.prev;n?n.prev=i:this._drawLast=i,i?i.next=n:this._drawFirst=n,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,n,i=t.options.dashArray.split(/[, ]+/),s=[];for(n=0;n<i.length;n++){if(e=Number(i[n]),isNaN(e))return;s.push(e)}t.options._dashArray=s}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new R,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var n=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var i=this._drawFirst;i;i=i.next)t=i.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var n,i,s,o,r=t._parts,a=r.length,l=this._ctx;if(a){for(l.beginPath(),n=0;n<a;n++){for(i=0,s=r[n].length;i<s;i++)o=r[n][i],l[i?"lineTo":"moveTo"](o.x,o.y);e&&l.closePath()}this._fillStroke(l,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,n=this._ctx,i=Math.max(Math.round(t._radius),1),s=(Math.max(Math.round(t._radiusY),1)||i)/i;1!==s&&(n.save(),n.scale(1,s)),n.beginPath(),n.arc(e.x,e.y/s,i,0,2*Math.PI,!1),1!==s&&n.restore(),this._fillStroke(n,t)}},_fillStroke:function(t,e){var n=e.options;n.fill&&(t.globalAlpha=n.fillOpacity,t.fillStyle=n.fillColor||n.color,t.fill(n.fillRule||"evenodd")),n.stroke&&0!==n.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=n.opacity,t.lineWidth=n.weight,t.strokeStyle=n.color,t.lineCap=n.lineCap,t.lineJoin=n.lineJoin,t.stroke())},_onClick:function(t){for(var e,n,i=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)(e=s.layer).options.interactive&&e._containsPoint(i)&&!this._map._draggableMoved(e)&&(n=e);n&&(je(t),this._fireEvent([n],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ue(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var n,i,s=this._drawFirst;s;s=s.next)(n=s.layer).options.interactive&&n._containsPoint(e)&&(i=n);i!==this._hoveredLayer&&(this._handleMouseOut(t),i&&(he(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseover"),this._hoveredLayer=i)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,n){this._map._fireDOMEvent(e,n||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;n&&(n.prev=i,i?i.next=n:n&&(this._drawFirst=n),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;i&&(i.next=n,n?n.prev=i:i&&(this._drawLast=i),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function ri(t){return Lt?new oi(t):null}var ai=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),li={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(si.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ai("shape");he(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ai("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,n=t._fill,i=t.options,s=t._container;s.stroked=!!i.stroke,s.filled=!!i.fill,i.stroke?(e||(e=t._stroke=ai("stroke")),s.appendChild(e),e.weight=i.weight+"px",e.color=i.color,e.opacity=i.opacity,e.dashStyle=i.dashArray?g(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):"",e.endcap=i.lineCap.replace("butt","flat"),e.joinstyle=i.lineJoin):e&&(s.removeChild(e),t._stroke=null),i.fill?(n||(n=t._fill=ai("fill")),s.appendChild(n),n.color=i.fillColor||i.color,n.opacity=i.fillOpacity):n&&(s.removeChild(n),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),n=Math.round(t._radius),i=Math.round(t._radiusY||n);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+n+","+i+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){re(t._container)},_bringToBack:function(t){ae(t._container)}},hi=St?ai:W,ui=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=hi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=hi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Te(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=t.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,n.setAttribute("width",e.x),n.setAttribute("height",e.y)),_e(n,t.min),n.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=hi("path");t.options.className&&he(e,t.options.className),t.options.interactive&&he(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,n=t.options;e&&(n.stroke?(e.setAttribute("stroke",n.color),e.setAttribute("stroke-opacity",n.opacity),e.setAttribute("stroke-width",n.weight),e.setAttribute("stroke-linecap",n.lineCap),e.setAttribute("stroke-linejoin",n.lineJoin),n.dashArray?e.setAttribute("stroke-dasharray",n.dashArray):e.removeAttribute("stroke-dasharray"),n.dashOffset?e.setAttribute("stroke-dashoffset",n.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),n.fill?(e.setAttribute("fill",n.fillColor||n.color),e.setAttribute("fill-opacity",n.fillOpacity),e.setAttribute("fill-rule",n.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,K(t._parts,e))},_updateCircle:function(t){var e=t._point,n=Math.max(Math.round(t._radius),1),i="a"+n+","+(Math.max(Math.round(t._radiusY),1)||n)+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-n)+","+e.y+i+2*n+",0 "+i+2*-n+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){re(t._path)},_bringToBack:function(t){ae(t._path)}});function ci(t){return kt||St?new ui(t):null}St&&ui.include(li),$e.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&ri(t)||ci(t)}});var di=Nn.extend({initialize:function(t,e){Nn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=z(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ui.create=hi,ui.pointsToPath=K,Fn.geometryToLayer=zn,Fn.coordsToLatLng=Vn,Fn.coordsToLatLngs=Bn,Fn.latLngToCoords=jn,Fn.latLngsToCoords=Hn,Fn.getFeature=Un,Fn.asFeature=Zn,$e.mergeOptions({boxZoom:!0});var pi=Je.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Te(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),qt(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(t),ke(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),he(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new R(this._point,this._startPoint),n=e.getSize();_e(this._box,e.min),this._box.style.width=n.x+"px",this._box.style.height=n.y+"px"},_finish:function(){this._moved&&(se(this._box),ue(this._container,"leaflet-crosshair")),Wt(),be(),Te(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(s(this._resetState,this),0);var e=new F(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});$e.addInitHook("addHandler","boxZoom",pi),$e.mergeOptions({doubleClickZoom:!0});var mi=Je.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,n=e.getZoom(),i=e.options.zoomDelta,s=t.originalEvent.shiftKey?n-i:n+i;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});$e.addInitHook("addHandler","doubleClickZoom",mi),$e.mergeOptions({dragging:!0,inertia:!nt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=Je.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new rn(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}he(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ue(this._map._container,"leaflet-grab"),ue(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=z(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),n=this._initialWorldOffset,i=this._draggable._newPos.x,s=(i-e+n)%t+e-n,o=(i+e+n)%t-e-n,r=Math.abs(s+n)<Math.abs(o+n)?s:o;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,n=e.options,i=!n.inertia||this._times.length<2;if(e.fire("dragend",t),i)e.fire("moveend");else{this._prunePositions(+new Date);var s=this._lastPos.subtract(this._positions[0]),o=n.easeLinearity,r=s.multiplyBy(o/((this._lastTime-this._times[0])/1e3)),a=r.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,a),h=r.multiplyBy(l/a),u=l/(n.inertiaDeceleration*o),c=h.multiplyBy(-u/2).round();c.x||c.y?(c=e._limitOffset(c,e.options.maxBounds),k(function(){e.panBy(c,{duration:u,easeLinearity:o,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}});$e.addInitHook("addHandler","dragging",fi),$e.mergeOptions({keyboard:!0,keyboardPanDelta:80});var _i=Je.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),ke(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Te(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,n=t.scrollTop||e.scrollTop,i=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(i,n)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,n,i=this._panKeys={},s=this.keyCodes;for(e=0,n=s.left.length;e<n;e++)i[s.left[e]]=[-1*t,0];for(e=0,n=s.right.length;e<n;e++)i[s.right[e]]=[t,0];for(e=0,n=s.down.length;e<n;e++)i[s.down[e]]=[0,t];for(e=0,n=s.up.length;e<n;e++)i[s.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,n,i=this._zoomKeys={},s=this.keyCodes;for(e=0,n=s.zoomIn.length;e<n;e++)i[s.zoomIn[e]]=t;for(e=0,n=s.zoomOut.length;e<n;e++)i[s.zoomOut[e]]=-t},_addHooks:function(){ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Te(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,n=t.keyCode,i=this._map;if(n in this._panKeys)i._panAnim&&i._panAnim._inProgress||(e=this._panKeys[n],t.shiftKey&&(e=O(e).multiplyBy(3)),i.panBy(e),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds));else if(n in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!i._popup||!i._popup.options.closeOnEscapeKey)return;i.closePopup()}Re(t)}}});$e.addInitHook("addHandler","keyboard",_i),$e.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var gi=Je.extend({addHooks:function(){ke(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Te(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=ze(t),n=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(s(this._performZoom,this),i),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),n=this._map.options.zoomSnap||0;t._stop();var i=4*Math.log(2/(1+Math.exp(-Math.abs(this._delta/(4*this._map.options.wheelPxPerZoomLevel)))))/Math.LN2,s=n?Math.ceil(i/n)*n:i,o=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,o&&("center"===t.options.scrollWheelZoom?t.setZoom(e+o):t.setZoomAround(this._lastMousePos,e+o))}});$e.addInitHook("addHandler","scrollWheelZoom",gi),$e.mergeOptions({tap:!0,tapTolerance:15});var yi=Je.extend({addHooks:function(){ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Te(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Oe(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],n=e.target;this._startPos=this._newPos=new A(e.clientX,e.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&he(n,"leaflet-active"),this._holdTimeout=setTimeout(s(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),ke(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Te(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],n=e.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&ue(n,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new A(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var n=document.createEvent("MouseEvents");n._simulated=!0,e.target._simulatedClick=!0,n.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(n)}});wt&&!bt&&$e.addInitHook("addHandler","tap",yi),$e.mergeOptions({touchZoom:wt&&!nt,bounceAtZoomLimits:!0});var vi=Je.extend({addHooks:function(){he(this._map._container,"leaflet-touch-zoom"),ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Te(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(n.add(i)._divideBy(2))),this._startDist=n.distanceTo(i),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ke(document,"touchmove",this._onTouchMove,this),ke(document,"touchend",this._onTouchEnd,this),Oe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]),o=n.distanceTo(i)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var r=n._add(i)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=s(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=k(a,this,!0),Oe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),Te(document,"touchmove",this._onTouchMove),Te(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});$e.addInitHook("addHandler","touchZoom",vi),$e.BoxZoom=pi,$e.DoubleClickZoom=mi,$e.Drag=fi,$e.Keyboard=_i,$e.ScrollWheelZoom=gi,$e.Tap=yi,$e.TouchZoom=vi,Object.freeze=e,t.version="1.4.0",t.Control=qe,t.control=We,t.Browser=It,t.Evented=M,t.Mixin=en,t.Util=T,t.Class=I,t.Handler=Je,t.extend=n,t.bind=s,t.stamp=r,t.setOptions=p,t.DomEvent=Ze,t.DomUtil=Le,t.PosAnimation=Ge,t.Draggable=rn,t.LineUtil=_n,t.PolyUtil=yn,t.Point=A,t.point=O,t.Bounds=R,t.bounds=N,t.Transformation=Z,t.transformation=G,t.Projection=wn,t.LatLng=V,t.latLng=B,t.LatLngBounds=F,t.latLngBounds=z,t.CRS=j,t.GeoJSON=Fn,t.geoJSON=$n,t.geoJson=qn,t.Layer=Ln,t.LayerGroup=kn,t.layerGroup=function(t,e){return new kn(t,e)},t.FeatureGroup=Sn,t.featureGroup=function(t){return new Sn(t)},t.ImageOverlay=Wn,t.imageOverlay=function(t,e,n){return new Wn(t,e,n)},t.VideoOverlay=Kn,t.videoOverlay=function(t,e,n){return new Kn(t,e,n)},t.DivOverlay=Yn,t.Popup=Qn,t.popup=function(t,e){return new Qn(t,e)},t.Tooltip=Xn,t.tooltip=function(t,e){return new Xn(t,e)},t.Icon=Tn,t.icon=function(t){return new Tn(t)},t.DivIcon=Jn,t.divIcon=function(t){return new Jn(t)},t.Marker=Mn,t.marker=function(t,e){return new Mn(t,e)},t.TileLayer=ei,t.tileLayer=ni,t.GridLayer=ti,t.gridLayer=function(t){return new ti(t)},t.SVG=ui,t.svg=ci,t.Renderer=si,t.Canvas=oi,t.canvas=ri,t.Path=An,t.CircleMarker=Dn,t.circleMarker=function(t,e){return new Dn(t,e)},t.Circle=On,t.circle=function(t,e,n){return new On(t,e,n)},t.Polyline=Rn,t.polyline=function(t,e){return new Rn(t,e)},t.Polygon=Nn,t.polygon=function(t,e){return new Nn(t,e)},t.Rectangle=di,t.rectangle=function(t,e){return new di(t,e)},t.Map=$e,t.map=function(t,e){return new $e(t,e)};var bi=window.L;t.noConflict=function(){return window.L=bi,this},window.L=t}(e)},GPNb:function(t,e){function n(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="GPNb"},INa4:function(t,e){!function(t,e,n){L.drawVersion="0.4.14",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(t,e){this._map=t,this._container=t._container,this._overlayPane=t._panes.overlayPane,this._popupPane=t._panes.popupPane,e&&e.shapeOptions&&(e.shapeOptions=L.Util.extend({},this.options.shapeOptions,e.shapeOptions)),L.setOptions(this,e);var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(L.DomUtil.disableTextSelection(),t.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(t){L.setOptions(this,t)},_fireCreatedEvent:function(t){this._map.fire(L.Draw.Event.CREATED,{layer:t,layerType:this.type})},_cancelDrawing:function(t){27===t.keyCode&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(t,e){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,e&&e.drawError&&(e.drawError=L.Util.extend({},this.options.drawError,e.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),e=this._poly,n=e.getLatLngs(),i=n.splice(-1,1)[0];this._poly.setLatLngs(n),this._markerGroup.removeLayer(t),e.getLatLngs().length<2&&this._map.removeLayer(e),this._vertexChanged(i,!1)}},addVertex:function(t){this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(t)?this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(t)),this._poly.addLatLng(t),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),this._vertexChanged(t,!0))},completeShape:function(){this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var t=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),e=this._poly.newLatLngIntersects(t[t.length-1]);!this.options.allowIntersection&&e||!this._shapeIsValid()?this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_shapeIsValid:function(){return!0},_onZoomEnd:function(){null!==this._markers&&this._updateGuide()},_onMouseMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.layerPointToLatLng(e);this._currentLatLng=n,this._updateTooltip(n),this._updateGuide(e),this._mouseMarker.setLatLng(n),L.DomEvent.preventDefault(t.originalEvent)},_vertexChanged:function(t,e){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(t,e),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(t){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent;this._startPoint.call(this,e.clientX,e.clientY)}},_startPoint:function(t,e){this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){var e=t.originalEvent;this._endPoint.call(this,e.clientX,e.clientY,t),this._clickHandled=null},_endPoint:function(e,n,i){if(this._mouseDownOrigin){var s=L.point(e,n).distanceTo(this._mouseDownOrigin),o=this._calculateFinishDistance(i.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(i.latlng),this._finishShape()):o<10&&L.Browser.touch?this._finishShape():Math.abs(s)<9*(t.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,n,i=t.originalEvent;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=i.touches[0].clientX,n=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,n),this._endPoint.call(this,e,n,t),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var n;if(this.type===L.Draw.Polyline.TYPE)n=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;n=this._markers[0]}var i=this._map.latLngToContainerPoint(n.getLatLng()),s=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),o=this._map.latLngToContainerPoint(s.getLatLng());e=i.distanceTo(o)}else e=1/0;return e},_updateFinishHandler:function(){var t=this._markers.length;t>1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_updateGuide:function(t){var e=this._markers?this._markers.length:0;e>0&&(t=t||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[e-1].getLatLng()),t))},_updateTooltip:function(t){var e=this._getTooltipText();t&&this._tooltip.updatePosition(t),this._errorShown||this._tooltip.updateContent(e)},_drawGuide:function(t,e){var n,i,s,o=Math.floor(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))),r=this.options.maxGuideLineLength,a=o>r?o-r:this.options.guidelineDistance;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));a<o;a+=this.options.guidelineDistance)n=a/o,i={x:Math.floor(t.x*(1-n)+n*e.x),y:Math.floor(t.y*(1-n)+n*e.y)},(s=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer)).style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(s,i)},_updateGuideColor:function(t){if(this._guidesContainer)for(var e=0,n=this._guidesContainer.childNodes.length;e<n;e++)this._guidesContainer.childNodes[e].style.backgroundColor=t},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var t,e;return 0===this._markers.length?t={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(e=this.options.showLength?this._getMeasurementString():"",t=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:e}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:e}),t},_updateRunningMeasure:function(t,e){var n,i,s=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(n=s-(e?2:1),i=L.GeometryUtil.isVersion07x()?t.distanceTo(this._markers[n].getLatLng())*(this.options.factor||1):this._map.distance(t,this._markers[n].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=i*(e?1:-1))},_getMeasurementString:function(){var t,e=this._currentLatLng,n=this._markers[this._markers.length-1].getLatLng();return t=L.GeometryUtil.isVersion07x()?n&&e&&e.distanceTo?this._measurementRunningTotal+e.distanceTo(n)*(this.options.factor||1):this._measurementRunningTotal||0:n&&e?this._measurementRunningTotal+this._map.distance(e,n)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(t,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var t=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(t,e){L.Draw.Polyline.prototype.initialize.call(this,t,e),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var t=this._markers.length;1===t&&this._markers[0].on("click",this._finishShape,this),t>2&&(this._markers[t-1].on("dblclick",this._finishShape,this),t>3&&this._markers[t-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var t,e;return 0===this._markers.length?t=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(t=L.drawLocal.draw.handlers.polygon.tooltip.cont,e=this._getMeasurementString()):(t=L.drawLocal.draw.handlers.polygon.tooltip.end,e=this._getMeasurementString()),{text:t,subtext:e}},_getMeasurementString:function(){var t=this._area,e="";return t||this.options.showLength?(this.options.showLength&&(e=L.Draw.Polyline.prototype._getMeasurementString.call(this)),t&&(e+="<br>"+L.GeometryUtil.readableArea(t,this.options.metric,this.options.precision)),e):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(t,e){var n;!this.options.allowIntersection&&this.options.showArea&&(n=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(n)),L.Draw.Polyline.prototype._vertexChanged.call(this,t,e)},_cleanUpShape:function(){var t=this._markers.length;t>0&&(this._markers[0].off("click",this._finishShape,this),t>2&&this._markers[t-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(t,e){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),e.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(e,"mouseup",this._onMouseUp,this),L.DomEvent.off(e,"touchend",this._onMouseUp,this),e.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(t){this._isDrawing=!0,this._startLatLng=t.latlng,L.DomEvent.on(e,"mouseup",this._onMouseUp,this).on(e,"touchend",this._onMouseUp,this).preventDefault(t.originalEvent)},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(e))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,showArea:!0,clickable:!0},metric:!0},initialize:function(t,e){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(t){this._shape||this._isCurrentlyTwoClickDrawing?this._isCurrentlyTwoClickDrawing&&!function(t,e){for(;(t=t.parentElement)&&!t.classList.contains("leaflet-pane"););return t}(t.target)||L.Draw.SimpleShape.prototype._onMouseUp.call(this):this._isCurrentlyTwoClickDrawing=!0},_drawShape:function(t){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,t)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,t),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_getTooltipText:function(){var t,e,n,i=L.Draw.SimpleShape.prototype._getTooltipText.call(this),s=this.options.showArea;return this._shape&&(t=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),e=L.GeometryUtil.geodesicArea(t),n=s?L.GeometryUtil.readableArea(e,this.options.metric):""),{text:i.text,subtext:n}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._mouseMarker.setLatLng(e),this._marker?(e=this._mouseMarker.getLatLng(),this._marker.setLatLng(e)):(this._marker=this._createMarker(e),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(t){return new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(t){this._onMouseMove(t),this._onClick()},_fireCreatedEvent:function(){var t=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},_fireCreatedEvent:function(){var t=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)},_createMarker:function(t){return new L.CircleMarker(t,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(t,e){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},_drawShape:function(t){if(L.GeometryUtil.isVersion07x())var e=this._startLatLng.distanceTo(t);else e=this._map.distance(this._startLatLng,t);this._shape?this._shape.setRadius(e):(this._shape=new L.Circle(this._startLatLng,e,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_onMouseMove:function(t){var e,n=t.latlng,i=this.options.showRadius,s=this.options.metric;if(this._tooltip.updatePosition(n),this._isDrawing){this._drawShape(n),e=this._shape.getRadius().toFixed(1);var o="";i&&(o=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(e,s,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:o})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(t,e){this._marker=t,L.setOptions(this,e)},addHooks:function(){var t=this._marker;t.dragging.enable(),t.on("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},removeHooks:function(){var t=this._marker;t.dragging.disable(),t.off("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},_onDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_toggleMarkerHighlight:function(){var t=this._marker._icon;t&&(t.style.display="none",L.DomUtil.hasClass(t,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,-4)):(L.DomUtil.addClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,4)),t.style.display="")},_offsetMarker:function(t,e){var n=parseInt(t.style.marginTop,10)-e,i=parseInt(t.style.marginLeft,10)-e;t.style.marginTop=n+"px",t.style.marginLeft=i+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(t){this.latlngs=[t._latlngs],t._holes&&(this.latlngs=this.latlngs.concat(t._holes)),this._poly=t,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(t){for(var e=0;e<this._verticesHandlers.length;e++)t(this._verticesHandlers[e])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(t){t.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(t){t.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(t){t.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var t=0;t<this.latlngs.length;t++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[t],this._poly.options.poly))},_updateLatLngs:function(t){this.latlngs=[t.layer._latlngs],t.layer._holes&&(this.latlngs=this.latlngs.concat(t.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(t,e,n){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=t,n&&n.drawError&&(n.drawError=L.Util.extend({},this.options.drawError,n.drawError)),this._latlngs=e,L.setOptions(this,n)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var t=this._poly,e=t._path;t instanceof L.Polygon||(t.options.fill=!1,t.options.editing&&(t.options.editing.fill=!1)),e&&t.options.editing.className&&(t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var t=this._poly,e=t._path;e&&t.options.editing.className&&(t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.original),t._map&&(t._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var t,e,n,i,s,o,r=this._defaultShape();for(t=0,n=r.length;t<n;t++)(i=this._createMarker(r[t],t)).on("click",this._onMarkerClick,this),i.on("contextmenu",this._onContextMenu,this),this._markers.push(i);for(t=0,e=n-1;t<n;e=t++)(0!==t||L.Polygon&&this._poly instanceof L.Polygon)&&(this._createMiddleMarker(s=this._markers[e],o=this._markers[t]),this._updatePrevNext(s,o))},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:this.options.icon});return n._origLatLng=t,n._index=e,n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(n),n},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var t=this._defaultShape(),e=[].splice.apply(t,arguments);return this._poly._convertLatLngs(t,!0),this._poly.redraw(),e},_removeMarker:function(t){var e=t._index;this._markerGroup.removeLayer(t),this._markers.splice(e,1),this._spliceLatLngs(e,1),this._updateIndexes(e,-1),t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(t){var e=t.target,n=this._poly;if(L.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),n.options.poly){var i=n._map._editTooltip;if(!n.options.poly.allowIntersection&&n.intersects()){var s=n.options.color;n.setStyle({color:this.options.drawError.color}),0!==L.version.indexOf("0.7")&&e.dragging._draggable._onUp(t),this._onMarkerClick(t),i&&i.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){n.setStyle({color:s}),i&&i.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var o=this._poly.getLatLngs();this._poly._convertLatLngs(o,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(t){var e=L.Polygon&&this._poly instanceof L.Polygon?4:3,n=t.target;this._defaultShape().length<e||(this._removeMarker(n),this._updatePrevNext(n._prev,n._next),n._middleLeft&&this._markerGroup.removeLayer(n._middleLeft),n._middleRight&&this._markerGroup.removeLayer(n._middleRight),n._prev&&n._next?this._createMiddleMarker(n._prev,n._next):n._prev?n._next||(n._prev._middleRight=null):n._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(t){this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:t.target,layers:this._markerGroup,poly:this._poly}),L},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e),i=t.target;L.extend(i._origLatLng,n),i._middleLeft&&i._middleLeft.setLatLng(this._getMiddleLatLng(i._prev,i)),i._middleRight&&i._middleRight.setLatLng(this._getMiddleLatLng(i,i._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(n){n._index>t&&(n._index+=e)})},_createMiddleMarker:function(t,e){var n,i,s,o=this._getMiddleLatLng(t,e),r=this._createMarker(o);r.setOpacity(.6),t._middleRight=e._middleLeft=r,i=function(){r.off("touchmove",i,this);var s=e._index;r._index=s,r.off("click",n,this).on("click",this._onMarkerClick,this),o.lat=r.getLatLng().lat,o.lng=r.getLatLng().lng,this._spliceLatLngs(s,0,o),this._markers.splice(s,0,r),r.setOpacity(1),this._updateIndexes(s,1),e._index++,this._updatePrevNext(t,r),this._updatePrevNext(r,e),this._poly.fire("editstart")},s=function(){r.off("dragstart",i,this),r.off("dragend",s,this),r.off("touchmove",i,this),this._createMiddleMarker(t,r),this._createMiddleMarker(r,e)},r.on("click",n=function(){i.call(this),s.call(this),this._fireEdit()},this).on("dragstart",i,this).on("dragend",s,this).on("touchmove",i,this),this._markerGroup.addLayer(r)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var n=this._poly._map,i=n.project(t.getLatLng()),s=n.project(e.getLatLng());return n.unproject(i._add(s)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(t,e){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=t,L.Util.setOptions(this,e)},addHooks:function(){var t=this._shape;this._shape._map&&(this._map=this._shape._map,t.setStyle(t.options.editing),t._map&&(this._map=t._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape;if(t.setStyle(t.options.original),t._map){this._unbindMarker(this._moveMarker);for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._unbindMarker(this._resizeMarkers[e]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:e,zIndexOffset:10});return this._bindMarker(n),this._markerGroup.addLayer(n),n},_bindMarker:function(t){t.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(t){t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(t){t.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(t){var e=t.target,n=e.getLatLng();e===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(t){t.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(t){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t),"function"==typeof this._getCorners){var e=this._getCorners(),n=t.target,i=n._cornerIndex;n.setOpacity(0),this._oppositeCorner=e[(i+2)%4],this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e);return t.target===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),!1},_onTouchEnd:function(t){t.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getBounds().getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners();this._resizeMarkers=[];for(var e=0,n=t.length;e<n;e++)this._resizeMarkers.push(this._createMarker(t[e],this.options.resizeIcon)),this._resizeMarkers[e]._cornerIndex=e},_onMarkerDragStart:function(t){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t);var e=this._getCorners(),n=t.target._cornerIndex;this._oppositeCorner=e[(n+2)%4],this._toggleCornerMarkers(0,n)},_onMarkerDragEnd:function(t){var e,n=t.target;n===this._moveMarker&&(e=this._shape.getBounds().getCenter(),n.setLatLng(e)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,t)},_move:function(t){for(var e,n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),i=this._shape.getBounds().getCenter(),s=[],o=0,r=n.length;o<r;o++)s.push([t.lat+(e=[n[o].lat-i.lat,n[o].lng-i.lng])[0],t.lng+e[1]]);this._shape.setLatLngs(s),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(t){var e;this._shape.setBounds(L.latLngBounds(t,this._oppositeCorner)),e=this._shape.getBounds(),this._moveMarker.setLatLng(e.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var t=this._shape.getBounds();return[t.getNorthWest(),t.getNorthEast(),t.getSouthEast(),t.getSouthWest()]},_toggleCornerMarkers:function(t){for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setOpacity(t)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setLatLng(t[e])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getLatLng();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(t){if(this._resizeMarkers.length){var e=this._getResizeMarkerPoint(t);this._resizeMarkers[0].setLatLng(e)}this._shape.setLatLng(t),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var t=this._shape.getLatLng(),e=this._getResizeMarkerPoint(t);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(e,this.options.resizeIcon))},_getResizeMarkerPoint:function(t){var e=this._shape._radius*Math.cos(Math.PI/4),n=this._map.project(t);return this._map.unproject([n.x+e,n.y-e])},_resize:function(t){var e=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=e.distanceTo(t):radius=this._map.distance(e,t),this._shape.setRadius(radius),this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart),L.DomEvent.off(this._container,"touchend",this._onTouchEnd),L.DomEvent.off(this._container,"touchmove",this._onTouchMove),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave))},_touchEvent:function(t,e){var n={};if(void 0!==t.touches){if(!t.touches.length)return;n=t.touches[0]}else{if("touch"!==t.pointerType)return;if(n=t,!this._filterClick(t))return}var i=this._map.mouseEventToContainerPoint(n),s=this._map.mouseEventToLayerPoint(n),o=this._map.layerPointToLatLng(s);this._map.fire(e,{latlng:o,layerPoint:s,containerPoint:i,pageX:n.pageX,pageY:n.pageY,originalEvent:t})},_filterClick:function(t){var e=t.timeStamp||t.originalEvent.timeStamp,n=L.DomEvent._lastClick&&e-L.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?(L.DomEvent.stop(t),!1):(L.DomEvent._lastClick=e,!0)},_onTouchStart:function(t){this._map._loaded&&this._touchEvent(t,"touchstart")},_onTouchEnd:function(t){this._map._loaded&&this._touchEvent(t,"touchend")},_onTouchCancel:function(t){if(this._map._loaded){var e="touchcancel";this._detectIE()&&(e="pointercancel"),this._touchEvent(t,e)}},_onTouchLeave:function(t){this._map._loaded&&this._touchEvent(t,"touchleave")},_onTouchMove:function(t){this._map._loaded&&this._touchEvent(t,"touchmove")},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];e.concat(this._detectIE?["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]:["touchcancel"]),L.DomUtil.addClass(t,"leaflet-clickable"),L.DomEvent.on(t,"click",this._onMouseClick,this),L.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var n=0;n<e.length;n++)L.DomEvent.on(t,e[n],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.LatLngUtil={cloneLatLngs:function(t){for(var e=[],n=0,i=t.length;n<i;n++)Array.isArray(t[n])?e.push(L.LatLngUtil.cloneLatLngs(t[n])):e.push(this.cloneLatLng(t[n]));return e},cloneLatLng:function(t){return L.latLng(t.lat,t.lng)}},function(){var t={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(t){var e,n,i=t.length,s=0,o=Math.PI/180;if(i>2){for(var r=0;r<i;r++)s+=((n=t[(r+1)%i]).lng-(e=t[r]).lng)*o*(2+Math.sin(e.lat*o)+Math.sin(n.lat*o));s=6378137*s*6378137/2}return Math.abs(s)},formattedNumber:function(t,e){var n=parseFloat(t).toFixed(e),i=L.drawLocal.format&&L.drawLocal.format.numeric,s=i&&i.delimiters,o=s&&s.thousands,r=s&&s.decimal;if(o||r){var a=n.split(".");n=o?a[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o):a[0],r=r||".",a.length>1&&(n=n+r+a[1])}return n},readableArea:function(e,n,i){var s,o;return i=L.Util.extend({},t,i),n?(o=["ha","m"],type=typeof n,"string"===type?o=[n]:"boolean"!==type&&(o=n),s=e>=1e6&&-1!==o.indexOf("km")?L.GeometryUtil.formattedNumber(1e-6*e,i.km)+" km\xb2":e>=1e4&&-1!==o.indexOf("ha")?L.GeometryUtil.formattedNumber(1e-4*e,i.ha)+" ha":L.GeometryUtil.formattedNumber(e,i.m)+" m\xb2"):s=(e/=.836127)>=3097600?L.GeometryUtil.formattedNumber(e/3097600,i.mi)+" mi\xb2":e>=4840?L.GeometryUtil.formattedNumber(e/4840,i.ac)+" acres":L.GeometryUtil.formattedNumber(e,i.yd)+" yd\xb2",s},readableDistance:function(e,n,i,s,o){var r;switch(o=L.Util.extend({},t,o),n?"string"==typeof n?n:"metric":i?"feet":s?"nauticalMile":"yards"){case"metric":r=e>1e3?L.GeometryUtil.formattedNumber(e/1e3,o.km)+" km":L.GeometryUtil.formattedNumber(e,o.m)+" m";break;case"feet":e*=3.28083,r=L.GeometryUtil.formattedNumber(e,o.ft)+" ft";break;case"nauticalMile":e*=.53996,r=L.GeometryUtil.formattedNumber(e/1e3,o.nm)+" nm";break;case"yards":default:r=(e*=1.09361)>1760?L.GeometryUtil.formattedNumber(e/1760,o.mi)+" miles":L.GeometryUtil.formattedNumber(e,o.yd)+" yd"}return r},isVersion07x:function(){var t=L.version.split(".");return 0===parseInt(t[0],10)&&7===parseInt(t[1],10)}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(t,e,n,i){return this._checkCounterclockwise(t,n,i)!==this._checkCounterclockwise(e,n,i)&&this._checkCounterclockwise(t,e,n)!==this._checkCounterclockwise(t,e,i)},_checkCounterclockwise:function(t,e,n){return(n.y-t.y)*(e.x-t.x)>(e.y-t.y)*(n.x-t.x)}}),L.Polyline.include({intersects:function(){var t,e=this._getProjectedPoints(),n=e?e.length:0;if(this._tooFewPointsForIntersection())return!1;for(t=n-1;t>=3;t--)if(this._lineSegmentsIntersectsRange(e[t-1],e[t],t-2))return!0;return!1},newLatLngIntersects:function(t,e){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(t),e)},newPointIntersects:function(t,e){var n=this._getProjectedPoints(),i=n?n.length:0,s=n?n[i-1]:null,o=i-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(s,t,o,e?1:0)},_tooFewPointsForIntersection:function(t){var e=this._getProjectedPoints(),n=e?e.length:0;return!e||(n+=t||0)<=3},_lineSegmentsIntersectsRange:function(t,e,n,i){var s=this._getProjectedPoints();i=i||0;for(var o=n;o>i;o--)if(L.LineUtil.segmentsIntersect(t,e,s[o-1],s[o]))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var t=[],e=this._defaultShape(),n=0;n<e.length;n++)t.push(this._map.latLngToLayerPoint(e[n]));return t}}),L.Polygon.include({intersects:function(){var t,e=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||this._lineSegmentsIntersectsRange(e[(t=e.length)-1],e[0],t-2,1))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");var e;L.Control.prototype.initialize.call(this,t),this._toolbars={},L.DrawToolbar&&this.options.draw&&(e=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=e,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(e=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=e,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(t){var e,n=L.DomUtil.create("div","leaflet-draw"),i=!1;for(var s in this._toolbars)this._toolbars.hasOwnProperty(s)&&(e=this._toolbars[s].addToolbar(t))&&(i||(L.DomUtil.hasClass(e,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(e.childNodes[0],"leaflet-draw-toolbar-top"),i=!0),n.appendChild(e));return n},onRemove:function(){for(var t in this._toolbars)this._toolbars.hasOwnProperty(t)&&this._toolbars[t].removeToolbar()},setDrawingOptions:function(t){for(var e in this._toolbars)this._toolbars[e]instanceof L.DrawToolbar&&this._toolbars[e].setOptions(t)},_toolbarEnabled:function(t){var e=t.target;for(var n in this._toolbars)this._toolbars[n]!==e&&this._toolbars[n].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(t){L.setOptions(this,t),this._modes={},this._actionButtons=[],this._activeMode=null;var e=L.version.split(".");1===parseInt(e[0],10)&&parseInt(e[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(t){var e,n=L.DomUtil.create("div","leaflet-draw-section"),i=0,s=this._toolbarClass||"",o=this.getModeHandlers(t);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=t,e=0;e<o.length;e++)o[e].enabled&&this._initModeHandler(o[e].handler,this._toolbarContainer,i++,s,o[e].title);if(i)return this._lastButtonIndex=--i,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),n.appendChild(this._toolbarContainer),n.appendChild(this._actionsContainer),n},removeToolbar:function(){for(var t in this._modes)this._modes.hasOwnProperty(t)&&(this._disposeButton(this._modes[t].button,this._modes[t].handler.enable,this._modes[t].handler),this._modes[t].handler.disable(),this._modes[t].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var e=0,n=this._actionButtons.length;e<n;e++)this._disposeButton(this._actionButtons[e].button,this._actionButtons[e].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(t,e,n,i,s){var o=t.type;this._modes[o]={},this._modes[o].handler=t,this._modes[o].button=this._createButton({type:o,title:s,className:i+"-"+o,container:e,callback:this._modes[o].handler.enable,context:this._modes[o].handler}),this._modes[o].buttonIndex=n,this._modes[o].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream},_createButton:function(t){var e=L.DomUtil.create("a",t.className||"",t.container),n=L.DomUtil.create("span","sr-only",t.container);e.href="#",e.appendChild(n),t.title&&(e.title=t.title,n.innerHTML=t.title),t.text&&(e.innerHTML=t.text,n.innerHTML=t.text);var i=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(e,"click",L.DomEvent.stopPropagation).on(e,"mousedown",L.DomEvent.stopPropagation).on(e,"dblclick",L.DomEvent.stopPropagation).on(e,"touchstart",L.DomEvent.stopPropagation).on(e,"click",L.DomEvent.preventDefault).on(e,i,t.callback,t.context),e},_disposeButton:function(t,e){var n=this._detectIOS()?"touchstart":"click";L.DomEvent.off(t,"click",L.DomEvent.stopPropagation).off(t,"mousedown",L.DomEvent.stopPropagation).off(t,"dblclick",L.DomEvent.stopPropagation).off(t,"touchstart",L.DomEvent.stopPropagation).off(t,"click",L.DomEvent.preventDefault).off(t,n,e)},_handlerActivated:function(t){this.disable(),this._activeMode=this._modes[t.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(t){var e,n,i,s,o=this._actionsContainer,r=this.getActions(t),a=r.length;for(n=0,i=this._actionButtons.length;n<i;n++)this._disposeButton(this._actionButtons[n].button,this._actionButtons[n].callback);for(this._actionButtons=[];o.firstChild;)o.removeChild(o.firstChild);for(var l=0;l<a;l++)"enabled"in r[l]&&!r[l].enabled||(e=L.DomUtil.create("li","",o),s=this._createButton({title:r[l].title,text:r[l].text,container:e,callback:r[l].callback,context:r[l].context}),this._actionButtons.push({button:s,callback:r[l].callback}))},_showActionsToolbar:function(){var t=this._activeMode.buttonIndex,e=this._lastButtonIndex,n=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=n+"px",0===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),t===e&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(t){this._map=t,this._popupPane=t._panes.popupPane,this._visible=!1,this._container=t.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(t){return this._container?(t.subtext=t.subtext||"",0!==t.subtext.length||this._singleLineLabel?t.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(t.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+t.subtext+"</span><br />":"")+"<span>"+t.text+"</span>",t.text||t.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(t){var e=this._map.latLngToLayerPoint(t),n=this._container;return this._container&&(this._visible&&(n.style.visibility="inherit"),L.DomUtil.setPosition(n,e)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(t){for(var e in this.options)this.options.hasOwnProperty(e)&&t[e]&&(t[e]=L.extend({},this.options[e],t[e]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,t)},getModeHandlers:function(t){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(t,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(t,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(t,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(t,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(t,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(t,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(t){return[{enabled:t.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:t.completeShape,context:t},{enabled:t.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:t.deleteLastVertex,context:t},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(t){for(var e in L.setOptions(this,t),this._modes)this._modes.hasOwnProperty(e)&&t.hasOwnProperty(e)&&this._modes[e].handler.setOptions(t[e])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(t){t.edit&&(void 0===t.edit.selectedPathOptions&&(t.edit.selectedPathOptions=this.options.edit.selectedPathOptions),t.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,t.edit.selectedPathOptions)),t.remove&&(t.remove=L.extend({},this.options.remove,t.remove)),t.poly&&(t.poly=L.extend({},this.options.poly,t.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,t),this._selectedFeatureCount=0},getModeHandlers:function(t){var e=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(t,{featureGroup:e,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(t,{featureGroup:e}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(t){var e=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return t.removeAllLayers&&e.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),e},addToolbar:function(t){var e=L.Toolbar.prototype.addToolbar.call(this,t);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),e},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var t,e=0!==this.options.featureGroup.getLayers().length;this.options.edit&&(t=this._modes[L.EditToolbar.Edit.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(t=this._modes[L.EditToolbar.Delete.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.setOptions(this,e),this._featureGroup=e.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),t._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(t){this._revertLayer(t)},this)},save:function(){var t=new L.LayerGroup;this._featureGroup.eachLayer(function(e){e.edited&&(t.addLayer(e),e.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:t})},_backupLayer:function(t){var e=L.Util.stamp(t);this._uneditedLayerProps[e]||(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?this._uneditedLayerProps[e]={latlngs:L.LatLngUtil.cloneLatLngs(t.getLatLngs())}:t instanceof L.Circle?this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng()),radius:t.getRadius()}:(t instanceof L.Marker||t instanceof L.CircleMarker)&&(this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(t){var e=L.Util.stamp(t);t.edited=!1,this._uneditedLayerProps.hasOwnProperty(e)&&(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?t.setLatLngs(this._uneditedLayerProps[e].latlngs):t instanceof L.Circle?(t.setLatLng(this._uneditedLayerProps[e].latlng),t.setRadius(this._uneditedLayerProps[e].radius)):(t instanceof L.Marker||t instanceof L.CircleMarker)&&t.setLatLng(this._uneditedLayerProps[e].latlng),t.fire("revert-edited",{layer:t}))},_enableLayerEdit:function(t){var e,n,i=t.layer||t.target||t;this._backupLayer(i),this.options.poly&&(n=L.Util.extend({},this.options.poly),i.options.poly=n),this.options.selectedPathOptions&&((e=L.Util.extend({},this.options.selectedPathOptions)).maintainColor&&(e.color=i.options.color,e.fillColor=i.options.fillColor),i.options.original=L.extend({},i.options),i.options.editing=e),i instanceof L.Marker?(i.editing&&i.editing.enable(),i.dragging.enable(),i.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):i.editing.enable()},_disableLayerEdit:function(t){var e=t.layer||t.target||t;e.edited=!1,e.editing&&e.editing.disable(),delete e.options.editing,delete e.options.original,this._selectedPathOptions&&(e instanceof L.Marker?this._toggleMarkerHighlight(e):(e.setStyle(e.options.previousOptions),delete e.options.previousOptions)),e instanceof L.Marker?(e.dragging.disable(),e.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):e.editing.disable()},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_onMarkerDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.changedTouches[0]),n=this._map.layerPointToLatLng(e);t.target.setLatLng(n)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.Util.setOptions(this,e),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(t){this._deletableLayers.addLayer(t),t.fire("revert-deleted",{layer:t})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(t){this._removeLayer({layer:t})},this),this.save()},_enableLayerDelete:function(t){(t.layer||t.target||t).on("click",this._removeLayer,this)},_disableLayerDelete:function(t){var e=t.layer||t.target||t;e.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(e)},_removeLayer:function(t){var e=t.layer||t.target||t;this._deletableLayers.removeLayer(e),this._deletedLayers.addLayer(e),e.fire("deleted")},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document)},Yoyx:function(t,e,n){var i,s;!function(o){if("object"==typeof t&&"object"==typeof t.exports){var r=o(n("GPNb"),e);void 0!==r&&(t.exports=r)}else void 0===(s="function"==typeof(i=o)?i.apply(e,[n,e]):i)||(t.exports=s)}(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=/-+([a-z0-9])/g;function i(t,e,n){var i=t.indexOf(e);return-1==i?n:[t.slice(0,i).trim(),t.slice(i+1).trim()]}function s(t,e,n){return Array.isArray(t)?e.visitArray(t,n):"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===l?e.visitStringMap(t,n):null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.visitPrimitive(t,n):e.visitOther(t,n)}e.dashCaseToCamelCase=function(t){return t.replace(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t[1].toUpperCase()})},e.splitAtColon=function(t,e){return i(t,":",e)},e.splitAtPeriod=function(t,e){return i(t,".",e)},e.visitValue=s,e.isDefined=function(t){return null!==t&&void 0!==t},e.noUndefined=function(t){return void 0===t?null:t};var o=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return s(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,i={};return Object.keys(t).forEach(function(o){i[o]=s(t[o],n,e)}),i},t.prototype.visitPrimitive=function(t,e){return t},t.prototype.visitOther=function(t,e){return t},t}();e.ValueTransformer=o,e.SyncAsync={assertSync:function(t){if(h(t))throw new Error("Illegal state: value cannot be a promise");return t},then:function(t,e){return h(t)?t.then(e):e(t)},all:function(t){return t.some(h)?Promise.all(t):t}},e.error=function(t){throw new Error("Internal Error: "+t)},e.syntaxError=function(t,e){var n=Error(t);return n[r]=!0,e&&(n[a]=e),n};var r="ngSyntaxError",a="ngParseErrors";e.isSyntaxError=function(t){return t[r]},e.getParseErrors=function(t){return t[a]||[]},e.escapeRegExp=function(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var l=Object.getPrototypeOf({});function h(t){return!!t&&"function"==typeof t.then}e.utf8Encode=function(t){for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);if(i>=55296&&i<=56319&&t.length>n+1){var s=t.charCodeAt(n+1);s>=56320&&s<=57343&&(n++,i=(i-55296<<10)+s-56320+65536)}i<=127?e+=String.fromCharCode(i):i<=2047?e+=String.fromCharCode(i>>6&31|192,63&i|128):i<=65535?e+=String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128):i<=2097151&&(e+=String.fromCharCode(i>>18&7|240,i>>12&63|128,i>>6&63|128,63&i|128))}return e},e.stringify=function t(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(t).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return""+e.overriddenName;if(e.name)return""+e.name;var n=e.toString();if(null==n)return""+n;var i=n.indexOf("\n");return-1===i?n:n.substring(0,i)},e.resolveForwardRef=function(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t},e.isPromise=h,e.Version=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}})},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},zUnb:function(t,e,n){"use strict";function i(t){return"function"==typeof t}n.r(e);let s=!1;const o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function r(t){setTimeout(()=>{throw t})}const a={closed:!0,next(t){},error(t){if(o.useDeprecatedSynchronousErrorHandling)throw t},complete(){}},l=Array.isArray||(t=>t&&"number"==typeof t.length);function h(t){return null!=t&&"object"==typeof t}const u={e:{}};let c;function d(){try{return c.apply(this,arguments)}catch(t){return u.e=t,u}}function p(t){return c=t,d}class m extends Error{constructor(t){super(t?`${t.length} errors occurred during unsubscription:\n ${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:""),this.errors=t,this.name="UnsubscriptionError",Object.setPrototypeOf(this,m.prototype)}}class f{constructor(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let t,e=!1;if(this.closed)return;let{_parent:n,_parents:s,_unsubscribe:o,_subscriptions:r}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let a=-1,c=s?s.length:0;for(;n;)n.remove(this),n=++a<c&&s[a]||null;if(i(o)&&p(o).call(this)===u&&(e=!0,t=t||(u.e instanceof m?_(u.e.errors):[u.e])),l(r))for(a=-1,c=r.length;++a<c;){const n=r[a];if(h(n)&&p(n.unsubscribe).call(n)===u){e=!0,t=t||[];let n=u.e;n instanceof m?t=t.concat(_(n.errors)):t.push(n)}}if(e)throw new m(t)}add(t){if(!t||t===f.EMPTY)return f.EMPTY;if(t===this)return this;let e=t;switch(typeof t){case"function":e=new f(t);case"object":if(e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if("function"!=typeof e._addParent){const t=e;(e=new f)._subscriptions=[t]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}return(this._subscriptions||(this._subscriptions=[])).push(e),e._addParent(this),e}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}_addParent(t){let{_parent:e,_parents:n}=this;e&&e!==t?n?-1===n.indexOf(t)&&n.push(t):this._parents=[t]:this._parent=t}}function _(t){return t.reduce((t,e)=>t.concat(e instanceof m?e.errors:e),[])}f.EMPTY=function(t){return t.closed=!0,t}(new f);const g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("rxSubscriber"):"@@rxSubscriber";class y extends f{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){if(t instanceof y||"syncErrorThrowable"in t&&t[g]){const e=t[g]();this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)}else this.syncErrorThrowable=!0,this.destination=new v(this,t);break}default:this.syncErrorThrowable=!0,this.destination=new v(this,t,e,n)}}[g](){return this}static create(t,e,n){const i=new y(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:t,_parents:e}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this}}class v extends y{constructor(t,e,n,s){let o;super(),this._parentSubscriber=t;let r=this;i(e)?o=e:e&&(o=e.next,n=e.error,s=e.complete,e!==a&&(i((r=Object.create(e)).unsubscribe)&&this.add(r.unsubscribe.bind(r)),r.unsubscribe=this.unsubscribe.bind(this))),this._context=r,this._next=o,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=o;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;r(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);o.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;r(t)}}__tryOrSetError(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const b="function"==typeof Symbol&&Symbol.observable||"@@observable";function w(){}class E{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const e=new E;return e.source=this,e.operator=t,e}subscribe(t,e,n){const{operator:i}=this,s=function(t,e,n){if(t){if(t instanceof y)return t;if(t[g])return t[g]()}return t||e||n?new y(t,e,n):new y(a)}(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),o.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),t.error(e)}}forEach(t,e){return new(e=x(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[b](){return this}pipe(...t){return 0===t.length?this:function(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:w}(t)(this)}toPromise(t){return new(t=x(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function x(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}E.create=(t=>new E(t));class C extends Error{constructor(){super("object unsubscribed"),this.name="ObjectUnsubscribedError",Object.setPrototypeOf(this,C.prototype)}}class L extends f{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class k extends y{constructor(t){super(t),this.destination=t}}class S extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[g](){return new k(this)}lift(t){const e=new T(this,this);return e.operator=t,e}next(t){if(this.closed)throw new C;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].next(t)}}error(t){if(this.closed)throw new C;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].error(t);this.observers.length=0}complete(){if(this.closed)throw new C;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let i=0;i<e;i++)n[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new C;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new C;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new L(this,t))}asObservable(){const t=new E;return t.source=this,t}}S.create=((t,e)=>new T(t,e));class T extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):f.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}class P extends y{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}const M=t=>e=>{for(let n=0,i=t.length;n<i&&!e.closed;n++)e.next(t[n]);e.closed||e.complete()},A=t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,r),e),D=function(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}(),O=t=>e=>{const n=t[D]();for(;;){const t=n.next();if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e},R=t=>e=>{const n=t[b]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)},N=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function F(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const z=t=>{if(t instanceof E)return e=>t._isScalar?(e.next(t.value),void e.complete()):t.subscribe(e);if(N(t))return M(t);if(F(t))return A(t);if(t&&"function"==typeof t[D])return O(t);if(t&&"function"==typeof t[b])return R(t);{const e=`You provided ${h(t)?"an invalid object":`'${t}'`} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.";throw new TypeError(e)}};function V(t,e,n,i){const s=new P(t,n,i);return z(e)(s)}class B extends y{notifyNext(t,e,n,i,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}function j(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new H(t,e))}}class H{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new U(t,this.project,this.thisArg))}}class U extends y{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function Z(t,e){return new E(e?n=>{const i=new f;let s=0;return i.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||i.add(this.schedule())):n.complete()})),i}:M(t))}function G(t,e){if(!e)return t instanceof E?t:new E(z(t));if(null!=t){if(function(t){return t&&"function"==typeof t[b]}(t))return function(t,e){return new E(e?n=>{const i=new f;return i.add(e.schedule(()=>{const s=t[b]();i.add(s.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i}:R(t))}(t,e);if(F(t))return function(t,e){return new E(e?n=>{const i=new f;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i}:A(t))}(t,e);if(N(t))return Z(t,e);if(function(t){return t&&"function"==typeof t[D]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(e?n=>{const i=new f;let s;return i.add(()=>{s&&"function"==typeof s.return&&s.return()}),i.add(e.schedule(()=>{s=t[D](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const i=s.next();t=i.value,e=i.done}catch(t){return void n.error(t)}e?n.complete():(n.next(t),this.schedule())}))})),i}:O(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function $(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe($((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new W(t,this.project,this.concurrent))}}class W extends B{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){this.add(V(this,t,e,n))}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function K(t){return t}function Y(t=Number.POSITIVE_INFINITY){return $(K,t)}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(Z(t,n))}function X(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),s=e.subscribe(i);return i.closed||(i.connection=n.connect()),s}}class tt extends y{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,!i||n&&i!==n||i.unsubscribe()}}const et=class extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new f).add(this.source.subscribe(new class extends k{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}(this.getSubject(),this))),t.closed?(this._connection=null,t=f.EMPTY):this._connection=t),t}refCount(){return X()(this)}}.prototype,nt={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:et._subscribe},_isComplete:{value:et._isComplete,writable:!0},getSubject:{value:et.getSubject},connect:{value:et.connect},refCount:{value:et.refCount}};function it(){return new S}function st(){return t=>X()(function(t,e){return function(e){let n;n="function"==typeof t?t:function(){return t};const i=Object.create(e,nt);return i.source=e,i.subjectFactory=n,i}}(it)(t))}function ot(t){return{providedIn:t.providedIn||null,factory:t.factory,value:void 0}}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0!==e?ot({providedIn:e.providedIn||"root",factory:e.factory}):void 0}toString(){return`InjectionToken ${this._desc}`}}const at="__parameters__";function lt(t,e,n){const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return i.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,i){const s=t.hasOwnProperty(at)?t[at]:Object.defineProperty(t,at,{value:[]})[at];for(;s.length<=i;)s.push(null);return(s[i]=s[i]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s}const ht=Function;function ut(t){return"function"==typeof t}const ct="undefined"!=typeof window&&window,dt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,pt="undefined"!=typeof global&&global,mt=ct||pt||dt,ft=Promise.resolve(0);let _t=null;function gt(){if(!_t){const t=mt.Symbol;if(t&&t.iterator)_t=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(_t=n)}}}return _t}function yt(t){"undefined"==typeof Zone?ft.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function vt(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function bt(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(bt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const wt=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,Et=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{/,xt=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{[\s\S]*constructor\s*\(/;function Ct(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function Lt(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}function kt(t){return t.__forward_ref__=kt,t.toString=function(){return bt(this())},t}function St(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===kt?t():t}const Tt=lt("Inject",t=>({token:t})),It=lt("Optional"),Pt=lt("Self"),Mt=lt("SkipSelf"),At="__source",Dt=new Object,Ot=Dt,Rt=new rt("INJECTOR");class Nt{static create(t,e){return Array.isArray(t)?new Wt(t,e):new Wt(t.providers,t.parent,t.name||null)}}Nt.THROW_IF_NOT_FOUND=Dt,Nt.NULL=new class{get(t,e=Dt){if(e===Dt)throw new Error(`NullInjectorError: No provider for ${bt(t)}!`);return e}},Nt.ngInjectableDef=ot({providedIn:"any",factory:()=>te(Rt)});const Ft=function(t){return t},zt=[],Vt=Ft,Bt=function(){return Array.prototype.slice.call(arguments)},jt={},Ht=function(t){for(let e in t)if(t[e]===jt)return e;throw Error("!prop")}({provide:String,useValue:jt}),Ut="ngTokenPath",Zt="ngTempTokenPath",Gt=Nt.NULL,$t=/\n/gm,qt="\u0275";class Wt{constructor(t,e=Gt,n=null){this.parent=e,this.source=n;const i=this._records=new Map;i.set(Nt,{token:Nt,fn:Ft,deps:zt,value:this,useNew:!1}),i.set(Rt,{token:Rt,fn:Ft,deps:zt,value:this,useNew:!1}),function t(e,n){if(n)if((n=St(n))instanceof Array)for(let i=0;i<n.length;i++)t(e,n[i]);else{if("function"==typeof n)throw Qt("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Qt("Unexpected provider",n);{let t=St(n.provide);const i=function(t){const e=function(t){let e=zt;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let i=6,s=St(n[t]);if(s instanceof Array)for(let t=0,e=s;t<e.length;t++){const n=e[t];n instanceof It||n==It?i|=1:n instanceof Mt||n==Mt?i&=-3:n instanceof Pt||n==Pt?i&=-5:s=n instanceof Tt?n.token:St(n)}e.push({token:s,options:i})}}else if(t.useExisting)e=[{token:St(t.useExisting),options:6}];else if(!(n||Ht in t))throw Qt("'deps' required",t);return e}(t);let n=Ft,i=zt,s=!1,o=St(t.provide);if(Ht in t)i=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)s=!0,n=St(t.useClass);else{if("function"!=typeof o)throw Qt("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);s=!0,n=o}return{deps:e,fn:n,useNew:s,value:i}}(n);if(!0===n.multi){let i=e.get(t);if(i){if(i.fn!==Bt)throw Kt(t)}else e.set(t,i={token:n.provide,deps:[],useNew:!1,fn:Bt,value:zt});i.deps.push({token:t=n,options:6})}const s=e.get(t);if(s&&s.fn==Bt)throw Kt(t);e.set(t,i)}}}(i,t)}get(t,e,n=0){const i=this._records.get(t);try{return function t(e,n,i,s,o,r){try{return function(e,n,i,s,o,r){let a;if(!n||4&r)2&r||(a=s.get(e,o,0));else{if((a=n.value)==Vt)throw Error(qt+"Circular dependency");if(a===zt){n.value=Vt;let e=void 0,o=n.useNew,r=n.fn,l=n.deps,h=zt;if(l.length){h=[];for(let e=0;e<l.length;e++){const n=l[e],o=n.options,r=2&o?i.get(n.token):void 0;h.push(t(n.token,r,i,r||4&o?s:Gt,1&o?null:Nt.THROW_IF_NOT_FOUND,0))}}n.value=a=o?new r(...h):r.apply(e,h)}}return a}(e,n,i,s,o,r)}catch(t){throw t instanceof Error||(t=new Error(t)),(t[Zt]=t[Zt]||[]).unshift(e),n&&n.value==Vt&&(n.value=zt),t}}(t,i,this._records,this.parent,e,n)}catch(e){const n=e[Zt];throw t[At]&&n.unshift(t[At]),e.message=Yt("\n"+e.message,n,this.source),e[Ut]=n,e[Zt]=null,e}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(bt(n))),`StaticInjector[${t.join(", ")}]`}}function Kt(t){return Qt("Cannot mix multi providers and regular providers",t)}function Yt(t,e,n=null){t=t&&"\n"===t.charAt(0)&&t.charAt(1)==qt?t.substr(2):t;let i=bt(e);if(e instanceof Array)i=e.map(bt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):bt(i)))}i=`{${t.join(", ")}}`}return`StaticInjectorError${n?"("+n+")":""}[${i}]: ${t.replace($t,"\n ")}`}function Qt(t,e){return new Error(Yt(t,e))}let Xt=void 0;function Jt(t){const e=Xt;return Xt=t,e}function te(t,e=0){if(void 0===Xt)throw new Error("inject() must be called from an injection context");if(null===Xt){const e=t.ngInjectableDef;if(e&&"root"==e.providedIn)return void 0===e.value?e.value=e.factory():e.value;throw new Error(`Injector: NOT_FOUND [${bt(t)}]`)}return Xt.get(t,8&e?null:void 0,e)}String;const ee=function(){var t={Emulated:0,Native:1,None:2};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t}(),ne=new class{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}("6.0.3"),ie="ngDebugContext",se="ngOriginalError",oe="ngErrorLogger";function re(t){return t[ie]}function ae(t){return t[se]}function le(t,...e){t.error(...e)}class he{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t[oe]||le}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?re(t)?re(t):this._findContext(ae(t)):null}_findOriginalError(t){let e=ae(t);for(;e&&ae(e);)e=ae(e);return e}}function ue(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>bt(t.token)).join(" -> ")+")":""}function ce(t,e,n,i){const s=[e],o=n(s),r=i?function(t,e){const n=`${o} caused by: ${e instanceof Error?e.message:e}`,i=Error(n);return i[se]=e,i}(0,i):Error(o);return r.addKey=de,r.keys=s,r.injectors=[t],r.constructResolvingMessage=n,r[se]=i,r}function de(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function pe(t,e){const n=[];for(let i=0,s=e.length;i<s;i++){const t=e[i];n.push(t&&0!=t.length?t.map(bt).join(" "):"?")}return Error("Cannot resolve all parameters for '"+bt(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+bt(t)+"' is decorated with Injectable.")}function me(t,e){return Error(`Cannot mix multi providers and regular providers, got: ${t} ${e}`)}class fe{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=bt(this.token)}static get(t){return _e.get(St(t))}static get numberOfKeys(){return _e.numberOfKeys}}const _e=new class{constructor(){this._allKeys=new Map}get(t){if(t instanceof fe)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new fe(t,fe.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}},ge=new class{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,i){return this.reflectionCapabilities.resolveIdentifier(t,e,n,i)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}(new class{constructor(t){this._reflect=t||mt.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=void 0===t?new Array(e.length):new Array(t.length);for(let i=0;i<n.length;i++)n[i]=void 0===t?[]:t[i]!=Object?[t[i]]:[],e&&null!=e[i]&&(n[i]=n[i].concat(e[i]));return n}_ownParameters(t,e){const n=t.toString();if(wt.exec(n)||Et.exec(n)&&!xt.exec(n))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const i=t.ctorParameters;if(i&&i!==e.ctorParameters){const t="function"==typeof i?i():i,e=t.map(t=>t&&t.type),n=t.map(t=>t&&Ct(t.decorators));return this._zipTypesAndAnnotations(e,n)}const s=t.hasOwnProperty(at)&&t[at],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||s?this._zipTypesAndAnnotations(o,s):new Array(t.length).fill(void 0)}parameters(t){if(!ut(t))return[];const e=Lt(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?Ct(t.decorators):t.hasOwnProperty("__annotations__")?t.__annotations__:null}annotations(t){if(!ut(t))return[];const e=Lt(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=Ct(e[t])}),n}return t.hasOwnProperty("__prop__metadata__")?t.__prop__metadata__:null}propMetadata(t){if(!ut(t))return{};const e=Lt(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...i[t]),n[t]=e}),n}hasLifecycleHook(t,e){return t instanceof ht&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){const e=`if (!o.${t}) throw new Error('"${t}" is undefined');\n return o.${t}.apply(o, args);`;return new Function("o","args",e)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${bt(t)}`}resourceUri(t){return`./${bt(t)}`}resolveIdentifier(t,e,n,i){return i}resolveEnum(t,e){return t[e]}});class ye{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new ye(t,!1,null)}}const ve=[];class be{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class we{constructor(t,e){this.factory=t,this.dependencies=e}}function Ee(t){return new be(fe.get(t.provide),[function(t){let e,n;if(t.useClass){const i=St(t.useClass);e=ge.factory(i),n=xe(i)}else t.useExisting?(e=(t=>t),n=[ye.fromKey(fe.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>Ce(t,e,n))}return xe(t)}(t.useFactory,t.deps)):(e=(()=>t.useValue),n=ve);return new we(e,n)}(t)],t.multi||!1)}function xe(t){const e=ge.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw pe(t,e);return e.map(n=>Ce(t,n,e))}function Ce(t,e,n){let i=null,s=!1;if(!Array.isArray(e))return Le(e instanceof Tt?e.token:e,s,null);let o=null;for(let r=0;r<e.length;++r){const t=e[r];t instanceof ht?i=t:t instanceof Tt?i=t.token:t instanceof It?s=!0:t instanceof Pt||t instanceof Mt?o=t:t instanceof rt&&(i=t)}if(null!=(i=St(i)))return Le(i,s,o);throw pe(t,n)}function Le(t,e,n){return new ye(fe.get(t),e,n)}const ke=new Object;class Se{static resolve(t){return function(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n],s=e.get(i.key.id);if(s){if(i.multiProvider!==s.multiProvider)throw me(s,i);if(i.multiProvider)for(let t=0;t<i.resolvedFactories.length;t++)s.resolvedFactories.push(i.resolvedFactories[t]);else e.set(i.key.id,i)}else{let t;t=i.multiProvider?new be(i.key,i.resolvedFactories.slice(),i.multiProvider):i,e.set(i.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof ht)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(Ee),new Map);return Array.from(e.values())}(t)}static resolveAndCreate(t,e){const n=Se.resolve(t);return Se.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new Te(t,e)}}class Te{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let i=0;i<n;i++)this.keyIds[i]=t[i].key.id,this.objs[i]=ke}get(t,e=Ot){return this._getByKey(fe.get(t),null,e)}resolveAndCreateChild(t){const e=Se.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(t){const e=new Te(t);return e.parent=this,e}resolveAndInstantiate(t){return this.instantiateResolved(Se.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function(e,n){return ce(e,t.key,function(t){return`Cannot instantiate cyclic dependency!${ue(t)}`})}(this);return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let i,s;try{i=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(e){throw e.addKey&&e.addKey(this,t.key),e}try{s=n(...i)}catch(e){throw function(e,n,i,s){return ce(e,t.key,function(t){const e=bt(t[0].token);return`${n.message}: Error during instantiation of ${e}!${ue(t)}.`},n)}(this,e)}return s}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Ot)}_getByKey(t,e,n){return t===Te.INJECTOR_KEY?this:e instanceof Pt?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===ke&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return ke}_throwOrNull(t,e){if(e!==Ot)return e;throw function(t,e){return ce(t,e,function(t){return`No provider for ${bt(t[0].token)}!${ue(t)}`})}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==ke?n:this._throwOrNull(t,e)}_getByKeyDefault(t,e,n){let i;for(i=n instanceof Mt?this.parent:this;i instanceof Te;){const e=i,n=e._getObjByKeyId(t.id);if(n!==ke)return n;i=e.parent}return null!==i?i.get(t.token,e):this._throwOrNull(t,e)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let i=0;i<t._providers.length;++i)n[i]=e(t.getProviderAtIndex(i));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}Te.INJECTOR_KEY=fe.get(Nt);const Ie=new rt("The presence of this token marks an injector as being the root injector.");function Pe(t){return!!t&&"function"==typeof t.then}function Me(t){return!!t&&"function"==typeof t.subscribe}const Ae=new rt("Application Initializer");class De{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Pe(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const Oe=new rt("AppId");function Re(){return`${Ne()}${Ne()}${Ne()}`}function Ne(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Fe=new rt("Platform Initializer"),ze=new rt("Platform ID"),Ve=new rt("appBootstrapListener");class Be{log(t){console.log(t)}warn(t){console.warn(t)}}function je(){throw new Error("Runtime compiler is not loaded")}Be.ctorParameters=(()=>[]);class He{compileModuleSync(t){throw je()}compileModuleAsync(t){throw je()}compileModuleAndAllComponentsSync(t){throw je()}compileModuleAndAllComponentsAsync(t){throw je()}clearCache(){}clearCacheFor(t){}}class Ue{}class Ze{}class Ge{}function $e(t){const e=Error(`No component factory found for ${bt(t)}. Did you add it to @NgModule.entryComponents?`);return e[qe]=t,e}const qe="ngComponent";class We{}We.NULL=new class{resolveComponentFactory(t){throw $e(t)}};class Ke{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let i=0;i<t.length;i++){const e=t[i];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw $e(t);return new Ye(e,this._ngModule)}}class Ye extends Ge{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,i){return this.factory.create(t,e,n,i||this.ngModule)}}class Qe{}class Xe{}let Je,tn;const en=function(){const t=mt.wtf;return!(!t||!(Je=t.trace)||(tn=Je.events,0))}(),nn=en?function(t,e=null){return tn.createScope(t,e)}:(t,e)=>(function(t,e){return null}),sn=en?function(t,e){return Je.leaveScope(t,e),e}:(t,e)=>e;class on extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let i,s=t=>null,o=()=>null;t&&"object"==typeof t?(i=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(s=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(o=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(s=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const r=super.subscribe(i,s,o);return t instanceof f&&t.add(r),r}}class rn{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on(!1),this.onMicrotaskEmpty=new on(!1),this.onStable=new on(!1),this.onError=new on(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),function(t){t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,i,s,o,r)=>{try{return un(t),e.invokeTask(i,s,o,r)}finally{cn(t)}},onInvoke:(e,n,i,s,o,r,a)=>{try{return un(t),e.invoke(i,s,o,r,a)}finally{cn(t)}},onHasTask:(e,n,i,s)=>{e.hasTask(i,s),n===i&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,hn(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,i,s)=>(e.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(this)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!rn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(rn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,t,ln,an,an);try{return s.runTask(o,e,n)}finally{s.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function an(){}const ln={};function hn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function cn(t){t._nesting--,hn(t)}class dn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on,this.onMicrotaskEmpty=new on,this.onStable=new on,this.onError=new on}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class pn{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{rn.assertNotInAngularZone(),yt(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yt(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,isPeriodic:t.data.isPeriodic,delay:t.data.delay,creationLocation:t.creationLocation,xhr:t.data.target})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class mn{constructor(){this._applications=new Map,_n.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return _n.findTestabilityInTree(this,t,e)}}mn.ctorParameters=(()=>[]);let fn,_n=new class{addToWindow(t){}findTestabilityInTree(t,e,n){return null}},gn=!0,yn=!1;const vn=new rt("AllowMultipleToken");function bn(){return yn=!0,gn}class wn{constructor(t,e){this.name=t,this.token=e}}function En(t,e,n=[]){const i=`Platform: ${e}`,s=new rt(i);return(e=[])=>{let o=xn();if(!o||o.injector.get(vn,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0});!function(t){if(fn&&!fn.destroyed&&!fn.injector.get(vn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");fn=t.get(Cn);const e=t.get(Fe,null);e&&e.forEach(t=>t())}(Nt.create({providers:t,name:i}))}return function(t){const e=xn();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function xn(){return fn&&!fn.destroyed?fn:null}class Cn{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){return"noop"===t?new dn:("zone.js"===t?void 0:t)||new rn({enableLongStackTrace:bn()})}(e?e.ngZone:void 0),i=[{provide:rn,useValue:n}];return n.run(()=>{const e=Nt.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(e),o=s.injector.get(he,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return s.onDestroy(()=>Sn(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const i=n();return Pe(i)?i.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):i}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(o,n,()=>{const t=s.injector.get(De);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=this.injector.get(Ue),i=Ln({},e);return n.createCompiler([i]).compileModuleAsync(t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${bt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Ln(t,e){return Array.isArray(e)?e.reduce(Ln,t):Object.assign({},t,e)}class kn{constructor(t,e,n,i,s,o){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=bn(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const r=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),a=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{rn.assertNotInAngularZone(),yt(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{rn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(r,a.pipe(st()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Ge?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=n instanceof Ye?null:this._injector.get(Qe),s=n.create(Nt.NULL,[],e||n.selector,i);s.onDestroy(()=>{this._unloadComponent(s)});const o=s.injector.get(pn,null);return o&&s.injector.get(mn).registerApplication(s.location.nativeElement,o),this._loadComponent(s),bn()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=kn._tickScope();try{this._runningTick=!0,this._views.forEach(t=>t.detectChanges()),this._enforceNoNewChanges&&this._views.forEach(t=>t.checkNoChanges())}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1,sn(t)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Sn(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ve,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),Sn(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}function Sn(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}kn._tickScope=nn("ApplicationRef#tick()");class Tn{}const In=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();class Pn{}class Mn{constructor(t){this.nativeElement=t}}class An{constructor(){this.dirty=!0,this._results=[],this.changes=new on,this.length=0}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}[gt()](){return this._results[gt()]()}toString(){return this._results.toString()}reset(t){this._results=function t(e){return e.reduce((e,n)=>{const i=Array.isArray(n)?t(n):n;return e.concat(i)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class Dn{}class On{}class Rn{}class Nn{constructor(t,e){this.name=t,this.callback=e}}class Fn{constructor(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof zn?e.addChild(this):this.parent=null,this.listeners=[]}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zn extends Fn{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(t=>{t.parent&&t.parent.removeChild(t),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,i){e.childNodes.forEach(e=>{e instanceof zn&&(n(e)&&i.push(e),t(e,n,i))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,i){e instanceof zn&&e.childNodes.forEach(e=>{n(e)&&i.push(e),e instanceof zn&&t(e,n,i)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zn)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}const Vn=new Map;function Bn(t){return Vn.get(t)||null}function jn(t){Vn.set(t.nativeNode,t)}function Hn(t,e){const n=Gn(t),i=Gn(e);return n&&i?function(t,e,n){const i=t[gt()](),s=e[gt()]();for(;;){const t=i.next(),e=s.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Hn):!(n||!t||"object"!=typeof t&&"function"!=typeof t||i||!e||"object"!=typeof e&&"function"!=typeof e)||vt(t,e)}class Un{constructor(t){this.wrapped=t}static wrap(t){return new Un(t)}static unwrap(t){return Un.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Un}}class Zn{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function Gn(t){return!!$n(t)&&(Array.isArray(t)||!(t instanceof Map)&&gt()in t)}function $n(t){return null!==t&&("function"==typeof t||"object"==typeof t)}class qn{constructor(){}supports(t){return Gn(t)}create(t){return new Kn(t)}}const Wn=(t,e)=>e;class Kn{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Wn}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,s=null;for(;e||n;){const o=!n||e&&e.currentIndex<Jn(n,i,s)?e:n,r=Jn(o,i,s),a=o.currentIndex;if(o===n)i--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)i++;else{s||(s=[]);const t=r-i,e=a-i;if(t!=e){for(let n=0;n<t;n++){const i=n<s.length?s[n]:s[n]=0,o=i+n;e<=o&&o<t&&(s[n]=i+1)}s[o.previousIndex]=e-t}}r!==a&&t(o,r,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Gn(t))throw new Error(`Error trying to diff '${bt(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,i,s=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=this._trackByFn(e,n=t[e]),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,n,i,e)),vt(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,i,e),o=!0),s=s._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[gt()]();let i;for(;!(i=n.next()).done;)e(i.value)}}(t,t=>{i=this._trackByFn(e,t),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,t,i,e)),vt(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,i,e),o=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(vt(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,i)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(vt(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,i)):t=this._addAfter(new Yn(e,n),s,i),t}_verifyReinsertion(t,e,n,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,s=t._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Xn),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xn),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Yn{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Qn{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&vt(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Xn{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Qn,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Jn(t,e,n){const i=t.previousIndex;if(null===i)return i;let s=0;return n&&i<n.length&&(s=n[i]),i+e+s}class ti{constructor(t){this.factories=t}static create(t,e){if(null!=e){const n=e.factories.slice();t=t.concat(n)}return new ti(t)}static extend(t){return{provide:ti,useFactory:e=>{if(!e)throw new Error("Cannot extend IterableDiffers without a parent injector");return ti.create(t,e)},deps:[[ti,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${t.name||typeof t}'`)}}ti.ngInjectableDef=ot({providedIn:"root",factory:()=>new ti([new qn])});class ei{constructor(t){this.factories=t}static create(t,e){if(e){const n=e.factories.slice();t=t.concat(n)}return new ei(t)}static extend(t){return{provide:ei,useFactory:e=>{if(!e)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return ei.create(t,e)},deps:[[ei,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}const ni=[new class{constructor(){}supports(t){return t instanceof Map||$n(t)}create(){return new class{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||$n(t)))throw new Error(`Error trying to diff '${bt(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,s=n._next;return i&&(i._next=s),s&&(s._prev=i),n._next=null,n._prev=null,n}const n=new class{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){vt(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}}}],ii=new ti([new qn]),si=new ei(ni),oi=En(null,"core",[{provide:ze,useValue:"unknown"},{provide:Cn,deps:[Nt]},{provide:mn,deps:[]},{provide:Be,deps:[]}]),ri=new rt("LocaleId");function ai(){return ii}function li(){return si}function hi(t){return t||"en-US"}class ui{constructor(t){}}class ci{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(t){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0<i;i--){const n=e.item(i).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const di=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,pi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function mi(t){return(t=String(t)).match(di)||t.match(pi)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function fi(t){return(t=String(t)).split(",").map(t=>mi(t.trim())).join(", ")}function _i(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function gi(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const yi=_i("area,br,col,hr,img,wbr"),vi=_i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),bi=_i("rp,rt"),wi=gi(bi,vi),Ei=gi(yi,gi(vi,_i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),gi(bi,_i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wi),xi=_i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ci=_i("srcset"),Li=gi(xi,Ci,_i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"));class ki{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!Ei.hasOwnProperty(e))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i),e=t.name,s=e.toLowerCase();if(!Li.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=t.value;xi[s]&&(o=mi(o)),Ci[s]&&(o=fi(o)),this.buf.push(" ",e,'="',Ii(o),'"')}this.buf.push(">")}endElement(t){const e=t.nodeName.toLowerCase();Ei.hasOwnProperty(e)&&!yi.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Ii(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Si=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/([^\#-~ |!])/g;function Ii(t){return t.replace(/&/g,"&amp;").replace(Si,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ti,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Pi;function Mi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const Ai=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Di=/^url\(([^)]+)\)$/,Oi=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class Ri{}function Ni(t,e,n){const i=t.state,s=1792&i;return s===e?(t.state=-1793&i|n,t.initIndex=-1,!0):s===n}function Fi(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function zi(t,e){return t.nodes[e]}function Vi(t,e){return t.nodes[e]}function Bi(t,e){return t.nodes[e]}function ji(t,e){return t.nodes[e]}function Hi(t,e){return t.nodes[e]}const Ui={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0};function Zi(t,e,n,i){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return i&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Gi(n,e),n}(s,t)}function Gi(t,e){t[ie]=e,t[oe]=e.logError.bind(e)}function $i(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}const qi=()=>{},Wi=new Map;function Ki(t){let e=Wi.get(t);return e||(e=bt(t)+"_"+Wi.size,Wi.set(t,e)),e}function Yi(t,e,n,i){if(Un.isWrapped(i)){i=Un.unwrap(i);const s=t.def.nodes[e].bindingIndex+n,o=Un.unwrap(t.oldValues[s]);t.oldValues[s]=new Un(o)}return i}const Qi="$$undefined",Xi="$$empty";function Ji(t){return{id:Qi,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let ts=0;function es(t,e,n,i){return!(!(2&t.state)&&vt(t.oldValues[e.bindingIndex+n],i))}function ns(t,e,n,i){return!!es(t,e,n,i)&&(t.oldValues[e.bindingIndex+n]=i,!0)}function is(t,e,n,i){const s=t.oldValues[e.bindingIndex+n];if(1&t.state||!Hn(s,i)){const o=e.bindings[n].name;throw Zi(Ui.createDebugContext(t,e.nodeIndex),`${o}: ${s}`,`${o}: ${i}`,0!=(1&t.state))}}function ss(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function os(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function rs(t,e,n,i){try{return ss(33554432&t.def.nodes[e].flags?Vi(t,e).componentView:t),Ui.handleEvent(t,e,n,i)}catch(e){t.root.errorHandler.handleError(e)}}function as(t){return t.parent?Vi(t.parent,t.parentNodeDef.nodeIndex):null}function ls(t){return t.parent?t.parentNodeDef.parent:null}function hs(t,e){switch(201347067&e.flags){case 1:return Vi(t,e.nodeIndex).renderElement;case 2:return zi(t,e.nodeIndex).renderText}}function us(t,e){return t?`${t}:${e}`:e}function cs(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ds(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function ps(t){return 1<<t%32}function ms(t){const e={};let n=0;const i={};return t&&t.forEach(([t,s])=>{"number"==typeof t?(e[t]=s,n|=ps(t)):i[t]=s}),{matchedQueries:e,references:i,matchedQueryIds:n}}function fs(t,e){return t.map(t=>{let n,i;return Array.isArray(t)?[i,n]=t:(i=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,At,{value:e,configurable:!0}),{flags:i,token:n,tokenKey:Ki(n)}})}function _s(t,e,n){let i=n.renderParent;return i?0==(1&i.flags)||0==(33554432&i.flags)||i.element.componentRendererType&&i.element.componentRendererType.encapsulation===ee.Native?Vi(t,n.renderParent.nodeIndex).renderElement:void 0:e}const gs=new WeakMap;function ys(t){let e=gs.get(t);return e||((e=t(()=>qi)).factory=t,gs.set(t,e)),e}function vs(t,e,n,i,s){3===e&&(n=t.renderer.parentNode(hs(t,t.def.lastRenderRootNode))),bs(t,e,0,t.def.nodes.length-1,n,i,s)}function bs(t,e,n,i,s,o,r){for(let a=n;a<=i;a++){const n=t.def.nodes[a];11&n.flags&&Es(t,n,e,s,o,r),a+=n.childCount}}function ws(t,e,n,i,s,o){let r=t;for(;r&&!cs(r);)r=r.parent;const a=r.parent,l=ls(r),h=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=h;u++){const t=a.def.nodes[u];t.ngContentIndex===e&&Es(a,t,n,i,s,o),u+=t.childCount}if(!a.parent){const r=t.root.projectableNodes[e];if(r)for(let e=0;e<r.length;e++)xs(t,r[e],n,i,s,o)}}function Es(t,e,n,i,s,o){if(8&e.flags)ws(t,e.ngContent.index,n,i,s,o);else{const r=hs(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&xs(t,r,n,i,s,o),32&e.bindingFlags&&xs(Vi(t,e.nodeIndex).componentView,r,n,i,s,o)):xs(t,r,n,i,s,o),16777216&e.flags){const r=Vi(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<r.length;t++)vs(r[t],n,i,s,o)}1&e.flags&&!e.element.name&&bs(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,i,s,o)}}function xs(t,e,n,i,s,o){const r=t.renderer;switch(n){case 1:r.appendChild(i,e);break;case 2:r.insertBefore(i,e,s);break;case 3:r.removeChild(i,e);break;case 0:o.push(e)}}const Cs=/^:([^:]+):(.+)$/;function Ls(t){if(":"===t[0]){const e=t.match(Cs);return[e[1],e[2]]}return["",t]}function ks(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function Ss(t,e,n,i,s,o){t|=1;const{matchedQueries:r,references:a,matchedQueryIds:l}=ms(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:r,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:i,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?ys(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||qi},provider:null,text:null,query:null,ngContent:null}}function Ts(t,e,n,i,s,o,r=[],a,l,h,u,c){h||(h=qi);const{matchedQueries:d,references:p,matchedQueryIds:m}=ms(n);let f=null,_=null;o&&([f,_]=Ls(o)),a=a||[];const g=new Array(a.length);for(let b=0;b<a.length;b++){const[t,e,n]=a[b],[i,s]=Ls(e);let o=void 0,r=void 0;switch(15&t){case 4:r=n;break;case 1:case 8:o=n}g[b]={flags:t,ns:i,name:s,nonMinifiedName:s,securityContext:o,suffix:r}}l=l||[];const y=new Array(l.length);for(let b=0;b<l.length;b++){const[t,e]=l[b];y[b]={type:0,target:t,eventName:e,propName:null}}const v=(r=r||[]).map(([t,e])=>{const[n,i]=Ls(t);return[n,i,e]});return c=function(t){if(t&&t.id===Qi){const e=null!=t.encapsulation&&t.encapsulation!==ee.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${ts++}`:Xi}return t&&t.id===Xi&&(t=null),t||null}(c),u&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:m,references:p,ngContentIndex:i,childCount:s,bindings:g,bindingFlags:ks(g),outputs:y,element:{ns:f,name:_,attrs:v,template:null,componentProvider:null,componentView:u||null,componentRendererType:c,publicProviders:null,allProviders:null,handleEvent:h||qi},provider:null,text:null,query:null,ngContent:null}}function Is(t,e,n){const i=n.element,s=t.root.selectorOrNode,o=t.renderer;let r;if(t.parent||!s){r=i.name?o.createElement(i.name,i.ns):o.createComment("");const s=_s(t,e,n);s&&o.appendChild(s,r)}else r=o.selectRootElement(s);if(i.attrs)for(let a=0;a<i.attrs.length;a++){const[t,e,n]=i.attrs[a];o.setAttribute(r,e,n,t)}return r}function Ps(t,e,n,i){for(let s=0;s<n.outputs.length;s++){const o=n.outputs[s],r=Ms(t,n.nodeIndex,us(o.target,o.eventName));let a=o.target,l=t;"component"===o.target&&(a=null,l=e);const h=l.renderer.listen(a||i,o.eventName,r);t.disposables[n.outputIndex+s]=h}}function Ms(t,e,n){return i=>rs(t,e,n,i)}function As(t,e,n,i){if(!ns(t,e,n,i))return!1;const s=e.bindings[n],o=Vi(t,e.nodeIndex),r=o.renderElement,a=s.name;switch(15&s.flags){case 1:!function(t,e,n,i,s,o){const r=e.securityContext;let a=r?t.root.sanitizer.sanitize(r,o):o;a=null!=a?a.toString():null;const l=t.renderer;null!=o?l.setAttribute(n,s,a,i):l.removeAttribute(n,s,i)}(t,s,r,s.ns,a,i);break;case 2:!function(t,e,n,i){const s=t.renderer;i?s.addClass(e,n):s.removeClass(e,n)}(t,r,a,i);break;case 4:!function(t,e,n,i,s){let o=t.root.sanitizer.sanitize(Oi.STYLE,s);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const r=t.renderer;null!=o?r.setStyle(n,i,o):r.removeStyle(n,i)}(t,s,r,a,i);break;case 8:!function(t,e,n,i,s){const o=e.securityContext;let r=o?t.root.sanitizer.sanitize(o,s):s;t.renderer.setProperty(n,i,r)}(33554432&e.flags&&32&s.flags?o.componentView:t,s,r,a,i)}return!0}const Ds=new Object,Os=Ki(Nt),Rs=Ki(Rt),Ns=Ki(Qe);function Fs(t,e,n,i){return n=St(n),{index:-1,deps:fs(i,bt(e)),flags:t,token:e,value:n}}function zs(t,e,n=Nt.THROW_IF_NOT_FOUND){const i=Jt(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const s=e.tokenKey;switch(s){case Os:case Rs:case Ns:return t}const o=t._def.providersByKey[s];if(o){let e=t._providers[o.index];return void 0===e&&(e=t._providers[o.index]=Vs(t,o)),e===Ds?void 0:e}if(e.token.ngInjectableDef&&function(t,e){return null!=e.providedIn&&(function(t,n){return t._def.modules.indexOf(e.providedIn)>-1}(t)||"root"===e.providedIn&&t._def.isRoot)}(t,e.token.ngInjectableDef)){const n=t._providers.length;return t._def.providersByKey[e.tokenKey]={flags:5120,value:e.token.ngInjectableDef.factory,deps:[],index:n,token:e.token},t._providers[n]=Ds,t._providers[n]=Vs(t,t._def.providersByKey[e.tokenKey])}return t._parent.get(e.token,n)}finally{Jt(i)}}function Vs(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const i=n.length;switch(i){case 0:return new e;case 1:return new e(zs(t,n[0]));case 2:return new e(zs(t,n[0]),zs(t,n[1]));case 3:return new e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=new Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return new e(...s)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const i=n.length;switch(i){case 0:return e();case 1:return e(zs(t,n[0]));case 2:return e(zs(t,n[0]),zs(t,n[1]));case 3:return e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return e(...s)}}(t,e.value,e.deps);break;case 2048:n=zs(t,e.deps[0]);break;case 256:n=e.value}return n===Ds||null==n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?Ds:n}function Bs(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const i=n[e];return i.viewContainerParent=null,Zs(n,e),Ui.dirtyParentQueries(i),Hs(i),i}function js(t,e,n){const i=e?hs(e,e.def.lastRenderRootNode):t.renderElement;vs(n,2,n.renderer.parentNode(i),n.renderer.nextSibling(i),void 0)}function Hs(t){vs(t,3,null,null,void 0)}function Us(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Zs(t,e){e>=t.length-1?t.pop():t.splice(e,1)}const Gs=new Object;function $s(t,e,n,i,s,o){return new qs(t,e,n,i,s,o)}class qs extends Ge{constructor(t,e,n,i,s,o){super(),this.selector=t,this.componentType=e,this._inputs=i,this._outputs=s,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,i){if(!i)throw new Error("ngModule should be provided");const s=ys(this.viewDefFactory),o=s.nodes[0].element.componentProvider.nodeIndex,r=Ui.createRootView(t,e||[],n,s,i,Gs),a=Bi(r,o).instance;return n&&r.renderer.setAttribute(Vi(r,0).renderElement,"ng-version",ne.full),new Ws(r,new Xs(r),a)}}class Ws extends Ze{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Mn(Vi(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new no(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Ks(t,e,n){return new Ys(t,e,n)}class Ys{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Mn(this._data.renderElement)}get injector(){return new no(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=ls(t),t=t.parent;return t?new no(t,e):new no(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=Bs(this._data,t);Ui.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Xs(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,s){const o=n||this.parentInjector;s||t instanceof Ye||(s=o.get(Qe));const r=t.create(o,i,void 0,s);return this.insert(r.hostView,e),r}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,i){let s=e.viewContainer._embeddedViews;null!==n&&void 0!==n||(n=s.length),i.viewContainerParent=t,Us(s,n,i),function(t,e){const n=as(e);if(!n||n===t||16&e.state)return;e.state|=16;let i=n.template._projectedViews;i||(i=n.template._projectedViews=[]),i.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,i),Ui.dirtyParentQueries(i),js(e,n>0?s[n-1]:null,i)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,i){const s=t.viewContainer._embeddedViews,o=s[n];Zs(s,n),null==i&&(i=s.length),Us(s,i,o),Ui.dirtyParentQueries(o),Hs(o),js(t,i>0?s[i-1]:null,o)}(this._data,0,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=Bs(this._data,t);e&&Ui.destroyView(e)}detach(t){const e=Bs(this._data,t);return e?new Xs(e):null}}function Qs(t){return new Xs(t)}class Xs{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return vs(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){ss(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Ui.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Ui.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Ui.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Hs(this._view),Ui.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function Js(t,e){return new to(t,e)}class to extends Dn{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Xs(Ui.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Mn(Vi(this._parentView,this._def.nodeIndex).renderElement)}}function eo(t,e){return new no(t,e)}class no{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Nt.THROW_IF_NOT_FOUND){return Ui.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Ki(t)},e)}}function io(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Vi(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return zi(t,n.nodeIndex).renderText;if(20240&n.flags)return Bi(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function so(t){return new oo(t.renderer)}class oo{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,i]=Ls(e),s=this.delegate.createElement(i,n);return t&&this.delegate.appendChild(t,s),s}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),i=this.delegate.nextSibling(t);for(let s=0;s<e.length;s++)this.delegate.insertBefore(n,e[s],i)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],i=this.delegate.parentNode(n);this.delegate.removeChild(i,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[i,s]=Ls(e);null!=n?this.delegate.setAttribute(t,s,n,i):this.delegate.removeAttribute(t,s,i)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function ro(t,e,n,i){return new ao(t,e,n,i)}class ao{constructor(t,e,n,i){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=i,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let i=0;i<e.providers.length;i++){const s=e.providers[i];4096&s.flags||void 0===n[i]&&(n[i]=Vs(t,s))}}(this)}get(t,e=Nt.THROW_IF_NOT_FOUND,n=0){let i=0;return 4&n?i|=1:2&n&&(i|=4),zs(this,{token:t,tokenKey:Ki(t),flags:i},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(We)}destroy(){if(this._destroyed)throw new Error(`The ng module ${bt(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,i=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const e=t._providers[s];if(e&&e!==Ds){const t=e.ngOnDestroy;"function"!=typeof t||i.has(e)||(t.apply(e),i.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const lo=Ki(class{}),ho=Ki(Pn),uo=Ki(Mn),co=Ki(On),po=Ki(Dn),mo=Ki(Rn),fo=Ki(Nt),_o=Ki(Rt);function go(t,e,n,i,s,o,r,a){const l=[];if(r)for(let u in r){const[t,e]=r[u];l[t]={flags:8,name:u,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const h=[];if(a)for(let u in a)h.push({type:1,propName:u,target:null,eventName:a[u]});return bo(t,e|=16384,n,i,s,s,o,l,h)}function yo(t,e,n){return bo(-1,t|=16,null,0,e,e,n)}function vo(t,e,n,i,s){return bo(-1,t,e,0,n,i,s)}function bo(t,e,n,i,s,o,r,a,l){const{matchedQueries:h,references:u,matchedQueryIds:c}=ms(n);l||(l=[]),a||(a=[]),o=St(o);const d=fs(r,bt(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:h,matchedQueryIds:c,references:u,ngContentIndex:-1,childCount:i,bindings:a,bindingFlags:ks(a),outputs:l,element:null,provider:{token:s,value:o,deps:d},text:null,query:null,ngContent:null}}function wo(t,e){return Lo(t,e)}function Eo(t,e){let n=t;for(;n.parent&&!cs(n);)n=n.parent;return ko(n.parent,ls(n),!0,e.provider.value,e.provider.deps)}function xo(t,e){const n=ko(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let i=0;i<e.outputs.length;i++){const s=e.outputs[i],o=n[s.propName].subscribe(Co(t,e.parent.nodeIndex,s.eventName));t.disposables[e.outputIndex+i]=o.unsubscribe.bind(o)}return n}function Co(t,e,n){return i=>rs(t,e,n,i)}function Lo(t,e){const n=(8192&e.flags)>0,i=e.provider;switch(201347067&e.flags){case 512:return ko(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,s){const o=s.length;switch(o){case 0:return i();case 1:return i(To(t,e,n,s[0]));case 2:return i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return i(...r)}}(t,e.parent,n,i.value,i.deps);case 2048:return To(t,e.parent,n,i.deps[0]);case 256:return i.value}}function ko(t,e,n,i,s){const o=s.length;switch(o){case 0:return new i;case 1:return new i(To(t,e,n,s[0]));case 2:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=new Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return new i(...r)}}const So={};function To(t,e,n,i,s=Nt.THROW_IF_NOT_FOUND){if(8&i.flags)return i.token;const o=t;2&i.flags&&(s=null);const r=i.tokenKey;r===mo&&(n=!(!e||!e.element.componentView)),e&&1&i.flags&&(n=!1,e=e.parent);let a=t;for(;a;){if(e)switch(r){case lo:return so(Io(a,e,n));case ho:return Io(a,e,n).renderer;case uo:return new Mn(Vi(a,e.nodeIndex).renderElement);case co:return Vi(a,e.nodeIndex).viewContainer;case po:if(e.element.template)return Vi(a,e.nodeIndex).template;break;case mo:return Qs(Io(a,e,n));case fo:case _o:return eo(a,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[r];if(t){let e=Bi(a,t.nodeIndex);return e||(e={instance:Lo(a,t)},a.nodes[t.nodeIndex]=e),e.instance}}n=cs(a),e=ls(a),a=a.parent,4&i.flags&&(a=null)}const l=o.root.injector.get(i.token,So);return l!==So||s===So?l:o.root.ngModule.injector.get(i.token,s)}function Io(t,e,n){let i;if(n)i=Vi(t,e.nodeIndex).componentView;else for(i=t;i.parent&&!cs(i);)i=i.parent;return i}function Po(t,e,n,i,s,o){if(32768&n.flags){const e=Vi(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[i].name]=s,524288&n.flags){o=o||{};const e=Un.unwrap(t.oldValues[n.bindingIndex+i]);o[n.bindings[i].nonMinifiedName]=new Zn(e,s,0!=(2&t.state))}return t.oldValues[n.bindingIndex+i]=s,o}function Mo(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let i=0;for(let s=0;s<n.length;s++){const o=n[s];let r=o.parent;for(!r&&o.flags&e&&Do(t,s,o.flags&e,i++),0==(o.childFlags&e)&&(s+=o.childCount);r&&1&r.flags&&s===r.nodeIndex+r.childCount;)r.directChildFlags&e&&(i=Ao(t,r,e,i)),r=r.parent}}function Ao(t,e,n,i){for(let s=e.nodeIndex+1;s<=e.nodeIndex+e.childCount;s++){const e=t.def.nodes[s];e.flags&n&&Do(t,s,e.flags&n,i++),s+=e.childCount}return i}function Do(t,e,n,i){const s=Bi(t,e);if(!s)return;const o=s.instance;o&&(Ui.setCurrentNode(t,e),1048576&n&&Fi(t,512,i)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fi(t,768,i)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function Oo(t,e,n){let i=[];for(let s in n)i.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:ps(e),bindings:i},ngContent:null}}function Ro(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&ds(t);){let n=t.parentNodeDef;t=t.parent;const i=n.nodeIndex+n.childCount;for(let s=0;s<=i;s++){const i=t.def.nodes[s];67108864&i.flags&&536870912&i.flags&&(i.query.filterId&e)===i.query.filterId&&Hi(t,s).setDirty(),!(1&i.flags&&s+i.childCount<n.nodeIndex)&&67108864&i.childFlags&&536870912&i.childFlags||(s+=i.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Hi(t,n).setDirty(),n+=e.childCount}}function No(t,e){const n=Hi(t,e.nodeIndex);if(!n.dirty)return;let i,s=void 0;if(67108864&e.flags){const n=e.parent.parent;s=Fo(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),i=Bi(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(s=Fo(t,0,t.def.nodes.length-1,e.query,[]),i=t.component);n.reset(s);const o=e.query.bindings;let r=!1;for(let a=0;a<o.length;a++){const t=o[a];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,r=!0}i[t.propName]=e}r&&n.notifyOnChanges()}function Fo(t,e,n,i,s){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[i.id];if(null!=n&&s.push(zo(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&i.filterId)===i.filterId){const n=Vi(t,o);if((e.childMatchedQueries&i.filterId)===i.filterId&&(Fo(t,o+1,o+e.childCount,i,s),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],r=as(o);r&&r===n&&Fo(o,0,o.def.nodes.length-1,i,s)}}const r=n.template._projectedViews;if(r)for(let t=0;t<r.length;t++){const e=r[t];Fo(e,0,e.def.nodes.length-1,i,s)}}(e.childMatchedQueries&i.filterId)!==i.filterId&&(o+=e.childCount)}return s}function zo(t,e,n){if(null!=n)switch(n){case 1:return Vi(t,e.nodeIndex).renderElement;case 0:return new Mn(Vi(t,e.nodeIndex).renderElement);case 2:return Vi(t,e.nodeIndex).template;case 3:return Vi(t,e.nodeIndex).viewContainer;case 4:return Bi(t,e.nodeIndex).instance}}function Vo(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Bo(t,e,n){const i=_s(t,e,n);i&&ws(t,n.ngContent.index,1,i,null,void 0)}function jo(t,e){return function(t,e,n){const i=new Array(n.length);for(let s=0;s<n.length;s++){const t=n[s];i[s]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:128,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:i,bindingFlags:ks(i),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}(0,t,new Array(e+1))}function Ho(t,e,n){const i=new Array(n.length-1);for(let s=1;s<n.length;s++)i[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:i,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function Uo(t,e,n){let i;const s=t.renderer;i=s.createText(n.text.prefix);const o=_s(t,e,n);return o&&s.appendChild(o,i),{renderText:i}}function Zo(t,e){return(null!=t?t.toString():"")+e.suffix}function Go(t,e,n,i){let s=0,o=0,r=0,a=0,l=0,h=null,u=null,c=!1,d=!1,p=null;for(let m=0;m<e.length;m++){const t=e[m];if(t.nodeIndex=m,t.parent=h,t.bindingIndex=s,t.outputIndex=o,t.renderParent=u,r|=t.flags,l|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=h?h.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,c=!1,d=!1,t.element.template&&(l|=t.element.template.nodeMatchedQueries)}if(qo(h,t,e.length),s+=t.bindings.length,o+=t.outputs.length,!u&&3&t.flags&&(p=t),20224&t.flags){c||(c=!0,h.element.publicProviders=Object.create(h.element.publicProviders),h.element.allProviders=h.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?h.element.publicProviders[Ki(t.provider.token)]=t:(d||(d=!0,h.element.allProviders=Object.create(h.element.publicProviders)),h.element.allProviders[Ki(t.provider.token)]=t),e&&(h.element.componentProvider=t)}if(h?(h.childFlags|=t.flags,h.directChildFlags|=t.flags,h.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(h.childMatchedQueries|=t.element.template.nodeMatchedQueries)):a|=t.flags,t.childCount>0)h=t,$o(t)||(u=t);else for(;h&&m===h.nodeIndex+h.childCount;){const t=h.parent;t&&(t.childFlags|=h.childFlags,t.childMatchedQueries|=h.childMatchedQueries),u=(h=t)&&$o(h)?h.renderParent:h}}return{factory:null,nodeFlags:r,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||qi,updateRenderer:i||qi,handleEvent:(t,n,i,s)=>e[n].element.handleEvent(t,i,s),bindingCount:s,outputCount:o,lastRenderRootNode:p}}function $o(t){return 0!=(1&t.flags)&&null===t.element.name}function qo(t,e,n){const i=e.element&&e.element.template;if(i){if(!i.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(i.lastRenderRootNode&&16777216&i.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Wo(t,e,n,i){const s=Qo(t.root,t.renderer,t,e,n);return Xo(s,t.component,i),Jo(s),s}function Ko(t,e,n){const i=Qo(t,t.renderer,null,null,e);return Xo(i,n,n),Jo(i),i}function Yo(t,e,n,i){const s=e.element.componentRendererType;let o;return o=s?t.root.rendererFactory.createRenderer(i,s):t.root.renderer,Qo(t.root,o,t,e.element.componentProvider,n)}function Qo(t,e,n,i,s){const o=new Array(s.nodes.length),r=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:i,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(s.bindingCount),disposables:r,initIndex:-1}}function Xo(t,e,n){t.component=e,t.context=n}function Jo(t){let e;cs(t)&&(e=Vi(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,i=t.nodes;for(let s=0;s<n.nodes.length;s++){const o=n.nodes[s];let r;switch(Ui.setCurrentNode(t,s),201347067&o.flags){case 1:const n=Is(t,e,o);let a=void 0;if(33554432&o.flags){const e=ys(o.element.componentView);a=Ui.createComponentView(t,o,e,n)}Ps(t,a,o,n),r={renderElement:n,componentView:a,viewContainer:null,template:o.element.template?Js(t,o):void 0},16777216&o.flags&&(r.viewContainer=Ks(t,o,r));break;case 2:r=Uo(t,e,o);break;case 512:case 1024:case 2048:case 256:(r=i[s])||4096&o.flags||(r={instance:wo(t,o)});break;case 16:r={instance:Eo(t,o)};break;case 16384:(r=i[s])||(r={instance:xo(t,o)}),32768&o.flags&&Xo(Vi(t,o.parent.nodeIndex).componentView,r.instance,r.instance);break;case 32:case 64:case 128:r={value:void 0};break;case 67108864:case 134217728:r=new An;break;case 8:Bo(t,e,o),r=void 0}i[s]=r}lr(t,ar.CreateViewNodes),dr(t,201326592,268435456,0)}function tr(t){ir(t),Ui.updateDirectives(t,1),hr(t,ar.CheckNoChanges),Ui.updateRenderer(t,1),lr(t,ar.CheckNoChanges),t.state&=-97}function er(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ni(t,0,256),ir(t),Ui.updateDirectives(t,0),hr(t,ar.CheckAndUpdate),dr(t,67108864,536870912,0);let e=Ni(t,256,512);Mo(t,2097152|(e?1048576:0)),Ui.updateRenderer(t,0),lr(t,ar.CheckAndUpdate),dr(t,134217728,536870912,0),Mo(t,8388608|((e=Ni(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Ni(t,768,1024)}function nr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){switch(201347067&e.flags){case 1:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;let p=!1;return d>0&&As(t,e,0,n)&&(p=!0),d>1&&As(t,e,1,i)&&(p=!0),d>2&&As(t,e,2,s)&&(p=!0),d>3&&As(t,e,3,o)&&(p=!0),d>4&&As(t,e,4,r)&&(p=!0),d>5&&As(t,e,5,a)&&(p=!0),d>6&&As(t,e,6,l)&&(p=!0),d>7&&As(t,e,7,h)&&(p=!0),d>8&&As(t,e,8,u)&&(p=!0),d>9&&As(t,e,9,c)&&(p=!0),p}(t,e,n,i,s,o,r,a,l,h,u,c);case 2:return function(t,e,n,i,s,o,r,a,l,h,u,c){let d=!1;const p=e.bindings,m=p.length;if(m>0&&ns(t,e,0,n)&&(d=!0),m>1&&ns(t,e,1,i)&&(d=!0),m>2&&ns(t,e,2,s)&&(d=!0),m>3&&ns(t,e,3,o)&&(d=!0),m>4&&ns(t,e,4,r)&&(d=!0),m>5&&ns(t,e,5,a)&&(d=!0),m>6&&ns(t,e,6,l)&&(d=!0),m>7&&ns(t,e,7,h)&&(d=!0),m>8&&ns(t,e,8,u)&&(d=!0),m>9&&ns(t,e,9,c)&&(d=!0),d){let d=e.text.prefix;m>0&&(d+=Zo(n,p[0])),m>1&&(d+=Zo(i,p[1])),m>2&&(d+=Zo(s,p[2])),m>3&&(d+=Zo(o,p[3])),m>4&&(d+=Zo(r,p[4])),m>5&&(d+=Zo(a,p[5])),m>6&&(d+=Zo(l,p[6])),m>7&&(d+=Zo(h,p[7])),m>8&&(d+=Zo(u,p[8])),m>9&&(d+=Zo(c,p[9]));const f=zi(t,e.nodeIndex).renderText;t.renderer.setValue(f,d)}return d}(t,e,n,i,s,o,r,a,l,h,u,c);case 16384:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=Bi(t,e.nodeIndex),p=d.instance;let m=!1,f=void 0;const _=e.bindings.length;return _>0&&es(t,e,0,n)&&(m=!0,f=Po(t,d,e,0,n,f)),_>1&&es(t,e,1,i)&&(m=!0,f=Po(t,d,e,1,i,f)),_>2&&es(t,e,2,s)&&(m=!0,f=Po(t,d,e,2,s,f)),_>3&&es(t,e,3,o)&&(m=!0,f=Po(t,d,e,3,o,f)),_>4&&es(t,e,4,r)&&(m=!0,f=Po(t,d,e,4,r,f)),_>5&&es(t,e,5,a)&&(m=!0,f=Po(t,d,e,5,a,f)),_>6&&es(t,e,6,l)&&(m=!0,f=Po(t,d,e,6,l,f)),_>7&&es(t,e,7,h)&&(m=!0,f=Po(t,d,e,7,h,f)),_>8&&es(t,e,8,u)&&(m=!0,f=Po(t,d,e,8,u,f)),_>9&&es(t,e,9,c)&&(m=!0,f=Po(t,d,e,9,c,f)),f&&p.ngOnChanges(f),65536&e.flags&&Fi(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),m}(t,e,n,i,s,o,r,a,l,h,u,c);case 32:case 64:case 128:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings;let p=!1;const m=d.length;if(m>0&&ns(t,e,0,n)&&(p=!0),m>1&&ns(t,e,1,i)&&(p=!0),m>2&&ns(t,e,2,s)&&(p=!0),m>3&&ns(t,e,3,o)&&(p=!0),m>4&&ns(t,e,4,r)&&(p=!0),m>5&&ns(t,e,5,a)&&(p=!0),m>6&&ns(t,e,6,l)&&(p=!0),m>7&&ns(t,e,7,h)&&(p=!0),m>8&&ns(t,e,8,u)&&(p=!0),m>9&&ns(t,e,9,c)&&(p=!0),p){const p=ji(t,e.nodeIndex);let f;switch(201347067&e.flags){case 32:f=new Array(d.length),m>0&&(f[0]=n),m>1&&(f[1]=i),m>2&&(f[2]=s),m>3&&(f[3]=o),m>4&&(f[4]=r),m>5&&(f[5]=a),m>6&&(f[6]=l),m>7&&(f[7]=h),m>8&&(f[8]=u),m>9&&(f[9]=c);break;case 64:f={},m>0&&(f[d[0].name]=n),m>1&&(f[d[1].name]=i),m>2&&(f[d[2].name]=s),m>3&&(f[d[3].name]=o),m>4&&(f[d[4].name]=r),m>5&&(f[d[5].name]=a),m>6&&(f[d[6].name]=l),m>7&&(f[d[7].name]=h),m>8&&(f[d[8].name]=u),m>9&&(f[d[9].name]=c);break;case 128:const t=n;switch(m){case 1:f=t.transform(n);break;case 2:f=t.transform(i);break;case 3:f=t.transform(i,s);break;case 4:f=t.transform(i,s,o);break;case 5:f=t.transform(i,s,o,r);break;case 6:f=t.transform(i,s,o,r,a);break;case 7:f=t.transform(i,s,o,r,a,l);break;case 8:f=t.transform(i,s,o,r,a,l,h);break;case 9:f=t.transform(i,s,o,r,a,l,h,u);break;case 10:f=t.transform(i,s,o,r,a,l,h,u,c)}}p.value=f}return p}(t,e,n,i,s,o,r,a,l,h,u,c);default:throw"unreachable"}}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let i=!1;for(let s=0;s<n.length;s++)As(t,e,s,n[s])&&(i=!0);return i}(t,e,n);case 2:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){let s="";for(let t=0;t<n.length;t++)s+=Zo(n[t],i[t]);s=e.text.prefix+s;const o=zi(t,e.nodeIndex).renderText;t.renderer.setValue(o,s)}return s}(t,e,n);case 16384:return function(t,e,n){const i=Bi(t,e.nodeIndex),s=i.instance;let o=!1,r=void 0;for(let a=0;a<n.length;a++)es(t,e,a,n[a])&&(o=!0,r=Po(t,i,e,a,n[a],r));return r&&s.ngOnChanges(r),65536&e.flags&&Fi(t,256,e.nodeIndex)&&s.ngOnInit(),262144&e.flags&&s.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){const s=ji(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let e=0;e<n.length;e++)o[i[e].name]=n[e];break;case 128:const t=n[0],s=n.slice(1);o=t.transform(...s)}s.value=o}return s}(t,e,n);default:throw"unreachable"}}(t,e,i)}function ir(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const i=e.nodes[n];if(4&i.flags){const e=Vi(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const i=e[n];i.state|=32,os(i,t)}}else 0==(4&i.childFlags)&&(n+=i.childCount)}}function sr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;d>0&&is(t,e,0,n),d>1&&is(t,e,1,i),d>2&&is(t,e,2,s),d>3&&is(t,e,3,o),d>4&&is(t,e,4,r),d>5&&is(t,e,5,a),d>6&&is(t,e,6,l),d>7&&is(t,e,7,h),d>8&&is(t,e,8,u),d>9&&is(t,e,9,c)}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){for(let i=0;i<n.length;i++)is(t,e,i,n[i])}(t,e,i),!1}function or(t,e){if(Hi(t,e.nodeIndex).dirty)throw Zi(Ui.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function rr(t){if(!(128&t.state)){if(hr(t,ar.Destroy),lr(t,ar.Destroy),Mo(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=as(t);if(e){const n=e.template._projectedViews;n&&(Zs(n,n.indexOf(t)),Ui.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Vi(t,n).renderElement):2&e.flags?t.renderer.destroyNode(zi(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Hi(t,n).destroy()}}(t),cs(t)&&t.renderer.destroy(),t.state|=128}}const ar=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function lr(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];33554432&s.flags?ur(Vi(t,i).componentView,e):0==(33554432&s.childFlags)&&(i+=s.childCount)}}function hr(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];if(16777216&s.flags){const n=Vi(t,i).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)ur(n[t],e)}else 0==(16777216&s.childFlags)&&(i+=s.childCount)}}function ur(t,e){const n=t.state;switch(e){case ar.CheckNoChanges:0==(128&n)&&(12==(12&n)?tr(t):64&n&&cr(t,ar.CheckNoChangesProjectedViews));break;case ar.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?tr(t):64&n&&cr(t,e));break;case ar.CheckAndUpdate:0==(128&n)&&(12==(12&n)?er(t):64&n&&cr(t,ar.CheckAndUpdateProjectedViews));break;case ar.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?er(t):64&n&&cr(t,e));break;case ar.Destroy:rr(t);break;case ar.CreateViewNodes:Jo(t)}}function cr(t,e){hr(t,e),lr(t,e)}function dr(t,e,n,i){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const s=t.def.nodes.length;for(let o=0;o<s;o++){const s=t.def.nodes[o];if(s.flags&e&&s.flags&n)switch(Ui.setCurrentNode(t,s.nodeIndex),i){case 0:No(t,s);break;case 1:or(t,s)}s.childFlags&e&&s.childFlags&n||(o+=s.childCount)}}let pr=!1;function mr(t,e,n,i,s,o){return Ko(_r(t,s,s.injector.get(Tn),e,n),i,o)}function fr(t,e,n,i,s,o){const r=s.injector.get(Tn),a=_r(t,s,new Qr(r),e,n),l=kr(i);return Kr(Ar.create,Ko,null,[a,l,o])}function _r(t,e,n,i,s){const o=e.injector.get(Ri),r=e.injector.get(he);return{ngModule:e,injector:t,projectableNodes:i,selectorOrNode:s,sanitizer:o,rendererFactory:n,renderer:n.createRenderer(null,null),errorHandler:r}}function gr(t,e,n,i){const s=kr(n);return Kr(Ar.create,Wo,null,[t,e,s,i])}function yr(t,e,n,i){return n=Er.get(e.element.componentProvider.provider.token)||kr(n),Kr(Ar.create,Yo,null,[t,e,n,i])}function vr(t,e,n,i){return ro(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===br.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const i=br.get(t.token);3840&t.flags&&i&&(e=!0,n=n||i.deprecatedBehavior)}),t.modules.forEach(t=>{wr.forEach((i,s)=>{s.ngInjectableDef.providedIn===t&&(e=!0,n=n||i.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const i=t.providers[e];n&&(i.flags|=4096);const s=br.get(i.token);s&&(i.flags=-3841&i.flags|s.flags,i.deps=fs(s.deps),i.value=s.value)}if(wr.size>0){let e=new Set(t.modules);wr.forEach((i,s)=>{if(e.has(s.ngInjectableDef.providedIn)){let e={token:s,flags:i.flags|(n?4096:0),deps:fs(i.deps),value:i.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Ki(s)]=e}})}}(t=t.factory(()=>qi)),t):t}(i))}const br=new Map,wr=new Map,Er=new Map;function xr(t){br.set(t.token,t),"function"==typeof t.token&&t.token.ngInjectableDef&&"function"==typeof t.token.ngInjectableDef.providedIn&&wr.set(t.token,t)}function Cr(t,e){const n=ys(ys(e.viewDefFactory).nodes[0].element.componentView);Er.set(t,n)}function Lr(){br.clear(),wr.clear(),Er.clear()}function kr(t){if(0===br.size)return t;const e=function(t){const e=[];let n=null;for(let i=0;i<t.nodes.length;i++){const s=t.nodes[i];1&s.flags&&(n=s),n&&3840&s.flags&&br.has(s.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>qi);for(let i=0;i<e.length;i++)n(t,e[i]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=br.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=fs(n.deps),t.value=n.value)}}}}function Sr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return nr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Tr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return sr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Ir(t){return Kr(Ar.detectChanges,er,null,[t])}function Pr(t){return Kr(Ar.checkNoChanges,tr,null,[t])}function Mr(t){return Kr(Ar.destroy,rr,null,[t])}const Ar=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let Dr,Or,Rr;function Nr(t,e){Or=t,Rr=e}function Fr(t,e,n,i){return Nr(t,e),Kr(Ar.handleEvent,t.def.handleEvent,null,[t,e,n,i])}function zr(t,e){if(128&t.state)throw $i(Ar[Dr]);return Nr(t,Gr(t,0)),t.def.updateDirectives(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),16384&o.flags&&Nr(t,Gr(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Vr(t,e){if(128&t.state)throw $i(Ar[Dr]);return Nr(t,$r(t,0)),t.def.updateRenderer(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),3&o.flags&&Nr(t,$r(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Br(t,e,n,i){if(nr(t,e,n,...i)){const s=1===n?i[0]:i;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const i=e.bindings[t],o=s[t];8&i.flags&&(n[Hr(i.nonMinifiedName)]=Zr(o))}const i=e.parent,o=Vi(t,i.nodeIndex).renderElement;if(i.element.name)for(let e in n){const i=n[e];null!=i?t.renderer.setAttribute(o,e,i):t.renderer.removeAttribute(o,e)}else t.renderer.setValue(o,`bindings=${JSON.stringify(n,null,2)}`)}}}function jr(t,e,n,i){sr(t,e,n,...i)}function Hr(t){return`ng-reflect-${t=t.replace(/[$@]/g,"_").replace(Ur,(...t)=>"-"+t[1].toLowerCase())}`}const Ur=/([A-Z])/g;function Zr(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){return"[ERROR] Exception while trying to serialize the value"}}function Gr(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function $r(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class qr{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,i=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&i;)n=ls(i),i=i.parent;this.elDef=n,this.elView=i}get elOrCompView(){return Vi(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return eo(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){Wr(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&Wr(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!cs(t);)t=t.parent;return t.parent?Vi(t.parent,ls(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?hs(this.view,this.nodeDef):hs(this.elView,this.elDef)}logError(t,...e){let n,i;2&this.nodeDef.flags?(n=this.view.def,i=this.nodeDef.nodeIndex):(n=this.elView.def,i=this.elDef.nodeIndex);const s=function(t,e){let n=-1;for(let i=0;i<=e;i++)3&t.nodes[i].flags&&n++;return n}(n,i);let o=-1;n.factory(()=>++o===s?t.error.bind(t,...e):qi),o<s&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function Wr(t,e,n){for(let i in e.references)n[i]=zo(t,e,e.references[i])}function Kr(t,e,n,i){const s=Dr,o=Or,r=Rr;try{Dr=t;const a=e.apply(n,i);return Or=o,Rr=r,Dr=s,a}catch(t){if(re(t)||!Or)throw t;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Gi(t,e),t}(t,Yr())}}function Yr(){return Or?new qr(Or,Rr):null}class Qr{constructor(t){this.delegate=t}createRenderer(t,e){return new Xr(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class Xr{constructor(t){this.delegate=t,this.data=this.delegate.data}destroyNode(t){!function(t){Vn.delete(t.nativeNode)}(Bn(t)),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),i=Yr();if(i){const e=new zn(n,null,i);e.name=t,jn(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}appendChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.addChild(i),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const i=Bn(t),s=Bn(e),o=Bn(n);i&&s&&i instanceof zn&&i.insertBefore(o,s),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.removeChild(i),this.delegate.removeChild(t,e)}selectRootElement(t){const e=this.delegate.selectRootElement(t),n=Yr();return n&&jn(new zn(e,null,n)),e}setAttribute(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.attributes[i?i+":"+e:e]=n),this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.styles[e]=n),this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const i=Bn(t);i&&i.listeners.push(new Nn(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}"undefined"==typeof ngDevMode&&("undefined"!=typeof window&&(window.ngDevMode=!0),"undefined"!=typeof self&&(self.ngDevMode=!0),"undefined"!=typeof global&&(global.ngDevMode=!0));const Jr=Element.prototype,ta=Jr.matches||Jr.matchesSelector||Jr.mozMatchesSelector||Jr.msMatchesSelector||Jr.oMatchesSelector||Jr.webkitMatchesSelector,ea={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return ea.schedule(t,0);if(void 0===window.requestAnimationFrame)return ea.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};function na(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(e,n){return ta.call(t,n)}(0,e)||(i=n,0))),i}const ia=10;class sa{constructor(t,e){this.component=t,this.injector=e,this.componentFactory=e.get(We).resolveComponentFactory(t)}create(t){return new oa(this.componentFactory,t)}}class oa{constructor(t,e){this.componentFactory=t,this.injector=e,this.inputChanges=null,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.uninitializedInputs=new Set}connect(t){if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);this.componentRef||this.initializeComponent(t)}disconnect(){this.componentRef&&null===this.scheduledDestroyFn&&(this.scheduledDestroyFn=ea.schedule(()=>{this.componentRef&&(this.componentRef.destroy(),this.componentRef=null)},ia))}getInputValue(t){return this.componentRef?this.componentRef.instance[t]:this.initialInputValues.get(t)}setInputValue(t,e){(function(t,e){return t===e||t!=t&&e!=e})(e,this.getInputValue(t))||(this.componentRef?(this.recordInputChange(t,e),this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e))}initializeComponent(t){const e=Nt.create({providers:[],parent:this.injector}),n=function(e,n){const i=t.childNodes,s=n.map(()=>[]);let o=-1;n.some((t,e)=>"*"===t&&(o=e,!0));for(let t=0,r=i.length;t<r;++t){const e=i[t],r=na(e,n,o);-1!==r&&s[r].push(e)}return s}(0,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,n,t),this.implementsOnChanges=function(t){return"function"==typeof t}(this.componentRef.instance.ngOnChanges),this.initializeInputs(),this.initializeOutputs(),this.detectChanges(),this.injector.get(kn).attachView(this.componentRef.hostView)}initializeInputs(){this.componentFactory.inputs.forEach(({propName:t})=>{const e=this.initialInputValues.get(t);e?this.setInputValue(t,e):this.uninitializedInputs.add(t)}),this.initialInputValues.clear()}initializeOutputs(){const t=this.componentFactory.outputs.map(({propName:t,templateName:e})=>this.componentRef.instance[t].pipe(j(t=>({name:e,value:t}))));this.events=Q(...t)}callNgOnChanges(){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,this.componentRef.instance.ngOnChanges(t)}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ea.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(this.componentRef&&!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.uninitializedInputs.has(t);this.uninitializedInputs.delete(t);const s=i?void 0:this.getInputValue(t);this.inputChanges[t]=new Zn(s,e,i)}detectChanges(){this.componentRef&&(this.callNgOnChanges(),this.componentRef.changeDetectorRef.detectChanges())}}class ra extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class aa{constructor(){this.layers_to_add=["osm"],this.allow_edit_drawn_items=!0,this.zoom_init=4,this.lng_lat_init=[2.9,46.5],this.lat_lng_format="dec",this.elevation_provider="openelevation",this.geolocation_provider="osm",this.location=new on,this.httpError=new on,this._osm_class_filters=[],this._geometry_filters=[],this._osm_nominatim_api_url="https://nominatim.openstreetmap.org",this._map_quest_nominatim_api_url="https://open.mapquestapi.com/nominatim/v1",this._open_elevation_api_url="https://api.open-elevation.com/api/v1",this._map_quest_elevation_api_url="https://open.mapquestapi.com/elevation/v1",this._fr_geo_api_url="https://geo.api.gouv.fr"}set layer(t){this.layers_to_add=[t]}set osm_class_filter(t){this._osm_class_filters=[t]}set geometry_filter(t){this._geometry_filters=[t]}set marker(t){"true"===t&&(this._marker=!0)}set polyline(t){"true"===t&&(this._polyline=!0)}set polygon(t){"true"===t&&(this._polygon=!0)}set lat_init(t){this.lng_lat_init[1]=t}set lng_init(t){this.lng_lat_init[0]=t}set get_osm_simple_line(t){"true"===t&&(this._get_osm_simple_line=!0)}set show_lat_lng_elevation_inputs(t){"true"===t&&(this._show_lat_lng_elevation_inputs=!0)}set osm_nominatim_api_url(t){t&&""!==t&&(this._osm_nominatim_api_url=t)}set map_quest_nominatim_api_url(t){t&&""!==t&&(this._map_quest_nominatim_api_url=t)}set open_elevation_api_url(t){t&&""!==t&&(this._open_elevation_api_url=t)}set map_quest_elevation_api_url(t){t&&""!==t&&(this._map_quest_elevation_api_url=t)}set fr_geo_api_url(t){t&&""!==t&&(this._fr_geo_api_url=t)}set reset(t){"true"===t&&(this._reset=!0)}set patchAddress(t){t&&""!==t&&(this._patch_address=t)}set setAddress(t){t&&""!==t&&(this._set_address=t)}set patchElevation(t){t&&(this._patch_elevation=t)}set patchLngLatDec(t){t&&(this._patch_lng_lat_dec=t)}set drawMarker(t){t&&(this._draw_marker=t)}set patchGeometry(t){t&&(this._patch_geometry=t)}set enabled(t){"true"===t&&(this._enabled=!0)}set height(t){t&&""!==t&&(this._height=t)}set width(t){t&&""!==t&&(this._width=t)}set inputFocus(t){"true"===t&&(this._input_focus=!0)}newLocation(t){this.location.emit(t)}newHttpError(t){this.httpError.emit(t)}}class la{constructor(t){this.injector=t;const e=function(t,e){const n=function(t,n){return e.injector.get(We).resolveComponentFactory(t).inputs}(t),i=e.strategyFactory||new sa(t,e.injector),s=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)]=t}),e}(n);class o extends ra{constructor(t){super(),this.ngElementStrategy=i.create(t||e.injector)}attributeChangedCallback(t,n,o,r){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.setInputValue(s[t],o)}connectedCallback(){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.connect(this),this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}disconnectedCallback(){this.ngElementStrategy&&this.ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}}return o.observedAttributes=Object.keys(s),n.map(({propName:t})=>t).forEach(t=>{Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(aa,{injector:this.injector});customElements.define("tb-geolocation-element",e)}ngDoBootstrap(){}}class ha{}class ua{}const ca="*";function da(t,e=null){return{type:2,steps:t,options:e}}function pa(t){return{type:6,styles:t,offset:null}}function ma(t){Promise.resolve(null).then(t)}class fa{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ma(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class _a{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const s=this.players.length;0==s?ma(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==s&&this._onFinish()}),t.onDestroy(()=>{++n==s&&this._onDestroy()}),t.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const ga="!";function ya(t){return null!=t&&"false"!==`${t}`}function va(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function ba(t){return Array.isArray(t)?t:[t]}function wa(t){return null==t?"":"string"==typeof t?t:`${t}px`}const Ea=9,xa=13,Ca=27,La=32,ka=37,Sa=38,Ta=39,Ia=40,Pa=48,Ma=57,Aa=65,Da=90;class Oa{}const Ra=void 0;var Na=["en",[["a","p"],["AM","PM"],Ra],[["AM","PM"],Ra,Ra],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ra,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ra,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ra,"{1} 'at' {0}",Ra],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];const Fa={},za=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),Va=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),Ba=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function ja(t,e){const n=Ha(t),i=n[13][e];if(void 0===i){if(e===Ba.CurrencyDecimal)return n[13][Ba.Decimal];if(e===Ba.CurrencyGroup)return n[13][Ba.Group]}return i}function Ha(t){const e=t.toLowerCase().replace(/_/g,"-");let n=Fa[e];if(n)return n;const i=e.split("-")[0];if(n=Fa[i])return n;if("en"===i)return Na;throw new Error(`Missing locale data for the locale "${t}".`)}const Ua=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Za=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ga=22,$a=".",qa="0",Wa=";",Ka=",",Ya="#";function Qa(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const Xa=new rt("UseV4Plurals");class Ja{}class tl extends Ja{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Ha(t)[18]}(e||this.locale)(t)){case Va.Zero:return"zero";case Va.One:return"one";case Va.Two:return"two";case Va.Few:return"few";case Va.Many:return"many";default:return"other"}}}function el(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class nl{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._initialClasses=[]}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Gn(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${bt(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class il{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class sl{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._differ=null}set ngForTrackBy(t){bn()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngOnChanges(t){if("ngForOf"in t){const e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}}ngDoCheck(){if(this._differ){const t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new il(null,this.ngForOf,-1,-1),i),s=new ol(t,n);e.push(s)}else if(null==i)this._viewContainer.remove(n);else{const s=this._viewContainer.get(n);this._viewContainer.move(s,i);const o=new ol(t,s);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,i=this._viewContainer.length;n<i;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=i}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}}class ol{constructor(t,e){this.record=t,this.view=e}}class rl{constructor(t,e){this._viewContainer=t,this._context=new al,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class al{constructor(){this.$implicit=null,this.ngIf=null}}function ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${bt(e)}'.`)}class hl{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class ul{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class cl{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new hl(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}function dl(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${bt(t)}'`)}const pl=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ml={yMMMdjms:Cl(xl([wl("year",1),El("month",3),wl("day",1),wl("hour",1),wl("minute",1),wl("second",1)])),yMdjm:Cl(xl([wl("year",1),wl("month",1),wl("day",1),wl("hour",1),wl("minute",1)])),yMMMMEEEEd:Cl(xl([wl("year",1),El("month",4),El("weekday",4),wl("day",1)])),yMMMMd:Cl(xl([wl("year",1),El("month",4),wl("day",1)])),yMMMd:Cl(xl([wl("year",1),El("month",3),wl("day",1)])),yMd:Cl(xl([wl("year",1),wl("month",1),wl("day",1)])),jms:Cl(xl([wl("hour",1),wl("second",1),wl("minute",1)])),jm:Cl(xl([wl("hour",1),wl("minute",1)]))},fl={yyyy:Cl(wl("year",4)),yy:Cl(wl("year",2)),y:Cl(wl("year",1)),MMMM:Cl(El("month",4)),MMM:Cl(El("month",3)),MM:Cl(wl("month",2)),M:Cl(wl("month",1)),LLLL:Cl(El("month",4)),L:Cl(El("month",1)),dd:Cl(wl("day",2)),d:Cl(wl("day",1)),HH:_l(gl(Cl(bl(wl("hour",2),!1)))),H:gl(Cl(bl(wl("hour",1),!1))),hh:_l(gl(Cl(bl(wl("hour",2),!0)))),h:gl(Cl(bl(wl("hour",1),!0))),jj:Cl(wl("hour",2)),j:Cl(wl("hour",1)),mm:_l(Cl(wl("minute",2))),m:Cl(wl("minute",1)),ss:_l(Cl(wl("second",2))),s:Cl(wl("second",1)),sss:Cl(wl("second",3)),EEEE:Cl(El("weekday",4)),EEE:Cl(El("weekday",3)),EE:Cl(El("weekday",2)),E:Cl(El("weekday",1)),a:function(t){return function(e,n){return t(e,n).split(" ")[1]}}(Cl(bl(wl("hour",1),!0))),Z:vl("short"),z:vl("long"),ww:Cl({}),w:Cl({}),G:Cl(El("era",1)),GG:Cl(El("era",2)),GGG:Cl(El("era",3)),GGGG:Cl(El("era",4))};function _l(t){return function(e,n){const i=t(e,n);return 1==i.length?"0"+i:i}}function gl(t){return function(e,n){return t(e,n).split(" ")[0]}}function yl(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function vl(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const i=yl(t,n,e);return i?i.substring(3):""}}function bl(t,e){return t.hour12=e,t}function wl(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function El(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function xl(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function Cl(t){return(e,n)=>yl(e,n,t)}const Ll=new Map;class kl{static format(t,e,n){return function(t,e,n){const i=ml[t];if(i)return i(e,n);const s=t;let o=Ll.get(s);if(!o){let e;o=[],pl.exec(t);let n=t;for(;n;)(e=pl.exec(n))?n=(o=o.concat(e.slice(1))).pop():(o.push(n),n=null);Ll.set(s,o)}return o.reduce((t,i)=>{const s=fl[i];return t+(s?s(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(i))},"")}(n,t,e)}}class Sl{constructor(t){this._locale=t}transform(t,e="mediumDate"){if(null==t||""===t||t!=t)return null;let n;if("string"==typeof t&&(t=t.trim()),Tl(t))n=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,i,s]=t.split("-").map(t=>parseInt(t,10));n=new Date(e,i-1,s)}else n=new Date(t);else n=new Date(parseFloat(t));if(!Tl(n)){let e;if("string"!=typeof t||!(e=t.match(Ua)))throw dl(Sl,t);n=function(t){const e=new Date(0);let n=0,i=0;const s=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),i=Number(t[9]+t[11])),s.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const r=Number(t[4]||0)-n,a=Number(t[5]||0)-i,l=Number(t[6]||0),h=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,r,a,l,h),e}(e)}return kl.format(n,this._locale,Sl._ALIASES[e]||e)}}function Tl(t){return t instanceof Date&&!isNaN(t.valueOf())}Sl._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"};const Il=new class{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}},Pl=new class{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}};class Ml{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,Un.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Pe(t))return Il;if(Me(t))return Pl;throw dl(Ml,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Al{constructor(t){this._locale=t}transform(t,e,n){if(function(t){return null==t||""===t||t!=t}(t))return null;n=n||this._locale;try{return function(t,e,n){return function(t,e,n,i,s,o,r=!1){let a="",l=!1;if(isFinite(t)){let h=function(e){let n,i,s,o,r,a=Math.abs(t)+"",l=0;for((i=a.indexOf($a))>-1&&(a=a.replace($a,"")),(s=a.search(/e/i))>0?(i<0&&(i=s),i+=+a.slice(s+1),a=a.substring(0,s)):i<0&&(i=a.length),s=0;a.charAt(s)===qa;s++);if(s===(r=a.length))n=[0],i=1;else{for(r--;a.charAt(r)===qa;)r--;for(i-=s,n=[],o=0;s<=r;s++,o++)n[o]=Number(a.charAt(s))}return i>Ga&&(n=n.splice(0,Ga-1),l=i-1,i=1),{digits:n,exponent:l,integerLen:i}}();r&&(h=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(h));let u=e.minInt,c=e.minFrac,d=e.maxFrac;if(o){const t=o.match(Za);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=Qa(e)),null!=n&&(c=Qa(n)),null!=i?d=Qa(i):null!=n&&c>d&&(d=c)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,s=i.length-t.integerLen;const o=Math.min(Math.max(e,s),n);let r=o+t.integerLen,a=i[r];if(r>0){i.splice(Math.max(t.integerLen,r));for(let t=r;t<i.length;t++)i[t]=0}else{s=Math.max(0,s),t.integerLen=1,i.length=Math.max(1,r=o+1),i[0]=0;for(let t=1;t<r;t++)i[t]=0}if(a>=5)if(r-1<0){for(let e=0;e>r;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[r-1]++;for(;s<Math.max(0,o);s++)i.push(0);let l=0!==o;const h=e+t.integerLen,u=i.reduceRight(function(t,e,n,i){return i[n]=(e+=t)<10?e:e-10,l&&(0===i[n]&&n>=h?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(h,c,d);let p=h.digits,m=h.integerLen;const f=h.exponent;let _=[];for(l=p.every(t=>!t);m<u;m++)p.unshift(0);for(;m<0;m++)p.unshift(0);m>0?_=p.splice(m,p.length):(_=p,p=[0]);const g=[];for(p.length>=e.lgSize&&g.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)g.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&g.unshift(p.join("")),a=g.join(ja(n,i)),_.length&&(a+=ja(n,s)+_.join("")),f&&(a+=ja(n,Ba.Exponential)+"+"+f)}else a=ja(n,Ba.Infinity);return t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(Wa),s=i[0],o=i[1],r=-1!==s.indexOf($a)?s.split($a):[s.substring(0,s.lastIndexOf(qa)+1),s.substring(s.lastIndexOf(qa)+1)],a=r[0],l=r[1]||"";n.posPre=a.substr(0,a.indexOf(Ya));for(let u=0;u<l.length;u++){const t=l.charAt(u);t===qa?n.minFrac=n.maxFrac=u+1:t===Ya?n.maxFrac=u+1:n.posSuf+=t}const h=a.split(Ka);if(n.gSize=h[1]?h[1].length:0,n.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,o){const t=s.length-n.posPre.length-n.posSuf.length,e=o.indexOf(Ya);n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}(function(t,e){return Ha(t)[14][e]}(e,za.Decimal),ja(e,Ba.MinusSign)),e,Ba.Group,Ba.Decimal,n)}(function(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}(t),n,e)}catch(t){throw dl(Al,t.message)}}}class Dl{}const Ol=new rt("DocumentToken"),Rl="browser",Nl="undefined"!=typeof Intl&&Intl.v8BreakIterator;class Fl{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function(t){return t===Rl}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Nl)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}let zl,Vl;function Bl(){if(null==zl&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>zl=!0}))}finally{zl=zl||!1}return zl}Fl.ngInjectableDef=ot({factory:function(){return new Fl(te(ze,8))},token:Fl,providedIn:"root"});const jl=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Hl(){if(Vl)return Vl;if("object"!=typeof document||!document)return Vl=new Set(jl);let t=document.createElement("input");return Vl=new Set(jl.filter(e=>(t.setAttribute("type",e),t.type===e)))}class Ul{}const Zl={};class Gl{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $l(t,this.resultSelector))}}class $l extends B{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(Zl),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(V(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,i,s){const o=this.values,r=this.toRespond?o[n]===Zl?--this.toRespond:this.toRespond:0;o[n]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function ql(t){return e=>e.lift(new Wl(t))}class Wl{constructor(t){this.notifier=t}call(t,e){const n=new Kl(t),i=V(n,this.notifier);return i&&!i.closed?(n.add(i),e.subscribe(n)):n}}class Kl extends B{constructor(t){super(t)}notifyNext(t,e,n,i,s){this.complete()}notifyComplete(){}}function Yl(t){const e=new E(e=>{e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}const Ql=new E(t=>t.complete());function Xl(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):Ql}function Jl(...t){let e=t[t.length-1];switch(I(e)?t.pop():e=void 0,t.length){case 0:return Xl(e);case 1:return e?Z(t,e):Yl(t[0]);default:return Z(t,e)}}function th(...t){return e=>{let n=t[t.length-1];I(n)?t.pop():n=null;const i=t.length;return function(...t){return 1===t.length||2===t.length&&I(t[1])?G(t[0]):Y(1)(Jl(...t))}(1!==i||n?i>0?Z(t,n):Xl(n):Yl(t[0]),e)}}const eh=new Set;let nh;class ih{constructor(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):sh}matchMedia(t){return this.platform.WEBKIT&&function(t){if(!eh.has(t))try{nh||((nh=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(nh)),nh.sheet&&(nh.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),eh.add(t))}catch(t){console.error(t)}}(t),this._matchMedia(t)}}function sh(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}ih.ngInjectableDef=ot({factory:function(){return new ih(te(Fl))},token:ih,providedIn:"root"});class oh{constructor(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new S}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return rh(ba(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){return function(...t){let e=null,n=null;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),Z(t,n).lift(new Gl(e))}(rh(ba(t)).map(t=>this._registerQuery(t).observable)).pipe(j(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(t=>{e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this.mediaMatcher.matchMedia(t),n={observable:function t(e,n,s){return s?t(e,n).pipe(j(t=>l(t)?s(...t):s(t))):new E(t=>{const s=(...e)=>t.next(1===e.length?e[0]:e);let o;try{o=e(s)}catch(e){return void t.error(e)}if(i(n))return()=>n(s,o)})}(t=>{e.addListener(e=>this.zone.run(()=>t(e)))},t=>{e.removeListener(e=>this.zone.run(()=>t(e)))}).pipe(ql(this._destroySubject),th(e),j(e=>({query:t,matches:e.matches}))),mql:e};return this._queries.set(t,n),n}}function rh(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}oh.ngInjectableDef=ot({factory:function(){return new oh(te(ih),te(rn))},token:oh,providedIn:"root"});const ah={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 1919px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function lh(t,e,n,s){return i(n)&&(s=n,n=void 0),s?lh(t,e,n).pipe(j(t=>l(t)?s(...t):s(t))):new E(i=>{!function t(e,n,i,s,o){let r;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,i,o),r=(()=>t.removeEventListener(n,i,o))}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,i),r=(()=>t.off(n,i))}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,i),r=(()=>t.removeListener(n,i))}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let r=0,a=e.length;r<a;r++)t(e[r],n,i,s,o)}s.add(r)}(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}Object;class hh extends f{constructor(t,e){super()}schedule(t,e=0){return this}}class uh extends hh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,i=void 0;try{this.work(t)}catch(t){n=!0,i=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}class ch{constructor(t,e=ch.now){this.SchedulerAction=t,this.now=e}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}ch.now=Date.now?Date.now:()=>+new Date;class dh extends ch{constructor(t,e=ch.now){super(t,()=>dh.delegate&&dh.delegate!==this?dh.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return dh.delegate&&dh.delegate!==this?dh.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}const ph=new dh(uh);class mh{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new fh(t,this.durationSelector))}}class fh extends B{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){const e=p(this.durationSelector)(t);if(e===u)this.destination.error(u.e);else{const t=V(this,e);t.closed?this.clearThrottle():this.add(this.throttled=t)}}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,i){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function _h(t){return!l(t)&&t-parseFloat(t)+1>=0}function gh(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function yh(t,e=ph){return function(t){return function(e){return e.lift(new mh(t))}}(()=>(function(t=0,e,n){let i=-1;return _h(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=ph),new E(e=>{const s=_h(t)?t:+t-n.now();return n.schedule(gh,s,{index:0,period:i,subscriber:e})})})(t,e))}function vh(t,e){return function(n){return n.lift(new bh(t,e))}}class bh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new wh(t,this.predicate,this.thisArg))}}class wh extends y{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)}}const Eh=20;class xh{constructor(t,e){this._ngZone=t,this._platform=e,this._scrolled=new S,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}register(t){const e=t.elementScrolled().subscribe(()=>this._scrolled.next(t));this.scrollContainers.set(t,e)}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=Eh){return this._platform.isBrowser?E.create(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(yh(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Jl()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(vh(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_scrollableContainsElement(t,e){let n=e.nativeElement,i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>lh(window.document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}xh.ngInjectableDef=ot({factory:function(){return new xh(te(rn),te(Fl))},token:xh,providedIn:"root"});const Ch=20;class Lh{constructor(t,e){this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(()=>Q(lh(window,"resize"),lh(window,"orientationchange"))):Jl(),this._invalidateCache=this.change().subscribe(()=>this._updateViewportSize())}ngOnDestroy(){this._invalidateCache.unsubscribe()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}}change(t=Ch){return t>0?this._change.pipe(yh(t)):this._change}_updateViewportSize(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}}}Lh.ngInjectableDef=ot({factory:function(){return new Lh(te(Fl),te(rn))},token:Lh,providedIn:"root"});class kh{}class Sh extends Error{constructor(){super("argument out of range"),this.name="ArgumentOutOfRangeError",Object.setPrototypeOf(this,Sh.prototype)}}function Th(t){return e=>0===t?Xl():e.lift(new Ih(t))}class Ih{constructor(t){if(this.total=t,this.total<0)throw new Sh}call(t,e){return e.subscribe(new Ph(t,this.total))}}class Ph extends y{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Mh(){throw Error("Host already has a portal attached")}class Ah{attach(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&Mh(),this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Dh extends Ah{constructor(t,e,n){super(),this.component=t,this.viewContainerRef=e,this.injector=n}}class Oh extends Ah{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Rh{constructor(){this._isDisposed=!1}hasAttached(){return!!this._attachedPortal}attach(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&Mh(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof Dh?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Oh?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Nh extends Rh{constructor(t,e,n,i){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i}attachComponentPortal(t){let e,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(()=>e.destroy())):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(()=>{this._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class Fh{}class zh{enable(){}disable(){}attach(){}}class Vh{constructor(t){this.scrollStrategy=new zh,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",t&&Object.keys(t).filter(e=>void 0!==t[e]).forEach(e=>this[e]=t[e])}}class Bh{constructor(t,e,n,i){this.offsetX=n,this.offsetY=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class jh{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}function Hh(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "top", "bottom" or "center".')}function Uh(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "start", "end" or "center".')}class Zh{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=wa(-this._previousScrollPosition.left),t.style.top=wa(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",i=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=i}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}function Gh(){return Error("Scroll strategy has already been attached.")}class $h{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=(()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())})}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}function qh(t,e){return e.some(e=>t.bottom<e.top||t.top>e.bottom||t.right<e.left||t.left>e.right)}function Wh(t,e){return e.some(e=>t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)}class Kh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();qh(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}class Yh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=(()=>new zh),this.close=(t=>new $h(this._scrollDispatcher,this._ngZone,this._viewportRuler,t)),this.block=(()=>new Zh(this._viewportRuler,this._document)),this.reposition=(t=>new Kh(this._scrollDispatcher,this._viewportRuler,this._ngZone,t)),this._document=i}}Yh.ngInjectableDef=ot({factory:function(){return new Yh(te(xh),te(Lh),te(rn),te(Ol))},token:Yh,providedIn:"root"});class Qh{constructor(t){this._attachedOverlays=[],this._keydownListener=(t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEventSubscriptions>0){e[n]._keydownEvents.next(t);break}}),this._document=t}ngOnDestroy(){this._detach()}add(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()}_detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)}}Qh.ngInjectableDef=ot({factory:function(){return new Qh(te(Ol))},token:Qh,providedIn:"root"});class Xh{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t}}Xh.ngInjectableDef=ot({factory:function(){return new Xh(te(Ol))},token:Xh,providedIn:"root"});class Jh{constructor(t,e,n,i,s,o,r){this._portalOutlet=t,this._host=e,this._pane=n,this._config=i,this._ngZone=s,this._keyboardDispatcher=o,this._document=r,this._backdropElement=null,this._backdropClick=new S,this._attachments=new S,this._detachments=new S,this._keydownEventsObservable=E.create(t=>{const e=this._keydownEvents.subscribe(t);return this._keydownEventSubscriptions++,()=>{e.unsubscribe(),this._keydownEventSubscriptions--}}),this._keydownEvents=new S,this._keydownEventSubscriptions=0,i.scrollStrategy&&i.scrollStrategy.attach(this)}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1);const t=this._portalOutlet.detach();this._detachments.next(),this._keyboardDispatcher.remove(this);const e=this._ngZone.onStable.asObservable().pipe(ql(Q(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())});return t}dispose(){const t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick.asObservable()}attachments(){return this._attachments.asObservable()}detachments(){return this._detachments.asObservable()}keydownEvents(){return this._keydownEventsObservable}getConfig(){return this._config}updatePosition(){this._config.positionStrategy&&this._config.positionStrategy.apply()}updateSize(t){this._config=Object.assign({},this._config,t),this._updateElementSize()}setDirection(t){this._config=Object.assign({},this._config,{direction:t}),this._updateElementDirection()}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){const t=this._pane.style;t.width=wa(this._config.width),t.height=wa(this._config.height),t.minWidth=wa(this._config.minWidth),t.minHeight=wa(this._config.minHeight),t.maxWidth=wa(this._config.maxWidth),t.maxHeight=wa(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"auto":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",t=>this._backdropClick.next(t)),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(t){let e,n=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),this._backdropElement==t&&(this._backdropElement=null),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}}_toggleClasses(t,e,n){const i=t.classList;ba(e).forEach(t=>{n?i.add(t):i.remove(t)})}}class tu{constructor(t,e,n,i,s){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=s,this._isInitialRender=!0,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new S,this._resizeSubscription=f.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this.positionChanges=E.create(t=>{const e=this._positionChanges.subscribe(t);return this._positionChangeSubscriptions++,()=>{e.unsubscribe(),this._positionChangeSubscriptions--}}),this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>this.apply())}apply(){if(this._isDisposed||this._platform&&!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let s;for(let o of this._preferredPositions){let r=this._getOriginPoint(t,o),a=this._getOverlayPoint(r,e,o),l=this._getOverlayFit(a,e,n,o);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,r);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:o,origin:r,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(r,o)}):(!s||s.overlayFit.visibleArea<l.visibleArea)&&(s={overlayFit:l,overlayPoint:a,originPoint:r,position:o,overlayRect:e})}if(i.length){let t=null,e=-1;for(const n of i){const i=n.boundingBoxRect.width*n.boundingBoxRect.height*(n.position.weight||1);i>e&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this.detach(),this._boundingBox=null,this._positionChanges.complete(),this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){this.scrollables=t}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t instanceof Mn?t.nativeElement:t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,s=this._isRtl()?t.left:t.right;n="start"==e.originX?i:s}return{x:n,y:i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}}_getOverlayPoint(t,e,n){let i,s;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+i,y:t.y+(s="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}}_getOverlayFit(t,e,n,i){let{x:s,y:o}=t,r=this._getOffset(i,"x"),a=this._getOffset(i,"y");r&&(s+=r),a&&(o+=a);let l=0-o,h=o+e.height-n.height,u=this._subtractOverflows(e.width,0-s,s+e.width-n.width),c=this._subtractOverflows(e.height,l,h),d=u*c;return{visibleArea:d,isCompletelyWithinViewport:e.width*e.height===d,fitsInViewportVertically:c===e.height,fitsInViewportHorizontally:u==e.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,s=n.right-e.x,o=this._overlayRef.getConfig().minHeight,r=this._overlayRef.getConfig().minWidth;return(t.fitsInViewportVertically||null!=o&&o<=i)&&(t.fitsInViewportHorizontally||null!=r&&r<=s)}}_pushOverlayOnScreen(t,e){const n=this._viewportRect,i=Math.max(t.x+e.width-n.right,0),s=Math.max(t.y+e.height-n.bottom,0),o=Math.max(n.top-t.y,0),r=Math.max(n.left-t.x,0);let a,l=0;return{x:t.x+(a=e.width<=n.width?r||-i:n.left-t.x),y:t.y+(l=e.height<=n.height?o||-s:n.top-t.y)}}_applyPosition(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),this._lastPosition=t,this._positionChangeSubscriptions>0){const e=this._getScrollVisibility(),n=new jh(t,e);this._positionChanges.next(n)}this._isInitialRender=!1}_setTransformOrigin(t){if(!this._transformOriginSelector)return;const e=this._boundingBox.querySelectorAll(this._transformOriginSelector);let n,i=t.overlayY;n="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${n} ${i}`}_calculateBoundingBoxRect(t,e){const n=this._viewportRect,i=this._isRtl();let s,o,r,a,l,h;if("top"===e.overlayY)o=t.y,s=n.bottom-t.y;else if("bottom"===e.overlayY)s=n.height-(r=n.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{const e=Math.min(n.bottom-t.y,t.y-n.left),i=this._lastBoundingBoxSize.height;o=t.y-e,(s=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)h=n.right-t.x+this._viewportMargin,a=t.x-n.left;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x,t.x-n.top),i=this._lastBoundingBoxSize.width;l=t.x-e,(a=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:o,left:l,bottom:r,right:h,width:a,height:s}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;i.height=wa(n.height),i.top=wa(n.top),i.bottom=wa(n.bottom),i.width=wa(n.width),i.left=wa(n.left),i.right=wa(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=wa(t)),s&&(i.maxWidth=wa(s))}this._lastBoundingBoxSize=n,eu(this._boundingBox.style,i)}_resetBoundingBoxStyles(){eu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){eu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:""})}_setOverlayElementStyles(t,e){const n={};this._hasExactPosition()?(eu(n,this._getExactOverlayY(e,t)),eu(n,this._getExactOverlayX(e,t))):n.position="static";let i="",s=this._getOffset(e,"x"),o=this._getOffset(e,"y");s&&(i+=`translateX(${s}px) `),o&&(i+=`translateY(${o}px)`),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),eu(this._pane.style,n)}_getExactOverlayY(t,e){let n={top:null,bottom:null},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect));let s=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;return i.y-=s,"bottom"===t.overlayY?n.bottom=`${this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)}px`:n.top=wa(i.y),n}_getExactOverlayX(t,e){let n,i={left:null,right:null},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect)),"right"==(n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?i.right=`${this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)}px`:i.left=wa(s.x),i}_getScrollVisibility(){const t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Wh(t,n),isOriginOutsideView:qh(t,n),isOverlayClipped:Wh(e,n),isOverlayOutsideView:qh(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){if(!this._preferredPositions.length)throw Error("FlexibleConnectedPositionStrategy: At least one position is required.");this._preferredPositions.forEach(t=>{Uh("originX",t.originX),Hh("originY",t.originY),Uh("overlayX",t.overlayX),Hh("overlayY",t.overlayY)})}}function eu(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}class nu{constructor(t,e,n,i,s,o){this._preferredPositions=[],this._positionStrategy=new tu(n,i,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e)}get _isRtl(){return"rtl"===this._overlayRef.getDirection()}get onPositionChange(){return this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const s=new Bh(t,e,n,i);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}class iu{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add("cdk-global-overlay-wrapper")}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig();t.position=this._cssPosition,t.marginLeft="100%"===n.width?"0":this._leftOffset,t.marginTop="100%"===n.height?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,"100%"===n.width?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems="100%"===n.height?"flex-start":this._alignItems}dispose(){}}class su{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new iu}connectedTo(t,e,n){return new nu(e,n,t,this._viewportRuler,this._document)}flexibleConnectedTo(t){return new tu(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}su.ngInjectableDef=ot({factory:function(){return new su(te(Lh),te(Ol),te(Fl,8),te(Xh,8))},token:su,providedIn:"root"});let ou=0;class ru{constructor(t,e,n,i,s,o,r,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=s,this._injector=o,this._ngZone=r,this._document=a,this._directionality=l}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),s=new Vh(t);return s.direction=s.direction||this._directionality.value,new Jh(i,e,n,s,this._ngZone,this._keyboardDispatcher,this._document)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id=`cdk-overlay-${ou++}`,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(kn)),new Nh(t,this._componentFactoryResolver,this._appRef,this._injector)}}const au=new rt("cdk-connected-overlay-scroll-strategy");function lu(t){return()=>t.scrollStrategies.reposition()}class hu{}const uu=20,cu="mat-tooltip-panel";function du(t){return Error(`Tooltip position "${t}" is invalid.`)}const pu=new rt("mat-tooltip-scroll-strategy");function mu(t){return()=>t.scrollStrategies.reposition({scrollThrottle:uu})}const fu=new rt("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class _u{constructor(t,e,n,i,s,o,r,a,l,h,u){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=s,this._platform=o,this._ariaDescriber=r,this._focusMonitor=a,this._scrollStrategy=l,this._dir=h,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new S;const c=e.nativeElement;o.IOS?"INPUT"!==c.nodeName&&"TEXTAREA"!==c.nodeName||(c.style.webkitUserSelect=c.style.userSelect=""):(this._manualListeners.set("mouseenter",()=>this.show()),this._manualListeners.set("mouseleave",()=>this.hide()),this._manualListeners.forEach((t,n)=>e.nativeElement.addEventListener(n,t))),c.draggable&&"none"===c.style.webkitUserDrag&&(c.style.webkitUserDrag=""),a.monitor(c).pipe(ql(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&s.run(()=>this.show()):s.run(()=>this.hide(0))})}get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t),this._disabled&&this.hide(0)}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?`${t}`.trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._platform.IOS||(this._manualListeners.forEach((t,e)=>this._elementRef.nativeElement.removeEventListener(e,t)),this._manualListeners.clear()),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}show(t=this.showDelay){if(this.disabled||!this.message)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new Dh(gu,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_handleKeydown(t){this._isTooltipVisible()&&t.keyCode===Ca&&(t.stopPropagation(),this.hide(0))}_handleTouchend(){this.hide(this._defaultOptions.touchendHideDelay)}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8),e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);return t.withScrollableContainers(e),t.positionChanges.pipe(ql(this._destroyed)).subscribe(t=>{this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:t,panelClass:cu,scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(){const t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object.assign({},e.main,n.main),Object.assign({},e.fallback,n.fallback)])}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e||"below"==e)n={originX:"center",originY:"above"==e?"top":"bottom"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={originX:"start",originY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={originX:"end",originY:"center"}}const{x:i,y:s}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:s}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e)n={overlayX:"center",overlayY:"bottom"};else if("below"==e)n={overlayX:"center",overlayY:"top"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={overlayX:"end",overlayY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={overlayX:"start",overlayY:"center"}}const{x:i,y:s}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Th(1),ql(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}}class gu{constructor(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new S,this._isHandset=this._breakpointObserver.observe(ah.Handset)}show(t){this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._markForCheck()},t)}hide(t){this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._markForCheck()},t)}afterHidden(){return this._onHide.asObservable()}isVisible(){return"visible"===this._visibility}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}class yu{}function vu(t,e=ph){return n=>n.lift(new bu(t,e))}class bu{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wu(t,this.dueTime,this.scheduler))}}class wu extends y{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Eu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function Eu(t){t.debouncedNext()}class xu{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}xu.ngInjectableDef=ot({factory:function(){return new xu},token:xu,providedIn:"root"});class Cu{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){return E.create(e=>{const n=this._observeElement(t).subscribe(e);return()=>{n.unsubscribe(),this._unobserveElement(t)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new S,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}Cu.ngInjectableDef=ot({factory:function(){return new Cu(te(xu))},token:Cu,providedIn:"root"});class Lu{}const ku=new rt("cdk-dir-doc",{providedIn:"root",factory:function(){return te(Ol)}});class Su{constructor(t){if(this.value="ltr",this.change=new on,t){const e=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===e||"rtl"===e?e:"ltr"}}ngOnDestroy(){this.change.complete()}}Su.ngInjectableDef=ot({factory:function(){return new Su(te(ku,8))},token:Su,providedIn:"root"});class Tu{}function Iu(t,e,n){return function(i){return i.lift(new Pu(t,e,n))}}class Pu{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new Mu(t,this.nextOrObserver,this.error,this.complete))}}class Mu extends y{constructor(t,e,n,s){super(t),this._tapNext=w,this._tapError=w,this._tapComplete=w,this._tapError=n||w,this._tapComplete=s||w,i(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||w,this._tapError=e.error||w,this._tapComplete=e.complete||w)}_next(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const Au=" ";function Du(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const Ou="cdk-describedby-message-container",Ru="cdk-describedby-message",Nu="cdk-describedby-host";let Fu=0;const zu=new Map;let Vu=null;class Bu{constructor(t){this._document=t}describe(t,e){this._canBeDescribed(t,e)&&(zu.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))}removeDescription(t,e){if(!this._canBeDescribed(t,e))return;this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);const n=zu.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),Vu&&0===Vu.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${Nu}]`);for(let e=0;e<t.length;e++)this._removeCdkDescribedByReferenceIds(t[e]),t[e].removeAttribute(Nu);Vu&&this._deleteMessagesContainer(),zu.clear()}_createMessageElement(t){const e=this._document.createElement("div");e.setAttribute("id",`${Ru}-${Fu++}`),e.appendChild(this._document.createTextNode(t)),this._createMessagesContainer(),Vu.appendChild(e),zu.set(t,{messageElement:e,referenceCount:0})}_deleteMessageElement(t){const e=zu.get(t),n=e&&e.messageElement;Vu&&n&&Vu.removeChild(n),zu.delete(t)}_createMessagesContainer(){if(!Vu){const t=this._document.getElementById(Ou);t&&t.parentNode.removeChild(t),(Vu=this._document.createElement("div")).id=Ou,Vu.setAttribute("aria-hidden","true"),Vu.style.display="none",this._document.body.appendChild(Vu)}}_deleteMessagesContainer(){Vu&&Vu.parentNode&&(Vu.parentNode.removeChild(Vu),Vu=null)}_removeCdkDescribedByReferenceIds(t){const e=Du(t,"aria-describedby").filter(t=>0!=t.indexOf(Ru));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=zu.get(e);!function(t,e,n){const i=Du(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(Au)))}(t,"aria-describedby",n.messageElement.id),t.setAttribute(Nu,""),n.referenceCount++}_removeMessageReference(t,e){const n=zu.get(e);n.referenceCount--,function(t,e,n){const i=Du(t,e).filter(t=>t!=n.trim());t.setAttribute(e,i.join(Au))}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(Nu)}_isElementDescribedByMessage(t,e){const n=Du(t,"aria-describedby"),i=zu.get(e),s=i&&i.messageElement.id;return!!s&&-1!=n.indexOf(s)}_canBeDescribed(t,e){return t.nodeType===this._document.ELEMENT_NODE&&null!=e&&!!`${e}`.trim()}}Bu.ngInjectableDef=ot({factory:function(){return new Bu(te(Ol))},token:Bu,providedIn:"root"});class ju{constructor(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new S,this._typeaheadSubscription=f.EMPTY,this._vertical=!0,this._skipPredicateFn=(t=>t.disabled),this._pressedLetters=[],this.tabOut=new S,this.change=new S,t instanceof An&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withTypeAhead(t=200){if(this._items.length&&this._items.some(t=>"function"!=typeof t.getLabel))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Iu(t=>this._pressedLetters.push(t)),vu(t),vh(()=>this._pressedLetters.length>0),j(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n<e.length+1;n++){const i=(this._activeItemIndex+n)%e.length,s=e[i];if(!this._skipPredicateFn(s)&&0===s.getLabel().toUpperCase().trim().indexOf(t)){this.setActiveItem(i);break}}this._pressedLetters=[]}),this}setActiveItem(t){const e=this._activeItemIndex;this.updateActiveItem(t),this._activeItemIndex!==e&&this.change.next(this._activeItemIndex)}onKeydown(t){const e=t.keyCode;switch(e){case Ea:return void this.tabOut.next();case Ia:if(this._vertical){this.setNextItemActive();break}return;case Sa:if(this._vertical){this.setPreviousItemActive();break}return;case Ta:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}return;case ka:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}return;default:return void(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=Aa&&e<=Da||e>=Pa&&e<=Ma)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t);this._activeItemIndex=n,this._activeItem=e[n]}updateActiveItemIndex(t){this.updateActiveItem(t)}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof An?this._items.toArray():this._items}}class Hu extends ju{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class Uu extends ju{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}class Zu{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(t){return null}}(t.ownerDocument.defaultView||window);if(e){const t=e&&e.nodeName.toLowerCase();if(-1===$u(e))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===t)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),i=$u(t);if(t.hasAttribute("contenteditable"))return-1!==i;if("iframe"===n)return!1;if("audio"===n){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===n){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==n||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0}isFocusable(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Gu(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)}}function Gu(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function $u(t){if(!Gu(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}Zu.ngInjectableDef=ot({factory:function(){return new Zu(te(Fl))},token:Zu,providedIn:"root"});class qu{constructor(t,e,n,i,s=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)}destroy(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",()=>this.focusLastTabbableElement())),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",()=>this.focusFirstTabbableElement()))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement()))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], `+`[cdkFocusRegion${t}], `+`[cdk-focus-${t}]`);for(let n=0;n<e.length;n++)e[n].hasAttribute(`cdk-focus-${t}`)?console.warn(`Found use of deprecated attribute 'cdk-focus-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated `+"attribute will be removed in 7.0.0.",e[n]):e[n].hasAttribute(`cdk-focus-region-${t}`)&&console.warn(`Found use of deprecated attribute 'cdk-focus-region-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated attribute `+"will be removed in 7.0.0.",e[n]);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return t?(t.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 7.0.0",t),t.focus(),!0):this.focusFirstTabbableElement()}focusFirstTabbableElement(){const t=this._getRegionBoundary("start");return t&&t.focus(),!!t}focusLastTabbableElement(){const t=this._getRegionBoundary("end");return t&&t.focus(),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=0;n<e.length;n++){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(t)return t}return null}_getLastTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=e.length-1;n>=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(t)}}class Wu{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new qu(t,this._checker,this._ngZone,this._document,e)}}Wu.ngInjectableDef=ot({factory:function(){return new Wu(te(Zu),te(rn),te(Ol))},token:Wu,providedIn:"root"});const Ku=new rt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});class Yu{constructor(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}announce(t,e="polite"){return this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(e=>{setTimeout(()=>{this._liveElement.textContent=t,e()},100)})}ngOnDestroy(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)}_createLiveElement(){const t=this._document.getElementsByClassName("cdk-live-announcer-element");for(let n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);const e=this._document.createElement("div");return e.classList.add("cdk-live-announcer-element"),e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e}}Yu.ngInjectableDef=ot({factory:function(){return new Yu(te(Ku,8),te(Ol))},token:Yu,providedIn:"root"});const Qu=650;class Xu{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=(()=>{}),this._monitoredElementCount=0}monitor(t,e=!1){if(!this._platform.isBrowser)return Jl(null);if(this._elementInfo.has(t)){let n=this._elementInfo.get(t);return n.checkChildren=e,n.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new S};this._elementInfo.set(t,n),this._incrementMonitoredElementCount();let i=e=>this._onFocus(e,t),s=e=>this._onBlur(e,t);return this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",i,!0),t.addEventListener("blur",s,!0)}),n.unlisten=(()=>{t.removeEventListener("focus",i,!0),t.removeEventListener("blur",s,!0)}),n.subject.asObservable()}stopMonitoring(t){const e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())}focusVia(t,e,n){this._setOriginForCurrentEventQueue(e),"function"==typeof t.focus&&t.focus(n)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_registerGlobalListeners(){if(!this._platform.isBrowser)return;let t=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},e=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},n=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,Qu)},i=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=(()=>{document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)})}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const n=this._elementInfo.get(e);if(!n||!n.checkChildren&&e!==t.target)return;let i=this._origin;i||(i=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,i),this._emitOrigin(n.subject,i),this._lastFocusOrigin=i}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._registerGlobalListeners()}_decrementMonitoredElementCount(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=(()=>{}))}}Xu.ngInjectableDef=ot({factory:function(){return new Xu(te(rn),te(Fl))},token:Xu,providedIn:"root"});class Ju{}let tc=null;function ec(){return tc}class nc{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}class ic extends nc{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const sc={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},oc=3,rc={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ac={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};let lc;mt.Node&&(lc=mt.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});class hc extends ic{parse(t){throw new Error("parse not implemented")}static makeCurrent(){!function(t){tc||(tc=t)}(new hc)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return sc}contains(t,e){return lc.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=e[i];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const i=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(t,e),i}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const i=this.getStyle(t,e)||"";return n?i==n:i.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,i){t.setAttributeNS(e,n,i)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===oc&&ac.hasOwnProperty(e)&&(e=ac[e]))}return rc[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=cc||(cc=document.querySelector("base"))?cc.getAttribute("href"):null;return null==e?null:function(t){return uc||(uc=document.createElement("a")),uc.setAttribute("href",t),"/"===uc.pathname.charAt(0)?uc.pathname:"/"+uc.pathname}(e)}resetBaseElement(){cc=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return el(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let uc,cc=null;const dc=Ol;function pc(){return!!window.history.pushState}class mc extends Oa{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=ec().getLocation(),this._history=ec().getHistory()}getBaseHrefFromDOM(){return ec().getBaseHref(this._doc)}onPopState(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){pc()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){pc()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}}mc.ctorParameters=(()=>[{type:void 0,decorators:[{type:Tt,args:[dc]}]}]);class fc{constructor(t){this._doc=t,this._dom=ec()}addTag(t,e=!1){return t?this._getOrCreateElement(t,e):null}addTags(t,e=!1){return t?t.reduce((t,n)=>(n&&t.push(this._getOrCreateElement(n,e)),t),[]):[]}getTag(t){return t&&this._dom.querySelector(this._doc,`meta[${t}]`)||null}getTags(t){if(!t)return[];const e=this._dom.querySelectorAll(this._doc,`meta[${t}]`);return e?[].slice.call(e):[]}updateTag(t,e){if(!t)return null;e=e||this._parseSelector(t);const n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,e=!1){if(!e){const e=this._parseSelector(t),n=this.getTag(e);if(n&&this._containsAttributes(t,n))return n}const n=this._dom.createElement("meta");this._setMetaElementAttributes(t,n);const i=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(i,n),n}_setMetaElementAttributes(t,e){return Object.keys(t).forEach(n=>this._dom.setAttribute(e,n,t[n])),e}_parseSelector(t){const e=t.name?"name":"property";return`${e}="${t[e]}"`}_containsAttributes(t,e){return Object.keys(t).every(n=>this._dom.getAttribute(e,n)===t[n])}}const _c=new rt("TRANSITION_ID"),gc=[{provide:Ae,useFactory:function(t,e,n){return()=>{n.get(De).donePromise.then(()=>{const n=ec();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[_c,dc,Nt],multi:!0}];class yc{static init(){!function(t){_n=t}(new yc)}addToWindow(t){mt.getAngularTestability=((e,n=!0)=>{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i}),mt.getAllAngularTestabilities=(()=>t.getAllTestabilities()),mt.getAllAngularRootElements=(()=>t.getAllRootElements()),mt.frameworkStabilizers||(mt.frameworkStabilizers=[]),mt.frameworkStabilizers.push(t=>{const e=mt.getAllAngularTestabilities();let n=e.length,i=!1;const s=function(e){i=i||e,0==--n&&t(i)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?ec().isShadowRoot(e)?this.findTestabilityInTree(t,ec().getHost(e),!0):this.findTestabilityInTree(t,ec().parentElement(e),!0):null}}class vc{constructor(t){this._doc=t}getTitle(){return ec().getTitle(this._doc)}setTitle(t){ec().setTitle(this._doc,t)}}function bc(t,e){"undefined"!=typeof COMPILED&&COMPILED||((mt.ng=mt.ng||{})[t]=e)}const wc={ApplicationRef:kn,NgZone:rn};function Ec(t){return Bn(t)}const xc=new rt("EventManagerPlugins");class Cc{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i<n.length;i++){const e=n[i];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class Lc{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const i=ec().getGlobalEventTarget(this._doc,t);if(!i)throw new Error(`Unsupported event target ${i} for event ${e}`);return this.addEventListener(i,e,n)}}class kc{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class Sc extends kc{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>ec().remove(t))}}const Tc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Ic=/%COMP%/g,Pc="_nghost-%COMP%",Mc="_ngcontent-%COMP%";function Ac(t,e,n){for(let i=0;i<e.length;i++){let s=e[i];Array.isArray(s)?Ac(t,s,n):(s=s.replace(Ic,t),n.push(s))}return n}function Dc(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class Oc{constructor(t,e){this.eventManager=t,this.sharedStylesHost=e,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case ee.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new zc(this.eventManager,this.sharedStylesHost,e),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case ee.Native:return new Vc(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Ac(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class Rc{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Tc[e],t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t){let e="string"==typeof t?document.querySelector(t):t;if(!e)throw new Error(`The selector "${t}" did not match any elements`);return e.textContent="",e}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=`${i}:${e}`;const s=Tc[i];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=Tc[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&In.DashCase?t.style.setProperty(e,n,i&In.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&In.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){Fc(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return Fc(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Dc(n)):this.eventManager.addEventListener(t,e,Dc(n))}}const Nc="@".charCodeAt(0);function Fc(t,e){if(t.charCodeAt(0)===Nc)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class zc extends Rc{constructor(t,e,n){super(t),this.component=n;const i=Ac(n.id,n.styles,[]);e.addStyles(i),this.contentAttr=Mc.replace(Ic,n.id),this.hostAttr=Pc.replace(Ic,n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class Vc extends Rc{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=i,this.shadowRoot=n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const s=Ac(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const t=document.createElement("style");t.textContent=s[o],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const Bc="undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t},jc=Bc("addEventListener"),Hc=Bc("removeEventListener"),Uc={},Zc="__zone_symbol__propagationStopped";let Gc;"undefined"!=typeof Zone&&Zone[Bc("BLACK_LISTED_EVENTS")]&&(Gc={});const $c=function(t){return!!Gc&&Gc.hasOwnProperty(t)},qc=function(t){const e=Uc[t.type];if(!e)return;const n=this[e];if(!n)return;const i=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[Zc];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}}},Wc={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Kc=new rt("HammerGestureConfig");class Yc{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}const Qc=["alt","control","meta","shift"],Xc={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Jc extends Lc{constructor(t){super(t)}supports(t){return null!=Jc.parseEventName(t)}addEventListener(t,e,n){const i=Jc.parseEventName(e),s=Jc.eventCallback(i.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ec().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const i=Jc._normalizeKey(e.pop());let s="";if(Qc.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s+=t+".")}),s+=i,0!=e.length||0===i.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",n=ec().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Qc.forEach(i=>{i!=n&&(0,Xc[i])(t)&&(e+=i+".")}),e+=n}static eventCallback(t,e,n){return i=>{Jc.getEventFullKey(i)===t&&n.runGuarded(()=>e(i))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class td{}class ed extends td{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case Oi.NONE:return e;case Oi.HTML:return e instanceof id?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){let n=null;try{Pi=Pi||new ci(t);let i=e?String(e):"";n=Pi.getInertBodyElement(i);let s=5,o=i;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,i=o,o=n.innerHTML,n=Pi.getInertBodyElement(i)}while(i!==o);const r=new ki,a=r.sanitizeChildren(Mi(n)||n);return bn()&&r.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}finally{if(n){const t=Mi(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}(this._doc,String(e)));case Oi.STYLE:return e instanceof sd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),function(t){if(!(t=String(t).trim()))return"";const e=t.match(Di);return e&&mi(e[1])===e[1]||t.match(Ai)&&function(t){let e=!0,n=!0;for(let i=0;i<t.length;i++){const s=t.charAt(i);"'"===s&&n?e=!e:'"'===s&&e&&(n=!n)}return e&&n}(t)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}(e));case Oi.SCRIPT:if(e instanceof od)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case Oi.URL:return e instanceof ad||e instanceof rd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),mi(String(e)));case Oi.RESOURCE_URL:if(e instanceof ad)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nd)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new id(t)}bypassSecurityTrustStyle(t){return new sd(t)}bypassSecurityTrustScript(t){return new od(t)}bypassSecurityTrustUrl(t){return new rd(t)}bypassSecurityTrustResourceUrl(t){return new ad(t)}}class nd{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class id extends nd{getTypeName(){return"HTML"}}class sd extends nd{getTypeName(){return"Style"}}class od extends nd{getTypeName(){return"Script"}}class rd extends nd{getTypeName(){return"URL"}}class ad extends nd{getTypeName(){return"ResourceURL"}}const ld=En(oi,"browser",[{provide:ze,useValue:Rl},{provide:Fe,useValue:function(){hc.makeCurrent(),yc.init()},multi:!0},{provide:Oa,useClass:mc,deps:[dc]},{provide:dc,useFactory:function(){return document},deps:[]}]);function hd(){return new he}class ud{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:ud,providers:[{provide:Oe,useValue:t.appId},{provide:_c,useExisting:Oe},gc]}}}"undefined"!=typeof window&&window;class cd{}cd.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",cd.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",cd.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",cd.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class dd{}dd.COMPLEX="375ms",dd.ENTERING="225ms",dd.EXITING="195ms";const pd=new rt("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class md{constructor(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&bn()&&!this._isTestEnv()}_isTestEnv(){return this._window&&(this._window.__karma__||this._window.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function fd(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t)}}}function _d(t,e){return class extends t{get color(){return this._color}set color(t){const n=t||e;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),n&&this._elementRef.nativeElement.classList.add(`mat-${n}`),this._color=n)}constructor(...t){super(...t),this.color=e}}}function gd(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=ya(t)}}}class yd{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}yd.ngInjectableDef=ot({factory:function(){return new yd},token:yd,providedIn:"root"});const vd=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class bd{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=vd.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const wd={enterDuration:450,exitDuration:400},Ed=800;class xd{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._eventOptions=!!Bl()&&{passive:!0},this.onMousedown=(t=>{const e=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+Ed;this._target.rippleDisabled||e||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}),this.onTouchStart=(t=>{this._target.rippleDisabled||(this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0,this.fadeInRipple(t.touches[0].clientX,t.touches[0].clientY,this._target.rippleConfig))}),this.onPointerUp=(()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===vd.VISIBLE||t.config.terminateOnPointerUp&&t.state===vd.FADING_IN)&&t.fadeOut()}))}),i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this.onMousedown),this._triggerEvents.set("mouseup",this.onPointerUp),this._triggerEvents.set("mouseleave",this.onPointerUp),this._triggerEvents.set("touchstart",this.onTouchStart),this._triggerEvents.set("touchend",this.onPointerUp))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},wd,n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const o=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),s=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+s*s)}(t,e,i),r=t-i.left,a=e-i.top,l=s.enterDuration/(n.speedFactor||1),h=document.createElement("div");h.classList.add("mat-ripple-element"),h.style.left=`${r-o}px`,h.style.top=`${a-o}px`,h.style.height=`${2*o}px`,h.style.width=`${2*o}px`,h.style.backgroundColor=n.color||null,h.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(h),window.getComputedStyle(h).getPropertyValue("opacity"),h.style.transform="scale(1)";const u=new bd(this,h,n);return u.state=vd.FADING_IN,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this.runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=vd.VISIBLE,n.persistent||t&&this._isPointerDown||u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign({},wd,t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=vd.FADING_OUT,this.runTimeoutOutsideZone(()=>{t.state=vd.HIDDEN,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,n)=>t.addEventListener(n,e,this._eventOptions))}),this._triggerElement=t)}runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,this._eventOptions)})}}const Cd=new rt("mat-ripple-global-options");class Ld{constructor(t,e,n,i,s){this._elementRef=t,this.radius=0,this.speedFactor=1,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new xd(this,e,t,n),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp,speedFactor:this.speedFactor*(this._globalOptions.baseSpeedFactor||1)}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class kd{}class Sd{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}class Td{}const Id=fd(class{});let Pd=0;class Md extends Id{constructor(){super(...arguments),this._labelId=`mat-optgroup-label-${Pd++}`}}let Ad=0;class Dd{constructor(t,e=!1){this.source=t,this.isUserInput=e}}const Od=new rt("MAT_OPTION_PARENT_COMPONENT");class Rd{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._id=`mat-option-${Ad++}`,this._mostRecentViewValue="",this.onSelectionChange=new on,this._stateChanges=new S}get multiple(){return this._parent&&this._parent.multiple}get id(){return this._id}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=ya(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(){const t=this._getHostElement();"function"==typeof t.focus&&t.focus()}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==xa&&t.keyCode!==La||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Dd(this,t))}}class Nd{}const Fd=new rt("mat-label-global-options");var zd=Ji({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Vd(t){return Go(2,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var i=!0,s=t.component;return"@state.start"===e&&(i=!1!==s._animationStart()&&i),"@state.done"===e&&(i=!1!==s._animationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),yo(131072,Ml,[Rn]),(t()(),Ho(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,Yi(e,0,0,io(e,2).transform(n._isHandset)).matches,n._visibility),t(e,3,0,n.message)})}var Bd=$s("mat-tooltip-component",gu,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==io(t,1)._handleBodyInteraction()&&i),i},Vd,zd)),go(1,49152,null,0,gu,[Rn,oh],null,null)],null,function(t,e){t(e,0,0,"visible"===io(e,1)._visibility?1:null)})},{},{},[]),jd=n("4R65");class Hd{}class Ud{}class Zd{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Zd?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Zd;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Zd?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;0===(t=t.filter(t=>-1===s.indexOf(t))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Gd{encodeKey(t){return $d(t)}encodeValue(t){return $d(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function $d(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class qd{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Gd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const i=t.indexOf("="),[s,o]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],r=n.get(s)||[];r.push(o),n.set(s,r)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new qd({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=null)}}function Wd(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Kd(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yd(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Qd{constructor(t,e,n,i){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,s=i):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.params&&(this.params=s.params)),this.headers||(this.headers=new Zd),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new qd,this.urlWithParams=e}serializeBody(){return null===this.body?null:Wd(this.body)||Kd(this.body)||Yd(this.body)||"string"==typeof this.body?this.body:this.body instanceof qd?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:Yd(this.body)?null:Kd(this.body)?this.body.type||null:Wd(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof qd?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,i=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,r=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let a=t.headers||this.headers,l=t.params||this.params;return void 0!==t.setHeaders&&(a=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),a)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),l)),new Qd(e,n,s,{params:l,headers:a,reportProgress:r,responseType:i,withCredentials:o})}}const Xd=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class Jd{constructor(t,e=200,n="OK"){this.headers=t.headers||new Zd,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class tp extends Jd{constructor(t={}){super(t),this.type=Xd.ResponseHeader}clone(t={}){return new tp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ep extends Jd{constructor(t={}){super(t),this.type=Xd.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ep({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class np extends Jd{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ip(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class sp{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Qd)i=t;else{let s=void 0;s=n.headers instanceof Zd?n.headers:new Zd(n.headers);let o=void 0;n.params&&(o=n.params instanceof qd?n.params:new qd({fromObject:n.params})),i=new Qd(t,e,void 0!==n.body?n.body:null,{headers:s,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=Jl(i).pipe(function(t,e){return $(t,void 0,1)}(t=>this.handler.handle(t)));if(t instanceof Qd||"events"===n.observe)return s;const o=s.pipe(vh(t=>t instanceof ep));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe(j(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe(j(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new qd).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,ip(n,e))}post(t,e,n={}){return this.request("POST",t,ip(n,e))}put(t,e,n={}){return this.request("PUT",t,ip(n,e))}}class op{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const rp=new rt("HTTP_INTERCEPTORS");class ap{intercept(t,e){return e.handle(t)}}const lp=/^\)\]\}',?\n/;class hp{}class up{constructor(){}build(){return new XMLHttpRequest}}class cp{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let s=null;const o=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,i=n.statusText||"OK",o=new Zd(n.getAllResponseHeaders()),r=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new tp({headers:o,status:e,statusText:i,url:r})},r=()=>{let{headers:i,status:s,statusText:r,url:a}=o(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let h=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(lp,"");try{l=""!==l?JSON.parse(l):null}catch(e){l=t,h&&(h=!1,l={error:e,text:l})}}h?(e.next(new ep({body:l,headers:i,status:s,statusText:r,url:a||void 0})),e.complete()):e.error(new np({error:l,headers:i,status:s,statusText:r,url:a||void 0}))},a=t=>{const i=new np({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error"});e.error(i)};let l=!1;const h=i=>{l||(e.next(o()),l=!0);let s={type:Xd.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(s.total=i.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},u=t=>{let n={type:Xd.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",r),n.addEventListener("error",a),t.reportProgress&&(n.addEventListener("progress",h),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:Xd.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("load",r),t.reportProgress&&(n.removeEventListener("progress",h),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.abort()}})}}const dp=new rt("XSRF_COOKIE_NAME"),pp=new rt("XSRF_HEADER_NAME");class mp{}class fp{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=el(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class _p{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null===i||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}class gp{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(rp,[]);this.chain=t.reduceRight((t,e)=>new op(t,e),this.backend)}return this.chain.handle(t)}}class yp{static disable(){return{ngModule:yp,providers:[{provide:_p,useClass:ap}]}}static withOptions(t={}){return{ngModule:yp,providers:[t.cookieName?{provide:dp,useValue:t.cookieName}:[],t.headerName?{provide:pp,useValue:t.headerName}:[]]}}}class vp{}class bp extends S{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new C;return this._value}next(t){super.next(this._value=t)}}function wp(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),Z(t,void 0).lift(new Ep(e))}class Ep{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new xp(t,this.resultSelector))}}class xp extends y{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;l(t)?e.push(new Lp(t)):e.push("function"==typeof t[D]?new Cp(t[D]()):new kp(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let i=!1;const s=[];for(let o=0;o<e;o++){let e=t[o],r=e.next();if(e.hasCompleted()&&(i=!0),r.done)return void n.complete();s.push(r.value)}this.resultSelector?this._tryresultSelector(s):n.next(s),i&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}class Cp{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class Lp{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[D](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class kp extends B{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[D](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,i,s){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return V(this,this.observable,this,e)}}class Sp{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Tp(t,this.compare,this.keySelector))}}class Tp extends y{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e=t;if(this.keySelector&&(e=p(this.keySelector)(t))===u)return this.destination.error(u.e);let n=!1;if(this.hasKey){if((n=p(this.compare)(this.key,e))===u)return this.destination.error(u.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))}}function Ip(t,e){return"function"==typeof e?n=>n.pipe(Ip((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))))):e=>e.lift(new Pp(t))}class Pp{constructor(t){this.project=t}call(t,e){return e.subscribe(new Mp(t,this.project))}}class Mp extends B{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)}_innerSub(t,e,n){const i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=V(this,t,e,n))}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}}var Ap=n("Yoyx");function Dp(...t){let e;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),0===t.length?Ql:e?Dp(t).pipe(j(t=>e(...t))):new E(e=>new Op(e,t))}class Op extends B{constructor(t,e){super(t),this.sources=e,this.completed=0,this.haveValues=0;const n=e.length;this.values=new Array(n);for(let i=0;i<n;i++){const t=V(this,e[i],null,i);t&&this.add(t)}}notifyNext(t,e,n,i,s){this.values[n]=e,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(t){const{destination:e,haveValues:n,values:i}=this,s=i.length;t._hasValue?(this.completed++,this.completed===s&&(n===s&&e.next(i),e.complete())):e.complete()}}class Rp{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Np extends Rp{get formDirective(){return null}get path(){return null}}function Fp(t){return null==t||0===t.length}const zp=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class Vp{static min(t){return e=>{if(Fp(e.value)||Fp(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(Fp(e.value)||Fp(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return Fp(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return Fp(t.value)?null:zp.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(Fp(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return Vp.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(Fp(t.value))return null;const i=t.value;return e.test(i)?null:{pattern:{requiredPattern:n,actualValue:i}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(Bp);return 0==e.length?null:function(t){return Hp(function(t,n){return e.map(e=>e(t))}(t))}}static composeAsync(t){if(!t)return null;const e=t.filter(Bp);return 0==e.length?null:function(t){return Dp(function(t,n){return e.map(e=>e(t))}(t).map(jp)).pipe(j(Hp))}}}function Bp(t){return null!=t}function jp(t){const e=Pe(t)?G(t):t;if(!Me(e))throw new Error("Expected validator to return Promise or Observable.");return e}function Hp(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}const Up=new rt("NgValueAccessor"),Zp=new rt("CompositionEventMode");class Gp{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=ec()?ec().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}function $p(t){return t.validate?e=>t.validate(e):t}function qp(t){return t.validate?e=>t.validate(e):t}function Wp(){throw new Error("unimplemented")}class Kp extends Rp{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return Wp()}get asyncValidator(){return Wp()}}class Yp{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}const Qp={formControlName:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupName:'\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',formArrayName:'\n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',ngModelGroup:'\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',ngModelWithFormGroup:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n '};class Xp{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Qp.formControlName}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${Qp.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${Qp.ngModelGroup}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${Qp.formControlName}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Qp.formGroupName}`)}static arrayParentException(){throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Qp.formArrayName}`)}static disabledAttrWarning(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")}static ngModelWarning(t){console.warn(`\n It looks like you're using ngModel on the same form field as ${t}. \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `)}}function Jp(t,e){return[...e.path,t]}function tm(t,e){t||sm(e,"Cannot find control with"),e.valueAccessor||sm(e,"No value accessor for form control with"),t.validator=Vp.compose([t.validator,e.validator]),t.asyncValidator=Vp.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&em(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&em(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function em(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function nm(t,e){null==t&&sm(e,"Cannot find control with"),t.validator=Vp.compose([t.validator,e.validator]),t.asyncValidator=Vp.composeAsync([t.asyncValidator,e.asyncValidator])}function im(t){return sm(t,"There is no FormControl instance attached to form control element with")}function sm(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function om(t){return null!=t?Vp.compose(t.map($p)):null}function rm(t){return null!=t?Vp.composeAsync(t.map(qp)):null}function am(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!vt(e,n.currentValue)}const lm=[class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=function(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=(e=>{this.value=this._getOptionValue(e),t(this.value)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=((t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)})}else e=((t,e)=>{t._setSelected(!1)});this._optionMap.forEach(e)}registerOnChange(t){this.onChange=(e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const i=t.item(e),s=this._getOptionValue(i.value);n.push(s)}}else{const t=e.options;for(let e=0;e<t.length;e++){const i=t.item(e);if(i.selected){const t=this._getOptionValue(i.value);n.push(t)}}}this.value=n,t(n)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},class{constructor(t,e,n,i){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=i,this.onChange=(()=>{}),this.onTouched=(()=>{})}ngOnInit(){this._control=this._injector.get(Kp),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=(()=>{t(this.value),this._registry.select(this)})}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')}}];function hm(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function um(t,e){if(!e)return null;Array.isArray(e)||sm(t,"Value accessor was not provided as an array for form control with");let n=void 0,i=void 0,s=void 0;return e.forEach(e=>{e.constructor===Gp?n=e:function(t){return lm.some(e=>t.constructor===e)}(e)?(i&&sm(t,"More than one built-in value accessor matches form control with"),i=e):(s&&sm(t,"More than one custom value accessor matches form control with"),s=e)}),s||i||n||(sm(t,"No valid value accessor for form control with"),null)}function cm(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function dm(t,e,n,i){bn()&&"never"!==i&&((null!==i&&"once"!==i||e._ngModelWarningSentOnce)&&("always"!==i||n._ngModelWarningSent)||(Xp.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}class pm extends Np{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Jp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return om(this._validators)}get asyncValidator(){return rm(this._asyncValidators)}_checkParentType(){}}class mm{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class fm extends mm{constructor(t){super(t)}}class _m extends mm{constructor(t){super(t)}}const gm="VALID",ym="INVALID",vm="PENDING",bm="DISABLED";function wm(t){const e=xm(t)?t.validators:t;return Array.isArray(e)?om(e):e||null}function Em(t,e){const n=xm(e)?e.asyncValidators:t;return Array.isArray(n)?rm(n):n||null}function xm(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class Cm{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=(()=>{}),this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===gm}get invalid(){return this.status===ym}get pending(){return this.status==vm}get disabled(){return this.status===bm}get enabled(){return this.status!==bm}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=wm(t)}setAsyncValidators(t){this.asyncValidator=Em(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=vm,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){this.status=bm,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){this.status=gm,this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==gm&&this.status!==vm||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?bm:gm}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=vm;const e=jp(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof km?t.controls[e]||null:t instanceof Sm&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new on,this.statusChanges=new on}_calculateStatus(){return this._allControlsDisabled()?bm:this.errors?ym:this._anyControlsHaveStatus(vm)?vm:this._anyControlsHaveStatus(ym)?ym:gm}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){xm(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}}class Lm extends Cm{constructor(t=null,e,n){super(wm(e),Em(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=(()=>{})}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class km extends Cm{constructor(t,e,n){super(wm(e),Em(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof Lm?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,i)=>{e=e||this.contains(i)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class Sm extends Cm{constructor(t,e,n){super(wm(e),Em(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this.controls.map(t=>t instanceof Lm?t.value:t.getRawValue())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const Tm=Promise.resolve(null);class Im extends Np{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new on,this.form=new km({},om(t),rm(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Tm.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),tm(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Tm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),cm(this._directives,t)})}addFormGroup(t){Tm.then(()=>{const e=this._findContainer(t.path),n=new km({});nm(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Tm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){Tm.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,hm(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}const Pm=new rt("NgModelWithFormControlWarning");class Mm extends Kp{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new on,this._ngModelWarningSent=!1,this._rawValidators=t||[],this._rawAsyncValidators=e||[],this.valueAccessor=um(this,n)}set isDisabled(t){Xp.disabledAttrWarning()}ngOnChanges(t){this._isControlChanged(t)&&(tm(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),am(t,this.viewModel)&&(dm("formControl",Mm,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}get path(){return[]}get validator(){return om(this._rawValidators)}get asyncValidator(){return rm(this._rawAsyncValidators)}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}Mm._ngModelWarningSentOnce=!1;class Am extends Np{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new on}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return tm(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){cm(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);nm(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);nm(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,hm(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>im(e)),e.valueAccessor.registerOnTouched(()=>im(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&tm(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=om(this._validators);this.form.validator=Vp.compose([this.form.validator,t]);const e=rm(this._asyncValidators);this.form.asyncValidator=Vp.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||Xp.missingFormException()}}class Dm extends pm{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){Rm(this._parent)&&Xp.groupParentException()}}class Om extends Np{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Jp(this.name,this._parent)}get validator(){return om(this._validators)}get asyncValidator(){return rm(this._asyncValidators)}_checkParentType(){Rm(this._parent)&&Xp.arrayParentException()}}function Rm(t){return!(t instanceof Dm||t instanceof Am||t instanceof Om)}class Nm extends Kp{constructor(t,e,n,i,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new on,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=um(this,i)}set isDisabled(t){Xp.disabledAttrWarning()}ngOnChanges(t){this._added||this._setUpControl(),am(t,this.viewModel)&&(dm("formControlName",Nm,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Jp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return om(this._rawValidators)}get asyncValidator(){return rm(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof Dm)&&this._parent instanceof pm?Xp.ngModelGroupException():this._parent instanceof Dm||this._parent instanceof Am||this._parent instanceof Om||Xp.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}Nm._ngModelWarningSentOnce=!1;class Fm{group(t,e=null){const n=this._reduceControls(t);return new km(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)}control(t,e,n){return new Lm(t,e,n)}array(t,e,n){const i=t.map(t=>this._createControl(t));return new Sm(i,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof Lm||t instanceof km||t instanceof Sm?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class zm{}class Vm{}class Bm{static withConfig(t){return{ngModule:Bm,providers:[{provide:Pm,useValue:t.warnOnNgModelWithFormControl}]}}}n("INa4");var jm=function(){function t(){}return t.mapToArray=function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},t.handleEvent=function(t,e,n){0<e.observers.length&&t.run(function(){e.emit(n)})},t}(),Hm=function(){function t(t,e){this.element=t,this.zone=e,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=Object(jd.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new on,this.zoomChange=new on,this.centerChange=new on,this.onClick=new on,this.onDoubleClick=new on,this.onMouseDown=new on,this.onMouseUp=new on,this.onMouseMove=new on,this.onMouseOver=new on,this.onMapMove=new on,this.onMapMoveStart=new on,this.onMapMoveEnd=new on,this.onMapZoom=new on,this.onMapZoomStart=new on,this.onMapZoomEnd=new on}return t.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){t.map=Object(jd.map)(t.element.nativeElement,t.options),t.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)},t.prototype.ngOnChanges=function(t){t.zoom&&t.center&&null!=this.zoom&&null!=this.center?this.setView(t.center.currentValue,t.zoom.currentValue):t.zoom?this.setZoom(t.zoom.currentValue):t.center&&this.setCenter(t.center.currentValue),t.fitBounds&&this.setFitBounds(t.fitBounds.currentValue),t.maxBounds&&this.setMaxBounds(t.maxBounds.currentValue),t.minZoom&&this.setMinZoom(t.minZoom.currentValue),t.maxZoom&&this.setMaxZoom(t.maxZoom.currentValue)},t.prototype.getMap=function(){return this.map},t.prototype.onResize=function(){this.delayResize()},t.prototype.addMapEventListeners=function(){var t=this;this.map.on("click",function(e){return jm.handleEvent(t.zone,t.onClick,e)}),this.map.on("dblclick",function(e){return jm.handleEvent(t.zone,t.onDoubleClick,e)}),this.map.on("mousedown",function(e){return jm.handleEvent(t.zone,t.onMouseDown,e)}),this.map.on("mouseup",function(e){return jm.handleEvent(t.zone,t.onMouseUp,e)}),this.map.on("mouseover",function(e){return jm.handleEvent(t.zone,t.onMouseOver,e)}),this.map.on("mousemove",function(e){return jm.handleEvent(t.zone,t.onMouseMove,e)}),this.map.on("zoomstart",function(e){return jm.handleEvent(t.zone,t.onMapZoomStart,e)}),this.map.on("zoom",function(e){return jm.handleEvent(t.zone,t.onMapZoom,e)}),this.map.on("zoomend",function(e){return jm.handleEvent(t.zone,t.onMapZoomEnd,e)}),this.map.on("movestart",function(e){return jm.handleEvent(t.zone,t.onMapMoveStart,e)}),this.map.on("move",function(e){return jm.handleEvent(t.zone,t.onMapMove,e)}),this.map.on("moveend",function(e){return jm.handleEvent(t.zone,t.onMapMoveEnd,e)}),this.map.on("zoomend moveend",function(){var e=t.map.getZoom();e!==t.zoom&&(t.zoom=e,jm.handleEvent(t.zone,t.zoomChange,e));var n=t.map.getCenter();null==n&&null==t.center||(null!=n&&null!=t.center||n===t.center)&&n.lat===t.center.lat&&n.lng===t.center.lng||(t.center=n,jm.handleEvent(t.zone,t.centerChange,n))})},t.prototype.doResize=function(){var t=this;this.zone.runOutsideAngular(function(){t.map.invalidateSize({})})},t.prototype.delayResize=function(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)},t.prototype.setView=function(t,e){this.map&&null!=t&&null!=e&&this.map.setView(t,e,this.zoomPanOptions)},t.prototype.setZoom=function(t){this.map&&null!=t&&this.map.setZoom(t,this.zoomOptions)},t.prototype.setCenter=function(t){this.map&&null!=t&&this.map.panTo(t,this.panOptions)},t.prototype.setFitBounds=function(t){this.map&&null!=t&&this.map.fitBounds(t,this.fitBoundsOptions)},t.prototype.setMaxBounds=function(t){this.map&&null!=t&&this.map.setMaxBounds(t)},t.prototype.setMinZoom=function(t){this.map&&null!=t&&this.map.setMinZoom(t)},t.prototype.setMaxZoom=function(t){this.map&&null!=t&&this.map.setMaxZoom(t)},t}(),Um=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}(),Zm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();const Gm=function(t,e){switch(typeof t){case"number":this.lonDeg=this.dec2deg(t,this.MAX_LON),this.lonDec=t;break;case"string":this.decode(t)&&(this.lonDeg=t),this.lonDec=this.deg2dec(t,this.MAX_LON)}switch(typeof e){case"number":this.latDeg=this.dec2deg(e,this.MAX_LAT),this.latDec=e;break;case"string":this.decode(e)&&(this.latDeg=e),this.latDec=this.deg2dec(e,this.MAX_LAT)}};Gm.prototype={CHAR_DEG:"\xb0",CHAR_MIN:"'",CHAR_SEC:'"',CHAR_SEP:" ",MAX_LON:180,MAX_LAT:90,lonDec:NaN,latDec:NaN,lonDeg:NaN,latDeg:NaN,dec2deg:function(t,e){const n=t<0?-1:1,i=Math.abs(Math.round(1e6*t));if(i>1e6*e)return NaN;const s=i%1e6/1e6,o=Math.floor(i/1e6)*n,r=Math.floor(60*s);let a="";return a+=o,a+=this.CHAR_DEG,a+=this.CHAR_SEP,a+=r,a+=this.CHAR_MIN,a+=this.CHAR_SEP,(a+=(3600*(s-r/60)).toFixed(2))+this.CHAR_SEC},deg2dec:function(t){const e=this.decode(t);if(!e)return NaN;const n=parseFloat(e[1]),i=parseFloat(e[2]),s=parseFloat(e[3]);return isNaN(n)||isNaN(i)||isNaN(s)?NaN:n+i/60+s/3600},decode:function(t){let e="";return e+="(-?\\d+)",e+=this.CHAR_DEG,e+="\\s*",e+="(\\d+)",e+=this.CHAR_MIN,e+="\\s*",e+="(\\d+(?:\\.\\d+)?)",e+=this.CHAR_SEC,t.match(new RegExp(e))},getLonDec:function(){return this.lonDec},getLatDec:function(){return this.latDec},getLonDeg:function(){return this.lonDeg},getLatDeg:function(){return this.latDeg}};const $m=function(t,e,n){const i=qm(),s=Object(jd.marker)([t,e],{icon:i,draggable:!0});return s.on("dragend",function(t){return n(t)}),s},qm=function(){return Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconAnchor:[13,40]})},Wm={radius:6,fillColor:"#ff7800",color:"#000",weight:1,opacity:1,fillOpacity:.8},Km={color:"#ff7800",weight:5,opacity:.65},Ym=()=>Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconSize:[33,41],iconAnchor:[13,40],popupAnchor:[5,-41]});function Qm(t){try{let e;" "===(t=t.replace(/\s\s+/g," ")).charAt(0)&&(t=t.slice(1,t.length-1)),t=(t=t.replace(",",".")).replace(/[^0-9\-.,\xb0\'"\s]/g,"");let n="",i="",s="",o=t.split(" ");" "===t.charAt(t.length-1)&&(o=o.slice(0,o.length-1)),""===o[o.length-1]&&(o=o.slice(0,o.length-1)),1===o.length&&(-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90")),2===o.length&&(i=o[1],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),3===o.length&&(i=o[1],s=o[2],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),o.length>=4&&(o=o.slice(0,2),-1!==n.indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90"));try{e=t.match(/\s/g).length}catch(t){e=0}if(0===e&&1===o.length);else if(1===e&&o.length>=1)"\xb0"!==(n=n.replace(" ","")).slice(n.length-1,n.length)?n+="\xb0 ":n+=" ";else if(2===e&&o.length>=2)n=n.replace(" ",""),i=i.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ";else{if(!(3===e&&o.length>=3))throw{error:"Can't manage input string."};n=n.replace(" ",""),i=i.replace(" ",""),s=s.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ",'"'!==s.slice(s.length-1,s.length)&&(s+='"')}return n+i+s}catch(e){return t}}class Xm{constructor(t){this.http=t,this.mapQuestApiKey=new bp(""),this.osmNominatimApiUrl="https://nominatim.openstreetmap.org",this.mapQuestNominatimApiUrl="https://open.mapquestapi.com/nominatim/v1/search.php",this.frGeoApiUrl=null}setMapQuestApiKey(t){null!==t&&this.mapQuestApiKey.next(t)}geocode(t,e){return null===t?Xl():"osm"===e.toLowerCase()?this.geocodeUsingOSM(t):"mapquest"===e.toLowerCase()?this.geocodeUsingMapQuest(t):void 0}geocodeSpecificUsingOSM(t,e,n,i,s){const o=`?format=json&addressdetails=1&format=json&polygon_geojson=1${s?"&limit="+s:""}`;if(!(n||e||t||i))return Jl([]);let r=o;return n&&(r+=`&city=${n}`),e&&(r+=`&county=${e}`),t&&(r+=`&country=${t}`),i&&(r+=`&place=${i}`),this.http.get(`${this.osmNominatimApiUrl}/${r}`)}geocodeSpecificUsingMapQuest(t,e,n,i,s,o){const r=`?key=${t}&format=json&addressdetails=1&format=json&polygon_geojson=1${o?"&limit="+o:""}`;if(!(i||n||e||s))return Jl([]);let a=r;return i&&(a+=`&city=${i}`),n&&(a+=`&county=${n}`),e&&(a+=`&country=${e}`),s&&(a+=`&place=${s}`),this.http.get(`${this.mapQuestNominatimApiUrl}/${a}`)}reverse(t,e,n){return"osm"===n.toLowerCase()?this.reverseUsingOSM(t,e):"mapquest"===n.toLowerCase()?this.reverseUsingMapQuest(t,e):void 0}getReadbleAddress(t,e){if("osm"===e.toLowerCase())return this.getNominatimReadbleAddress(t);if("mapquest"===e.toLowerCase()){if(Object(Ap.isDefined)(t.results))return this.getMapQuestReadableAddress(t);if(Object(Ap.isDefined)(t.address))return this.getNominatimReadbleAddress(t)}}geocodeUsingOSM(t){return this.http.get(`${this.osmNominatimApiUrl}/?format=json&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`)}geocodeUsingMapQuest(t,e){const n=`${this.mapQuestNominatimApiUrl}/search.php?key=${this.mapQuestApiKey.getValue()}&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`;return this.http.get(n)}reverseUsingOSM(t,e){return this.http.get(`${this.osmNominatimApiUrl}/reverse?format=json&lat=${t}&lon=${e}&polygon_geojson=1`)}reverseUsingMapQuest(t,e){const n=`${this.mapQuestNominatimApiUrl}/reverse?key=${this.mapQuestApiKey.getValue()}&lat=${t}&lon=${e}`;return this.http.get(n)}getNominatimReadbleAddress(t){let e=null,n=null,i=null,s=null;const o=void 0!==t.address.city?t.address.city:null,r=void 0!==t.address.town?t.address.town:null,a=void 0!==t.address.village?t.address.village:null,l=void 0!==t.address.hamlet?t.address.hamlet:null;o?e=o+(null!==l?` (${t.address.hamlet})`:""):null!==r?e=r+(null!==l?` (${t.address.hamlet})`:""):null!==a?e=a+(null!==l?` (${t.address.hamlet})`:""):null!==t.address.hamlet&&(e=t.address.hamlet),Object(Ap.isDefined)(t.address.suburb)&&Object(Ap.isDefined)(t.address.postcode)&&null!==e?n=t.address.suburb+", "+t.address.postcode:!Object(Ap.isDefined)(t.address.suburb)&&Object(Ap.isDefined)(t.address.postcode)&&null!==e&&(n=t.address.postcode),Object(Ap.isDefined)(t.address.road)?i=t.address.road:Object(Ap.isDefined)(t.address.pedestrian)&&(i=t.address.pedestrian),Object(Ap.isDefined)(t.address.neighbourhood)&&(s=t.address.neighbourhood);const h=t.address.country,u="France"!==h?" ("+h+")":"";return i&&s&&n&&e?i+" ("+s+") "+n+" "+e+u:i&&!s&&n&&e?i+" "+n+" "+e+u:i&&!s&&!n&&e?i+", "+e+u:!i&&s&&n&&e?s+" "+n+" "+e:!i&&!s&&n&&e?n+" "+e+u:i||s||n||!e?t.display_name+u:e+u}getMapQuestReadableAddress(t){const e=t.results[0].locations[0];let n=null,i=null,s=null,o=null;return n=e.adminArea5,i=e.adminArea4,o=e.adminArea6,(s=e.street)&&o&&i&&n?s+" ("+o+") "+i+" "+n:s&&!o&&i&&n?s+" "+i+" "+n:s&&!o&&!i&&n?s+", "+n:!s&&o&&i&&n?o+" "+i+" "+n:!s&&!o&&i&&n?i+" "+n:s||o||i||!n?void 0:n}osmClassFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{let i=0,s=!1;t.forEach(t=>{const n=t.split(":")[0],o=t.split(":")[1];"*"===o?e.class===n&&i++:"!"===o.substr(0,1)?e.class===n&&"!"+e.type===o&&(s=!0):e.class===n&&e.type===o&&i++}),i>0&&!s&&n.push(e)}),Jl(n)):Jl(e)}geometryFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{e.geojson&&-1!==t.indexOf(e.geojson.type.toLowerCase())&&n.push(e)}),n):e}reverseCorrdinatesArray(t){if(t.length>0)return t.forEach(t=>{t.reverse()}),t}simplifyPolyline(t){return t.length>1?[t[0],t[t.length-1]]:t}getInseeData(t,e){return this.http.get(`${this.frGeoApiUrl}/communes?lat=${t}&lon=${e}`).pipe(j(t=>t[0]))}setOsmNominatimApiUrl(t){this.osmNominatimApiUrl=t}setMapQuestNominatimApiUrl(t){this.mapQuestNominatimApiUrl=t}setFrGeoApiUrl(t){this.frGeoApiUrl=t}}Xm.ngInjectableDef=ot({factory:function(){return new Xm(te(sp))},token:Xm,providedIn:"root"});class Jm{constructor(t){this.http=t,this.mapQuestApiKey=null,this.openElevationApiUrl=null,this.elevationApiIoApiUrl=null,this.mapQuestElevationApiUrl=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}getElevation(t,e,n){return"openelevation"===n.toLowerCase()?this.getOpenElevation(t,e):"elevationapiio"===n.toLowerCase()?this.getElevationApiIo(t,e):"mapquest"===n.toLowerCase()&&null!==this.mapQuestApiKey?this.getMapQuestElevation(t,e):Jl(-1)}getOpenElevation(t,e){return this.http.get(`${this.openElevationApiUrl}/lookup?locations=${t},${e}`).pipe(j(t=>t.results[0].elevation))}getElevationApiIo(t,e){return this.http.get(`${this.elevationApiIoApiUrl}?points=${t},${e}`).pipe(j(t=>t.elevations[0].elevation))}getMapQuestElevation(t,e){return this.http.get(`${this.mapQuestElevationApiUrl}/profile?key=${this.mapQuestApiKey}&shapeFormat=raw&latLngCollection=${t},${e}`).pipe(j(t=>t.elevationProfile[0].height))}setOpenElevationApiUrl(t){this.openElevationApiUrl=t}setElevationApiIoApiUrl(t){this.elevationApiIoApiUrl=t}setMapQuestElevationApiUrl(t){this.mapQuestElevationApiUrl=t}}Jm.ngInjectableDef=ot({factory:function(){return new Jm(te(sp))},token:Jm,providedIn:"root"});const tf={PRECISE:"Pr\xe9cise",PLACE:"Lieu-dit",CITY:"Commune",DEPARTEMENT:"D\xe9partement",REGION:"R\xe9gion",COUNTRY:"Pays",OTHER:"Autre/inconnu"};class ef{constructor(t,e,n,i){this.fb=t,this.geocodeService=e,this.elevationService=n,this.zone=i,this.layersToAdd=["osm"],this.osmClassFilter=[],this.geometryFilter=[],this.allowEditDrawnItems=!1,this.marker=!0,this.polyline=!0,this.polygon=!0,this.lngLatInit=[2.98828125,46.5588603],this.zoomInit=4,this.getOsmSimpleLine=!1,this.showLatLngElevationInputs=!0,this.latLngFormat="dec",this.elevationProvider="openElevation",this.geolocationProvider="osm",this.osmNominatimApiUrl="https://nominatim.openstreetmap.org",this.mapQuestNominatimApiUrl="https://open.mapquestapi.com/nominatim/v1",this.openElevationApiUrl="https://api.open-elevation.com/api/v1",this.elevationApiIoApiUrl="https://elevation-api.io/api/elevation",this.mapQuestElevationApiUrl="https://open.mapquestapi.com/elevation/v1",this.frGeoApiUrl="https://geo.api.gouv.fr",this.osmTilesLayerApi="https://{s}.tile.openstreetmap.org",this.height='"400px"',this.width='"100%"',this.placeMarkerWhenReverseGeocoding=!0,this.location=new on,this.httpError=new on,this._location={},this.osmPlace=null,this.inseeData=null,this._geolocatedPhotoLatLng=new on,this.geolocatedPhotoLatLngData=[],this.geolocatedPhotoLatLngDisplayedColumnsTable=["select","fileName","lat","lng","altitude"],this.isLoadingAddress=!1,this.isLoadingLatitude=!1,this.isLoadingLongitude=!1,this.isLoadingElevation=!1,this.geoSearchSubscription=new f,this.latDmsInputSubscription=new f,this.lngDmsInputSubscription=new f,this.elevationInputSubscription=new f,this.mapLat=0,this.mapLng=0,this.osmLayer=Object(jd.tileLayer)(`${this.osmTilesLayerApi}/{z}/{x}/{y}.png`,{maxZoom:18,attribution:'<a href="https://www.openstreetmap.org/copyright" target="_blank">\xa9 les contributeurs d\u2019OpenStreetMap</a> - Tuiles : <a href="https://www.openstreetmap.fr" target="_blank">OsmFr</a>'}),this.openTopoMapLayer=Object(jd.tileLayer)("https://a.tile.opentopomap.org/{z}/{x}/{y}.png",{maxZoom:17,attribution:'<a href="https://opentopomap.org" target="_blank">\xa9 OpenTopoMap</a>'}),this.googleHybridLayer=Object(jd.tileLayer)("https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"],attribution:'<a href="https://www.google.com" target="_blank">\xa9 Google Maps</a>'}),this.brgmLayer=jd.tileLayer.wms("https://geoservices.brgm.fr/geologie",{version:"1.3.0",layers:"Geologie",attribution:'<a href="https://www.brgm.fr/" target="_blank">\xa9 BRMG</a>'}),this.mapLayers={},this.geoResultsLayer=Object(jd.geoJSON)(null,{style:function(){return{color:"#ff7800",weight:5,opacity:.65}}}),this.geolocatedPhotoLatLngLayer=Object(jd.geoJSON)(),this.drawnItems=new jd.FeatureGroup,this.circleMarkerOpt=Wm,this.geoResultsOpt=Km}set geolocatedPhotoLatLng(t){this._geolocatedPhotoLatLng.emit(t)}set reset(t){!0===t&&this.resetComponent()}set patchAddress(t){t&&null!==t&&this._patchAddress(t)}set setAddress(t){t&&null!==t&&this._setAddress(t)}set patchElevation(t){t&&null!==t&&this._patchElevation(t)}set patchLngLatDec(t){t&&null!==t&&this._patchLatLngDec(t[1],t[0])}set patchGeometry(t){t&&null!==t&&this._patchGeometry(t)}set drawMarker(t){t&&null!==t&&this._drawMarker(t[1],t[0])}set enabled(t){try{!0===t&&this.enableComponent(),!1===t&&this.disableComponent()}catch(t){}}set inputFocus(t){t&&null!==t&&!0===t&&this.setFocusOnInput()}ngOnInit(){switch(this.initApi(),this.latlngFormGroup=this.fb.group({latInput:this.fb.control("",[Vp.required,this.latLngDecValidator]),lngInput:this.fb.control("",[Vp.required,this.latLngDecValidator]),dmsLatInput:this.fb.control("",[Vp.required,this.latLngDmsValidator]),dmsLngInput:this.fb.control("",[Vp.required,this.latLngDmsValidator])}),this.elevationFormGroup=this.fb.group({elevationInput:this.fb.control("",null)}),this.geoSearchFormGroup=this.fb.group({placeInput:this.fb.control("",null)}),this.geoSearchSubscription=this.geoSearchFormGroup.controls.placeInput.valueChanges.pipe(vu(400),t=>t.lift(new Sp(void 0,void 0)),Ip(t=>(this.isLoadingAddress=!0,this.geocodeService.geocode(t,this.geolocationProvider)))).subscribe(t=>{for(const n of t)n.score=0,"fr"===n.address.country_code&&(n.score+=20),"city"===n.type&&(n.score+=10);t.sort((t,e)=>e.score-t.score),this.isLoadingAddress=!1;let e=[];this.osmClassFilter.length>0?this.geocodeService.osmClassFilter(this.osmClassFilter,t).subscribe(t=>{e=t}):e=t,this.geoSearchResults=this.geometryFilter.length>0?this.geocodeService.geometryFilter(this.geometryFilter,t):e},t=>{this.httpError.next(t),this.isLoadingAddress=!1}),this._geolocatedPhotoLatLng.subscribe(t=>{this.geolocatedPhotoLatLngLayer.clearLayers(),this.geolocatedPhotoLatLngData=t,this.geolocatedPhotoLatLngData.forEach(t=>{const e=new Gm(t.lng.deg+"\xb0 "+t.lng.min+"'"+t.lng.sec+'"',t.lat.deg+"\xb0 "+t.lat.min+"'"+t.lat.sec+'"');t.latDec=e.latDec,t.lngDec=e.lonDec;const n=Object(jd.latLng)(t.latDec,t.lngDec),i=new jd.Marker(n,{icon:Ym()});i.bindPopup(`\n <b>Fichier "${t.fileName}"</b><br>\n Lat. : ${e.latDeg}<br />\n Lng. : ${e.lonDeg}<br />\n Alt. : ${t.altitude} m<br /><br />\n <b>Cliquez sur le point pour utiliser ces coordonn\xe9es</b>`).openPopup(),i.on("click",e=>{this.gpsMarkerSetValues(t.latDec,t.lngDec,t.altitude)}),i.on("mouseover",t=>{i.openPopup()}),i.on("mouseout",t=>{i.closePopup()}),i.addTo(this.geolocatedPhotoLatLngLayer)}),this.flyToGeolocatedPhotoItems()}),this.elevationInputSubscription=this.elevationFormGroup.controls.elevationInput.valueChanges.pipe(vu(500)).subscribe(t=>{null!==this.osmPlace&&this.bindLocationOutput([t,this.osmPlace,this.inseeData])}),this.mapOptions={layers:[],zoom:this.zoomInit,center:Object(jd.latLng)({lat:this.lngLatInit[1],lng:this.lngLatInit[0]})},this.drawControlEdit=function(t,e){return new jd.Control.Draw({position:"topleft",draw:{marker:!1,polyline:!1,polygon:!1,rectangle:!1,circle:!1,circlemarker:!1},edit:{featureGroup:t,edit:!0===e&&{},remove:{}}})}(this.drawnItems,this.allowEditDrawnItems),this.drawControlFull=function(t,e,n){return new jd.Control.Draw({position:"topleft",draw:{marker:!!t&&{icon:qm()},polyline:!!e&&{},polygon:!!n&&{showArea:!0,metric:!1},rectangle:!1,circle:!1,circlemarker:!1}})}(this.marker,this.polyline,this.polygon),-1!==this.layersToAdd.indexOf("osm")&&(this.mapLayers.OSM=this.osmLayer),-1!==this.layersToAdd.indexOf("opentopomap")&&(this.mapLayers.OpenTopoMap=this.openTopoMapLayer),-1!==this.layersToAdd.indexOf("google hybrid")&&(this.mapLayers["Google hybride"]=this.googleHybridLayer),-1!==this.layersToAdd.indexOf("brgm")&&(this.mapLayers.BRGM=this.brgmLayer),this.layersToAdd[0]){case"osm":this.mapOptions.layers.push(this.osmLayer);break;case"opentopomap":this.mapOptions.layers.push(this.openTopoMapLayer);break;case"google hybrid":this.mapOptions.layers.push(this.googleHybridLayer);break;case"brgm":this.mapOptions.layers.push(this.brgmLayer)}this.latDmsInputSubscription=this.latlngFormGroup.controls.dmsLatInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLatInput.setValue(Qm(t),{emitEvent:!1})}),this.lngDmsInputSubscription=this.latlngFormGroup.controls.dmsLngInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLngInput.setValue(Qm(t),{emitEvent:!1})})}enableComponent(){this.geoSearchFormGroup.enable(),this.latlngFormGroup.enable(),this.elevationFormGroup.enable(),this.map.dragging.enable(),this.map.touchZoom.enable(),this.map.doubleClickZoom.enable(),this.map.scrollWheelZoom.enable(),this.map.boxZoom.enable(),this.map.keyboard.enable(),this.map.addControl(this.drawControlFull)}disableComponent(){this.geoSearchFormGroup.disable(),this.latlngFormGroup.disable(),this.elevationFormGroup.disable(),this.map.dragging.disable(),this.map.touchZoom.disable(),this.map.doubleClickZoom.disable(),this.map.scrollWheelZoom.disable(),this.map.boxZoom.disable(),this.map.keyboard.disable(),this.map.removeControl(this.drawControlFull)}initApi(){this.geocodeService.setOsmNominatimApiUrl(this.osmNominatimApiUrl),this.geocodeService.setMapQuestNominatimApiUrl(this.mapQuestNominatimApiUrl),this.elevationService.setOpenElevationApiUrl(this.openElevationApiUrl),this.elevationService.setElevationApiIoApiUrl(this.elevationApiIoApiUrl),this.elevationService.setMapQuestElevationApiUrl(this.mapQuestElevationApiUrl),this.geocodeService.setFrGeoApiUrl(this.frGeoApiUrl),this.elevationService.setMapQuestApiKey(this.mapQuestApiKey),this.geocodeService.setMapQuestApiKey(this.mapQuestApiKey)}ngOnDestroy(){this.geoSearchSubscription.unsubscribe(),this.latDmsInputSubscription.unsubscribe(),this.lngDmsInputSubscription.unsubscribe(),this.elevationInputSubscription.unsubscribe(),this._geolocatedPhotoLatLng.unsubscribe()}onMapReady(t){this.map=t,this.map.addControl(jd.control.layers(null,this.mapLayers,{position:"topright"})),this.map.addLayer(this.drawnItems),this.map.addLayer(this.geoResultsLayer),this.map.addLayer(this.geolocatedPhotoLatLngLayer),this.map.addControl(this.drawControlFull),this.map.on("draw:created",t=>{if(this.drawnItem=t.layer,this.drawType=t.layerType,this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE,"marker"===this.drawType){const t=this.drawnItem._latlng;$m(t.lat,t.lng,t=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE}).addTo(this.drawnItems)}else this.inputValuePrepend="G\xe9om\xe9trie avec comme centro\xefde ",this.drawnItems.addLayer(this.drawnItem);this.drawnItems.getLayers().length>0&&this.setMapEditMode(),1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:edited",t=>{this.drawnItem=t.layer,this.drawType=t.layerType,1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:deleted",t=>{this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.resetLocation(),this.setMapDrawMode(),this.zone.run(()=>{this.clearForm()}),this.location.next(null)}),this.redrawMap(100)}redrawMap(t){t?window.setTimeout(()=>this.map.invalidateSize(),t):this.map.invalidateSize()}setMapEditMode(){this.map.removeControl(this.drawControlFull),this.map.addControl(this.drawControlEdit)}setMapDrawMode(){this.map.removeControl(this.drawControlEdit),this.map.addControl(this.drawControlFull)}flyToDrawnItems(t=14){const e=this.drawnItems.getBounds();this.map.flyToBounds(e,{maxZoom:t,animate:!1})}flyToGeoResultsItems(){const t=this.geoResultsLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}flyToGeolocatedPhotoItems(){const t=this.geolocatedPhotoLatLngLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}addMarkerFromDmsCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Gm(this.latlngFormGroup.controls.dmsLngInput.value,this.latlngFormGroup.controls.dmsLatInput.value);$m(t.getLatDec(),t.getLonDec(),t=>{this.clearGeoResultsLayer(),this.callGeolocElevationApisUsingLatLngInputsValues(),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE}).addTo(this.drawnItems),this.latlngFormGroup.controls.latInput.setValue(t.getLatDec(),{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(t.getLonDec(),{emitEvent:!1}),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE,this.inputValue=`${this.latlngFormGroup.controls.dmsLatInput.value} ${this.latlngFormGroup.controls.dmsLngInput.value}`,this.flyToDrawnItems()}addMarkerFromLatLngCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Gm(Number(this.latlngFormGroup.controls.lngInput.value),Number(this.latlngFormGroup.controls.latInput.value));$m(t.getLatDec(),t.getLonDec(),t=>{this.clearGeoResultsLayer(),this.callGeolocElevationApisUsingLatLngInputsValues(),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE}).addTo(this.drawnItems),this.latlngFormGroup.controls.dmsLatInput.setValue(t.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(t.getLonDeg(),{emitEvent:!1}),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE,this.inputValue=`N${this.latlngFormGroup.controls.latInput.value} E${this.latlngFormGroup.controls.lngInput.value}`,this.flyToDrawnItems()}addPolyline(t){this.clearDrawnItemsLayer(),this.setMapEditMode(),Object(jd.polyline)(t).addTo(this.drawnItems),this.flyToDrawnItems(18)}callGeolocElevationApisUsingLatLngInputsValues(t=!1,e=!1,n){let i,s,o,r;if(this.osmPlace=null,this.inseeData=null,this.setLatLngInputFromDrawnItems(),this.setLatLngDmsInputFromDrawnItems(),this.inputValue=(null!==this.inputValuePrepend?this.inputValuePrepend:"")+`N${this.latlngFormGroup.controls.latInput.value} E${this.latlngFormGroup.controls.lngInput.value}`,this.inputValuePrepend=null,t&&!e)i=wp(this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(e&&!t)i=wp(this.getElevationFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(t||e){if(t&&e)return}else i=wp(this.getElevationFromInputValue(),this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));this.isLoadingAddress=!e,this.isLoadingElevation=!t,i.subscribe(i=>{this.isLoadingElevation=!1,this.isLoadingAddress=!1,t&&!e?(s=null,o=i[0],r=i[1]):e&&!t?(s=i,o=null,s=i[0],r=i[1]):e||e||(s=i[0],o=i[1],r=i[2]),this.osmPlace=o,this.inseeData=r,t||this.elevationFormGroup.controls.elevationInput.setValue(s,{emitEvent:!1}),e||this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(o,this.geolocationProvider),{emitEvent:!1}),Object(Ap.isDefined)(n)?n(s,o):this.bindLocationOutput([s,o,r])},t=>{this.httpError.next(t),this.isLoadingAddress=!1,this.isLoadingElevation=!1})}setLatLngInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter();this.latlngFormGroup.controls.latInput.setValue(t.lat),this.latlngFormGroup.controls.lngInput.setValue(t.lng)}setLatLngDmsInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter(),e=new Gm(t.lng,t.lat);this.latlngFormGroup.controls.dmsLatInput.patchValue(e.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(e.getLonDeg())}getElevationFromInputValue(){return this.elevationService.getElevation(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.elevationProvider)}reverseGeocodingFromInputValue(){return this.geocodeService.reverse(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.geolocationProvider)}latLngDmsValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\\xb0 [0-9]{1,2}\\' [0-9]{1,2}(\\.[0-9]{1,12})?\\\"").test(t.value)?null:{malformedLatLngDmsFormat:!0}}latLngDecValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}(\\.[0-9]{1,20})?").test(t.value)?null:{malformedLatLngDecFormat:!0}}addressSelectedChanged(t){const e=t.option.value,n=new jd.LatLng(e.boundingbox[0],e.boundingbox[2]),i=new jd.LatLng(e.boundingbox[1],e.boundingbox[3]);this.map.fitBounds(Object(jd.latLngBounds)(n,i)),this.clearGeoResultsLayer(),this.geoResultsLayer.addData(e.geojson),this.flyToGeoResultsItems(),this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(e,this.geolocationProvider),{emitEvent:!1});const s=new Gm(Number(e.lon),Number(e.lat));this.latlngFormGroup.controls.latInput.setValue(e.lat,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e.lon,{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue(s.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(s.getLonDeg(),{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue(e.elevation,{emitEvent:!1}),"LineString"===e.geojson.type?(this.addPolyline(this.geocodeService.reverseCorrdinatesArray(this.getOsmSimpleLine?this.geocodeService.simplifyPolyline(e.geojson.coordinates):e.geojson.coordinates)),this.clearGeoResultsLayer()):this.placeMarkerWhenReverseGeocoding?this.addMarkerFromLatLngCoord():Object(jd.geoJSON)().addTo(this.drawnItems).addData(e.geojson),this.callGeolocElevationApisUsingLatLngInputsValues(!1,!0,t=>{let n;n=Array.isArray(t)?t[0]:t,this.osmPlace=e,this.bindLocationOutput([n,e,this.inseeData])}),this.setLocationAccuracy("Localit\xe9"),this.setVlLocationAccuracy(e),this.inputValue=this.geoSearchFormGroup.controls.placeInput.value}clearForm(){this.latlngFormGroup.controls.latInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.reset("",{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue("",{emitEvent:!1}),this.elevationFormGroup.reset("",{emitEvent:!1}),this.geoSearchFormGroup.controls.placeInput.setValue("",{emitEvent:!1})}clearGeoResultsLayer(){this.geoResultsLayer.clearLayers()}clearDrawnItemsLayer(){this.drawnItems.clearLayers()}resetLocation(){this._location={},this.inputValue=null,this.inputValuePrepend=null}setLocationAccuracy(t){this._location.locationAccuracy=t}setVlLocationAccuracy(t){this._location.vlLocationAccuracy=this.getVlAccuracyByNominatimObject(t)}bindLocationOutput(t){let e,n,i;e=t[0],n=t[1],i=t[2];const s=this.drawnItems.toGeoJSON();this._location.geometry=s.features[0].geometry;const o=this.drawnItems.getBounds().getCenter();if(this._location.centroid={type:"Point",coordinates:[o.lng,o.lat]},this._location.elevation=e,this._location.localityConsistency=!!this._location.localityConsistency||null,this._location.inseeData=i,Object(Ap.isDefined)(n.address)&&(this._location.osmCountry=n.address.country,this._location.osmCountryCode=n.address.country_code,this._location.osmCounty=n.address.county,this._location.osmPostcode=n.address.postcode,n.address.city&&(this._location.locality=n.address.city),n.address.town&&(this._location.locality=n.address.town),n.address.village&&(this._location.locality=n.address.village),this._location.sublocality=n.hamlet,this._location.osmRoad=n.address.road,this._location.osmState=n.address.state,this._location.osmSuburb=n.address.suburb,this._location.osmId=n.osm_id,this._location.osmNeighbourhood=null,this._location.osmPlaceId=n.place_id,this._location.publishedLocation=null,this._location.station=null),Object(Ap.isDefined)(n.results)){const t=n.results[0].locations[0];this._location.osmCountry=t.adminArea1,this._location.osmCountryCode=t.adminArea1,this._location.osmCounty=t.adminArea4,this._location.osmPostcode=t.postalCode,this._location.locality=t.adminArea5,this._location.sublocality=null,this._location.osmRoad=t.street,this._location.osmState=t.adminArea3,this._location.osmSuburb=null,this._location.osmId=null,this._location.osmNeighbourhood=t.adminArea6,this._location.osmPlaceId=null,this._location.publishedLocation=null,this._location.station=null}this._location.inputLocation=null!==this.inputValue?this.inputValue:null,this.location.next(this._location)}getVlAccuracyByNominatimObject(t){const e=t.class;let n;if(-1!==e.toLowerCase().indexOf("way"))return tf.PLACE;switch(e){case"boundary":n=t.address.city||t.address.town||t.address.village||t.address.hamlet?tf.CITY:t.address.county?tf.DEPARTEMENT:t.address.state?tf.REGION:t.address.country?tf.COUNTRY:tf.OTHER;break;case"landuse":case"place":case"amenity":case"building":case"historic":n=tf.PLACE;break;default:n=tf.OTHER}return n}setLatLngInputFormat(t){"dec"!==t&&"dms"!==t||(this.latLngFormat=t)}gpsMarkerSetValues(t,e,n){this.latlngFormGroup.controls.latInput.setValue(t),this.latlngFormGroup.controls.lngInput.setValue(e),this.elevationFormGroup.controls.elevationInput.setValue(n,{emitEvent:!1}),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!0,!1),this.geolocatedPhotoLatLngLayer.clearLayers()}resetComponent(){this.clearForm(),this.resetLocation(),this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.map.flyTo({lat:this.lngLatInit[1],lng:this.lngLatInit[0]},this.zoomInit,{animate:!1})}_patchAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!1})}_setAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!0})}_patchElevation(t){this.elevationFormGroup.controls.elevationInput.setValue(t,{emitEvent:!1})}_patchLatLngDec(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Gm(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg())}_drawMarker(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Gm(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg()),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues()}_patchGeometry(t){this.clearDrawnItemsLayer();for(const e of t){if("point"===e.type.toLowerCase()||"multipoint"===e.type.toLowerCase()){const n=Object(jd.latLng)(e.coordinates[1],e.coordinates[0]);let i;1===t.length?i=$m(e.coordinates[1],e.coordinates[0],()=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.setLocationAccuracy("10 \xe0 100 m"),this._location.vlLocationAccuracy=tf.PRECISE}):t.length>1&&(i=new jd.Marker(n,{icon:qm()})),i.addTo(this.drawnItems)}if("linestring"===e.type.toLowerCase()||"multilinestring"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[1],n[0]));new jd.Polyline(t).addTo(this.drawnItems),this._location.vlLocationAccuracy=tf.PRECISE}if("polygon"===e.type.toLowerCase()||"multipolygon"===e.type.toLowerCase()){let t=[];if("polygon"===e.type.toLowerCase()){for(const n of e.coordinates)t.push(new jd.LatLng(n[1],n[0]));new jd.Polygon(t).addTo(this.drawnItems)}else if("multipolygon"===e.type.toLowerCase()){const n=Array(e.coordinates);for(const e of n)for(const n of e)for(const e of n){t=[];for(const n of e)t.push(new jd.LatLng(n[1],n[0]));new jd.Polygon(t).addTo(this.drawnItems)}}this._location.vlLocationAccuracy=tf.PRECISE}}this.setMapEditMode(),this.flyToDrawnItems()}setFocusOnInput(){this.locationInput.nativeElement.focus()}}class nf{constructor(t){this.geocodeService=t}transform(t,e){return this.geocodeService.getReadbleAddress(t,e)}}class sf{}function of(t){switch(t.length){case 0:return new fa;case 1:return t[0];default:return new _a(t)}}function rf(t,e,n,i,s={},o={}){const r=[],a=[];let l=-1,h=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&h||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,r),a){case ga:a=s[n];break;case ca:a=o[n];break;default:a=e.normalizeStyleValue(n,i,a,r)}u[i]=a}),i||a.push(u),h=u,l=n}),r.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${r.join(t)}`)}return a}function af(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&lf(n,"start",t)));break;case"done":t.onDone(()=>i(n&&lf(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&lf(n,"destroy",t)))}}function lf(t,e,n){const i=n.totalTime,s=hf(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==i?t.totalTime:i,!!n.disabled),o=t._data;return null!=o&&(s._data=o),s}function hf(t,e,n,i,s="",o=0,r){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:s,totalTime:o,disabled:!!r}}function uf(t,e,n){let i;return t instanceof Map?(i=t.get(e))||t.set(e,i=n):(i=t[e])||(i=t[e]=n),i}function cf(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let df=(t,e)=>!1,pf=(t,e)=>!1,mf=(t,e,n)=>[];if("undefined"!=typeof Element){if(df=((t,e)=>t.contains(e)),Element.prototype.matches)pf=((t,e)=>t.matches(e));else{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;e&&(pf=((t,n)=>e.apply(t,[n])))}mf=((t,e,n)=>{let i=[];if(n)i.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&i.push(n)}return i})}let ff=null,_f=!1;function gf(t){ff||(ff=yf()||{},_f=!!ff.style&&"WebkitAppearance"in ff.style);let e=!0;return ff.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in ff.style)&&_f&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in ff.style),e}function yf(){return"undefined"!=typeof document?document.body:null}const vf=pf,bf=df,wf=mf;function Ef(t){const e={};return Object.keys(t).forEach(n=>{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}class xf{}xf.NOOP=new class{validateStyleProperty(t){return gf(t)}matchesElement(t,e){return vf(t,e)}containsElement(t,e){return bf(t,e)}query(t,e,n){return wf(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,s,o=[],r){return new fa(n,i)}};const Cf=1e3,Lf="{{",kf="ng-enter",Sf="ng-leave",Tf="ng-trigger",If=".ng-trigger",Pf="ng-animating",Mf=".ng-animating";function Af(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Df(parseFloat(e[1]),e[2])}function Df(t,e){switch(e){case"s":return t*Cf;default:return t}}function Of(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,s=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Df(parseFloat(n[1]),n[2]);const r=n[3];null!=r&&(s=Df(Math.floor(parseFloat(r)),n[4]));const a=n[5];a&&(o=a)}else i=t;if(!n){let n=!1,o=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:s,easing:o}}(t,e,n)}function Rf(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function Nf(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Rf(t,n);return n}function Ff(t,e){t.style&&Object.keys(e).forEach(n=>{const i=Gf(n);t.style[i]=e[n]})}function zf(t,e){t.style&&Object.keys(e).forEach(e=>{const n=Gf(e);t.style[n]=""})}function Vf(t){return Array.isArray(t)?1==t.length?t[0]:da(t):t}const Bf=new RegExp(`${Lf}\\s*(.+?)\\s*}}`,"g");function jf(t){let e=[];if("string"==typeof t){const n=t.toString();let i;for(;i=Bf.exec(n);)e.push(i[1]);Bf.lastIndex=0}return e}function Hf(t,e,n){const i=t.toString(),s=i.replace(Bf,(t,i)=>{let s=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),s=""),s.toString()});return s==i?t:s}function Uf(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Zf=/-+([a-z0-9])/g;function Gf(t){return t.replace(Zf,(...t)=>t[1].toUpperCase())}function $f(t,e){return 0===t||0===e}function qf(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let o=e[0],r=[];if(i.forEach(t=>{o.hasOwnProperty(t)||r.push(t),o[t]=n[t]}),r.length)for(var s=1;s<e.length;s++){let n=e[s];r.forEach(function(e){n[e]=Kf(t,e)})}}return e}function Wf(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function Kf(t,e){return window.getComputedStyle(t)[e]}const Yf="*",Qf=new Set(["true","1"]),Xf=new Set(["false","0"]);function Jf(t,e){const n=Qf.has(t)||Xf.has(t),i=Qf.has(e)||Xf.has(e);return(s,o)=>{let r=t==Yf||t==s,a=e==Yf||e==o;return!r&&n&&"boolean"==typeof s&&(r=s?Qf.has(t):Xf.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Qf.has(e):Xf.has(e)),r&&a}}const t_=":self",e_=new RegExp(`s*${t_}s*,?`,"g");function n_(t,e,n){return new s_(t).build(e,n)}const i_="";class s_{constructor(t){this._driver=t}build(t,e){const n=new o_(e);return this._resetContextStyleTimingState(n),Wf(this,Vf(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector=i_,t.collectedStyles={},t.collectedStyles[i_]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const s=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,s.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const s=this.visitTransition(t,e);n+=s.queryCount,i+=s.depCount,o.push(s)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:o,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const s=new Set,o=i||{};if(n.styles.forEach(t=>{if(r_(t)){const e=t;Object.keys(e).forEach(t=>{jf(e[t]).forEach(t=>{o.hasOwnProperty(t)||s.add(t)})})}}),s.size){const n=Uf(s.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=Wf(this,Vf(t.animation),e);return{type:1,matchers:function(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>(function(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const s=i[1],o=i[2],r=i[3];e.push(Jf(s,r)),"<"!=o[0]||s==Yf&&r==Yf||e.push(Jf(r,s))})(t,n,e)):n.push(t),n}(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:a_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>Wf(this,t,e)),options:a_(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const s=t.steps.map(t=>{e.currentTime=n;const s=Wf(this,t,e);return i=Math.max(i,e.currentTime),s});return e.currentTime=i,{type:3,steps:s,options:a_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return l_(Of(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=l_(0,0,"");return t.dynamic=!0,t.strValue=i,t}return l_((n=n||Of(i,e)).duration,n.delay,n.easing)}(t.timings,e.errors);let i;e.currentAnimateTimings=n;let s=t.styles?t.styles:pa({});if(5==s.type)i=this.visitKeyframes(s,e);else{let s=t.styles,o=!1;if(!s){o=!0;const t={};n.easing&&(t.easing=n.easing),s=pa(t)}e.currentTime+=n.duration+n.delay;const r=this.visitStyle(s,e);r.isEmptyStep=o,i=r}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==ca?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,s=null;return n.forEach(t=>{if(r_(t)){const e=t,n=e.easing;if(n&&(s=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf(Lf)>=0){i=!0;break}}}),{type:6,styles:n,easing:s,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,s=e.currentTime;n&&s>0&&(s-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],r=o[n];let a=!0;r&&(s!=i&&s>=r.startTime&&i<=r.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${r.startTime}ms" and "${r.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${i}ms"`),a=!1),s=r.startTime),a&&(o[n]={startTime:s,endTime:i}),e.options&&function(i,s,o){const r=e.options.params||{},a=jf(t[n]);a.length&&a.forEach(t=>{r.hasOwnProperty(t)||o.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(0,0,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const s=[];let o=!1,r=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(r_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(r_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),h=0;return null!=l&&(i++,h=n.offset=l),r=r||h<0||h>1,o=o||h<a,a=h,s.push(h),n});r&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const h=t.steps.length;let u=0;i>0&&i<h?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==i&&(u=1/(h-1));const c=h-1,d=e.currentTime,p=e.currentAnimateTimings,m=p.duration;return l.forEach((t,i)=>{const o=u>0?i==c?1:u*i:s[i],r=o*m;e.currentTime=d+p.delay+r,p.duration=r,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:Wf(this,Vf(t.animation),e),options:a_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:a_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:a_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[s,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>t==t_);return e&&(t=t.replace(e_,"")),[t=t.replace(/@\*/g,If).replace(/@\w+/g,t=>If+"-"+t.substr(1)).replace(/:animating/g,Mf),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+s:s,uf(e.collectedStyles,e.currentQuerySelector,{});const r=Wf(this,Vf(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:r,originalSelector:t.selector,options:a_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Of(t.timings,e.errors,!0);return{type:12,animation:Wf(this,Vf(t.animation),e),timings:n,options:null}}}class o_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function r_(t){return!Array.isArray(t)&&"object"==typeof t}function a_(t){return t?(t=Rf(t)).params&&(t.params=function(t){return t?Rf(t):null}(t.params)):t={},t}function l_(t,e,n){return{duration:t,delay:e,easing:n}}function h_(t,e,n,i,s,o,r=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:s,delay:o,totalTime:s+o,easing:r,subTimeline:a}}class u_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const c_=1,d_=new RegExp(":enter","g"),p_=new RegExp(":leave","g");function m_(t,e,n,i,s,o={},r={},a,l,h=[]){return(new f_).buildKeyframes(t,e,n,i,s,o,r,a,l,h)}class f_{buildKeyframes(t,e,n,i,s,o,r,a,l,h=[]){l=l||new u_;const u=new g_(t,e,l,i,s,h,[]);u.options=a,u.currentTimeline.setStyles([o],null,u.errors,a),Wf(this,n,u);const c=u.timelines.filter(t=>t.containsAnimation());if(c.length&&Object.keys(r).length){const t=c[c.length-1];t.allowOnlyTimelineStyles()||t.setStyles([r],null,u.errors,a)}return c.length?c.map(t=>t.buildKeyframes()):[h_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),s=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);s!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const s=null!=n.duration?Af(n.duration):null,o=null!=n.delay?Af(n.delay):null;return 0!==s&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,s,o);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),Wf(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const s=t.options;if(s&&(s.params||s.delay)&&((i=e.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=__);const t=Af(s.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>Wf(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?Af(t.options.delay):0;t.steps.forEach(o=>{const r=e.createSubContext(t.options);s&&r.delayNextStep(s),Wf(this,o,r),i=Math.max(i,r.currentTimeline.currentTime),n.push(r.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Of(e.params?Hf(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(n.duration),this.visitStyle(s,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(s):n.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,s=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*s),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(i+s),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},s=i.delay?Af(i.delay):0;s&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=__);let o=n;const r=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=r.length;let a=null;r.forEach((n,i)=>{e.currentQueryIndex=i;const r=e.createSubContext(t.options,n);s&&r.delayNextStep(s),n===e.element&&(a=r.currentTimeline),Wf(this,t.animation,r),r.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,r.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,s=t.timings,o=Math.abs(s.duration),r=o*(e.currentQueryTotal-1);let a=o*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=r-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const h=l.currentTime;Wf(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-h+(i.startTime-n.currentTimeline.startTime)}}const __={};class g_{constructor(t,e,n,i,s,o,r,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=r,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=__,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new y_(this._driver,e,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=Af(n.duration)),null!=n.delay&&(i.delay=Af(n.delay));const s=n.params;if(s){let t=i.params;t||(t=this.options.params={}),Object.keys(s).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Hf(s[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,s=new g_(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=__,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},s=new v_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,s,o){let r=[];if(i&&r.push(this.element),t.length>0){t=(t=t.replace(d_,"."+this._enterClassName)).replace(p_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),r.push(...e)}return s||0!=r.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),r}}class y_{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new y_(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=c_,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||ca,this._currentKeyframe[t]=ca}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const s=i&&i.params||{},o=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e)).forEach(t=>{n[t]=ca}):Nf(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Hf(o[t],s,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:ca),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((s,o)=>{const r=Nf(s,!0);Object.keys(r).forEach(n=>{const i=r[n];i==ga?t.add(n):i==ca&&e.add(n)}),n||(r.offset=o/this.duration),i.push(r)});const s=t.size?Uf(t.values()):[],o=e.size?Uf(e.values()):[];if(n){const t=i[0],e=Rf(t);t.offset=0,e.offset=1,i=[t,e]}return h_(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class v_ extends y_{constructor(t,e,n,i,s,o,r=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=r,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],o=n+e,r=e/o,a=Nf(t[0],!1);a.offset=0,s.push(a);const l=Nf(t[0],!1);l.offset=b_(r),s.push(l);const h=t.length-1;for(let i=1;i<=h;i++){let r=Nf(t[i],!1);r.offset=b_((e+r.offset*n)/o),s.push(r)}n=o,e=0,i="",t=s}return h_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function b_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class w_{}class E_ extends w_{normalizePropertyName(t,e){return Gf(t)}normalizeStyleValue(t,e,n,i){let s="";const o=n.toString().trim();if(x_[e]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+s}}const x_=function(t){const e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(t=>e[t]=!0),e}();function C_(t,e,n,i,s,o,r,a,l,h,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:s,fromState:n,fromStyles:o,toState:i,toStyles:r,timelines:a,queriedElements:l,preStyleProps:h,postStyleProps:u,totalTime:c,errors:d}}const L_={};class k_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,s){return t.some(t=>t(e,n,i,s))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],s=this._stateStyles[t],o=i?i.buildStyles(e,n):{};return s?s.buildStyles(e,n):o}build(t,e,n,i,s,o,r,a,l){const h=[],u=this.ast.options&&this.ast.options.params||L_,c=this.buildStyles(n,r&&r.params||L_,h),d=a&&a.params||L_,p=this.buildStyles(i,d,h),m=new Set,f=new Map,_=new Map,g="void"===i,y={params:Object.assign({},u,d)},v=m_(t,e,this.ast.animation,s,o,c,p,y,l,h);let b=0;if(v.forEach(t=>{b=Math.max(t.duration+t.delay,b)}),h.length)return C_(e,this._triggerName,n,i,g,c,p,[],[],f,_,b,h);v.forEach(t=>{const n=t.element,i=uf(f,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const s=uf(_,n,{});t.postStyleProps.forEach(t=>s[t]=!0),n!==e&&m.add(n)});const w=Uf(m.values());return C_(e,this._triggerName,n,i,g,c,p,v,w,f,_,b)}}class S_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},i=Rf(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const s=t;Object.keys(s).forEach(t=>{let o=s[t];o.length>1&&(o=Hf(o,i,e)),n[t]=o})}}),n}}class T_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new S_(t.style,t.options&&t.options.params||{})}),I_(this.states,"true","1"),I_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new k_(t,e,this.states))}),this.fallbackTransition=function(e,n){return new k_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},n)}(0,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(s=>s.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function I_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const P_=new u_;class M_{constructor(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=n_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,s=rf(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],s=this._animations[t];let o;const r=new Map;if(s?(o=m_(this._driver,e,s,kf,Sf,{},{},n,P_,i)).forEach(t=>{const e=uf(r,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)}):(i.push("The requested animation doesn't exist or has already been destroyed"),o=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);r.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,ca)})});const a=of(o.map(t=>{const e=r.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const s=hf(e,"","","");return af(this._getPlayer(t),n,s,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const s=this._getPlayer(t);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const A_="ng-animate-queued",D_=".ng-animate-queued",O_="ng-animate-disabled",R_=".ng-animate-disabled",N_="ng-star-inserted",F_=".ng-star-inserted",z_=[],V_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},B_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},j_="__ng_removed";class H_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Rf(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const U_="void",Z_=new H_(U_),G_=new H_("DELETED");class $_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,tg(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=n&&"done"!=n)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const s=uf(this._elementListeners,t,[]),o={name:e,phase:n,callback:i};s.push(o);const r=uf(this._engine.statesByElement,t,{});return r.hasOwnProperty(e)||(tg(t,Tf),tg(t,Tf+"-"+e),r[e]=Z_),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete r[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const s=this._getTrigger(e),o=new W_(this.id,e,t);let r=this._engine.statesByElement.get(t);r||(tg(t,Tf),tg(t,Tf+"-"+e),this._engine.statesByElement.set(t,r={}));let a=r[e];const l=new H_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),r[e]=l,a){if(a===G_)return o}else a=Z_;if(l.value!==U_&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let s=0;s<n.length;s++){const i=n[s];if(!e.hasOwnProperty(i)||t[i]!==e[i])return!1}return!0}(a.params,l.params)){const e=[],n=s.matchStyles(a.value,a.params,e),i=s.matchStyles(l.value,l.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{zf(t,n),Ff(t,i)})}return}const h=uf(this._engine.playersByElement,t,[]);h.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=s.matchTransition(a.value,l.value,t,l.params),c=!1;if(!u){if(!i)return;u=s.fallbackTransition,c=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:o,isFallbackTransition:c}),c||(tg(t,A_),o.onStart(()=>{eg(t,A_)})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),h.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,If,!0).forEach(t=>{if(t[j_])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,i){const s=this._engine.statesByElement.get(t);if(s){const o=[];if(Object.keys(s).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,U_,i);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&of(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const i=e.name;if(n.has(i))return;n.add(i);const s=this._triggers[i].fallbackTransition,o=this._engine.statesByElement.get(t)[i]||Z_,r=new H_(U_),a=new W_(this.id,i,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:i,transition:s,fromState:o,toState:r,player:a,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}this.prepareLeaveAnimationListeners(t),i?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){tg(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const s=n.element,o=this._elementListeners.get(s);o&&o.forEach(e=>{if(e.name==n.triggerName){const i=hf(s,n.triggerName,n.fromState.value,n.toState.value);i._data=t,af(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),!!this._queue.find(e=>e.element===t)||e}}class q_{constructor(t,e){this.driver=t,this._normalizer=e,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=((t,e)=>{})}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new $_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,e)){this._namespaceList.splice(s+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i<t.length;i++){const s=n[t[i]].namespaceId;if(s){const t=this._fetchNamespace(s);t&&e.add(t)}}}return e}trigger(t,e,n,i){if(K_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,n,i),!0}return!1}insertNode(t,e,n,i){if(!K_(e))return;const s=e[j_];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),tg(t,O_)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),eg(t,O_))}removeNode(t,e,n){if(!K_(e))return void this._onRemovalComplete(e,n);const i=t?this._fetchNamespace(t):null;i?i.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[j_]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,s){return K_(e)?this._fetchNamespace(t).listen(e,n,i,s):()=>{}}_buildInstruction(t,e,n,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e)}destroyInnerAnimations(t){let e=this.driver.query(t,If,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Mf,!0)).forEach(t=>this.finishActiveQueriedAnimationOnElement(t))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()});const n=this.statesByElement.get(t);n&&Object.keys(n).forEach(t=>n[t]=G_)}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return of(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[j_];if(e&&e.setForRemoval){if(t[j_]=V_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,R_)&&this.markElementAsDisabled(t,!1),this.driver.query(t,R_,!0).forEach(e=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)tg(this.collectedEnterElements[n],N_);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?of(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new u_,i=[],s=new Map,o=[],r=new Map,a=new Map,l=new Map,h=new Set;this.disabledNodes.forEach(t=>{h.add(t);const e=this.driver.query(t,D_,!0);for(let n=0;n<e.length;n++)h.add(e[n])});const u=yf(),c=Array.from(this.statesByElement.keys()),d=X_(c,this.collectedEnterElements),p=new Map;let m=0;d.forEach((t,e)=>{const n=kf+m++;p.set(e,n),t.forEach(t=>tg(t,n))});const f=[],_=new Set,g=new Set;for(let P=0;P<this.collectedLeaveElements.length;P++){const t=this.collectedLeaveElements[P],e=t[j_];e&&e.setForRemoval&&(f.push(t),_.add(t),e.hasAnimation?this.driver.query(t,F_,!0).forEach(t=>_.add(t)):g.add(t))}const y=new Map,v=X_(c,Array.from(_));v.forEach((t,e)=>{const n=Sf+m++;y.set(e,n),t.forEach(t=>tg(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>eg(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>eg(t,n))}),f.forEach(t=>{this.processLeaveNode(t)})});const b=[],w=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(t=>{const e=t.player,s=t.element;if(b.push(e),this.collectedEnterElements.length){const t=s[j_];if(t&&t.setForMove)return void e.destroy()}if(!u||!this.driver.containsElement(u,s))return void e.destroy();const h=y.get(s),c=p.get(s),d=this._buildInstruction(t,n,c,h);if(!d.errors||!d.errors.length)return t.isFallbackTransition?(e.onStart(()=>zf(s,d.fromStyles)),e.onDestroy(()=>Ff(s,d.toStyles)),void i.push(e)):(d.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(s,d.timelines),o.push({instruction:d,player:e,element:s}),d.queriedElements.forEach(t=>uf(r,t,[]).push(e)),d.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void d.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))}));w.push(d)});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),b.forEach(t=>t.destroy()),this.reportError(t)}const E=new Map,x=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(x.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,E))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{uf(E,e,[]).push(t),t.destroy()})});const C=f.filter(t=>ig(t,a,l)),L=new Map;Q_(L,this.driver,g,l,ca).forEach(t=>{ig(t,a,l)&&C.push(t)});const k=new Map;d.forEach((t,e)=>{Q_(k,this.driver,new Set(t),a,ga)}),C.forEach(t=>{const e=L.get(t),n=k.get(t);L.set(t,Object.assign({},e,n))});const S=[],T=[],I={};o.forEach(t=>{const{element:e,player:o,instruction:r}=t;if(n.has(e)){if(h.has(e))return o.onDestroy(()=>Ff(e,r.toStyles)),o.disabled=!0,o.overrideTotalTime(r.totalTime),void i.push(o);let t=I;if(x.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=x.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>x.set(e,t))}const n=this._buildAnimation(o.namespaceId,r,E,s,k,L);if(o.setRealPlayer(n),t===I)S.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=of(e)),i.push(o)}}else zf(e,r.fromStyles),o.onDestroy(()=>Ff(e,r.toStyles)),T.push(o),h.has(e)&&i.push(o)}),T.forEach(t=>{const e=s.get(t.element);if(e&&e.length){const n=of(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let P=0;P<f.length;P++){const t=f[P],e=t[j_];if(eg(t,Sf),e&&e.hasAnimation)continue;let n=[];if(r.size){let e=r.get(t);e&&e.length&&n.push(...e);let i=this.driver.query(t,Mf,!0);for(let t=0;t<i.length;t++){let e=r.get(i[t]);e&&e.length&&n.push(...e)}}const i=n.filter(t=>!t.destroyed);i.length?ng(this,t,i):this.processLeaveNode(t)}return f.length=0,S.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),S}elementContainsData(t,e){let n=!1;const i=e[j_];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,s){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!s||s==U_;e.forEach(e=>{e.queued||(t||e.triggerName==i)&&o.push(e)})}}return(n||i)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const i=e.element,s=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const r of e.timelines){const t=r.element,a=t!==i,l=uf(n,t,[]);this._getPreviousPlayers(t,a,s,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}zf(i,e.fromStyles)}_buildAnimation(t,e,n,i,s,o){const r=e.triggerName,a=e.element,l=[],h=new Set,u=new Set,c=e.timelines.map(e=>{const c=e.element;h.add(c);const d=c[j_];if(d&&d.removedBeforeQueried)return new fa(e.duration,e.delay);const p=c!==a,m=function(t){const e=[];return function t(e,n){for(let i=0;i<e.length;i++){const s=e[i];s instanceof _a?t(s.players,n):n.push(s)}}((n.get(c)||z_).map(t=>t.getRealPlayer()),e),e}().filter(t=>!!t.element&&t.element===c),f=s.get(c),_=o.get(c),g=rf(0,this._normalizer,0,e.keyframes,f,_),y=this._buildPlayer(e,g,m);if(e.subTimeline&&i&&u.add(c),p){const e=new W_(t,r,c);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{uf(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>(function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e)){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e]){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i})(this.playersByQueriedElement,t.element,t))}),h.forEach(t=>tg(t,Pf));const d=of(c);return d.onDestroy(()=>{h.forEach(t=>eg(t,Pf)),Ff(a,e.toStyles)}),u.forEach(t=>{uf(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new fa(t.duration,t.delay)}}class W_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new fa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>af(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){uf(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function K_(t){return t&&1===t.nodeType}function Y_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Q_(t,e,n,i,s){const o=[];n.forEach(t=>o.push(Y_(t)));const r=[];i.forEach((n,i)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(i,t,s);n&&0!=n.length||(i[j_]=B_,r.push(i))}),t.set(i,o)});let a=0;return n.forEach(t=>Y_(t,o[a++])),r}function X_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),s=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=s.get(e);if(o)return o;const r=e.parentNode;return o=n.has(r)?r:i.has(r)?1:t(r),s.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}const J_="$$classes";function tg(t,e){if(t.classList)t.classList.add(e);else{let n=t[J_];n||(n=t[J_]={}),n[e]=!0}}function eg(t,e){if(t.classList)t.classList.remove(e);else{let n=t[J_];n&&delete n[e]}}function ng(t,e,n){of(n).onDone(()=>t.processLeaveNode(e))}function ig(t,e,n){const i=n.get(t);if(!i)return!1;let s=e.get(t);return s?i.forEach(t=>s.add(t)):e.set(t,i),n.delete(t),!0}class sg{constructor(t,e){this._driver=t,this._triggerCache={},this.onRemovalComplete=((t,e)=>{}),this._transitionEngine=new q_(t,e),this._timelineEngine=new M_(t,e),this._transitionEngine.onRemovalComplete=((t,e)=>this.onRemovalComplete(t,e))}registerTrigger(t,e,n,i,s){const o=t+"-"+i;let r=this._triggerCache[o];if(!r){const t=[],e=n_(this._driver,s,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);r=function(t,e){return new T_(t,e)}(i,e),this._triggerCache[o]=r}this._transitionEngine.registerTrigger(e,i,r)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,s]=cf(n);this._timelineEngine.command(t,e,s,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,s){if("@"==n.charAt(0)){const[t,i]=cf(n);return this._timelineEngine.listen(t,e,i,s)}return this._transitionEngine.listen(t,e,n,i,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}const og=3,rg="animation",ag="animationend",lg=1e3;class hg{constructor(t,e,n,i,s,o,r){this._element=t,this._name=e,this._duration=n,this._delay=i,this._easing=s,this._fillMode=o,this._onDoneFn=r,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=(t=>this._handleCallback(t))}apply(){!function(t,e){const n=fg(t,"").trim();n.length&&(function(t,e){let n=0;for(let i=0;i<t.length;i++)","===t.charAt(i)&&n++}(n),e=`${n}, ${e}`),mg(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),pg(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){ug(this._element,this._name,"paused")}resume(){ug(this._element,this._name,"running")}setPosition(t){const e=cg(this._element,this._name);this._position=t*this._duration,mg(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=parseFloat(t.elapsedTime.toFixed(og))*lg;t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),pg(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=fg(t,"").split(","),i=dg(n,e);i>=0&&(n.splice(i,1),mg(t,"",n.join(",")))}(this._element,this._name))}}function ug(t,e,n){mg(t,"PlayState",n,cg(t,e))}function cg(t,e){const n=fg(t,"");return n.indexOf(",")>0?dg(n.split(","),e):dg([n],e)}function dg(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function pg(t,e,n){n?t.removeEventListener(ag,e):t.addEventListener(ag,e)}function mg(t,e,n,i){const s=rg+e;if(null!=i){const e=t.style[s];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[s]=n}function fg(t,e){return t.style[rg+e]}const _g="forwards",gg="linear",yg=function(){var t={INITIALIZED:1,STARTED:2,FINISHED:3,DESTROYED:4};return t[t.INITIALIZED]="INITIALIZED",t[t.STARTED]="STARTED",t[t.FINISHED]="FINISHED",t[t.DESTROYED]="DESTROYED",t}();class vg{constructor(t,e,n,i,s,o,r){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=s,this._finalStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this.state=0,this.easing=o||gg,this.totalTime=i+s,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this.state>=yg.DESTROYED||(this.state=yg.DESTROYED,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this.state>=yg.FINISHED||(this.state=yg.FINISHED,this._styler.finish(),this._flushStartFns(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this.state>=yg.STARTED}init(){this.state>=yg.INITIALIZED||(this.state=yg.INITIALIZED,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this.state=yg.STARTED),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new hg(this.element,this.animationName,this._duration,this._delay,this.easing,_g,()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this.state>=yg.FINISHED;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:Kf(this.element,n))})}this.currentSnapshot=t}}class bg extends fa{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=Ef(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}const wg="gen_css_kf_",Eg=" ";class xg{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return gf(t)}matchesElement(t,e){return vf(t,e)}containsElement(t,e){return bf(t,e)}query(t,e,n){return wf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){let i=`@keyframes ${e} {\n`,s="";(n=n.map(t=>Ef(t))).forEach(t=>{s=Eg;const e=parseFloat(t.offset);i+=`${s}${100*e}% {\n`,s+=Eg,Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${s}animation-timing-function: ${n};\n`));default:return void(i+=`${s}${e}: ${n};\n`)}}),i+=`${s}}\n`}),i+="}\n";const o=document.createElement("style");return o.innerHTML=i,o}animate(t,e,n,i,s,o=[],r){r&&this._notifyFaultyScrubber();const a=o.filter(t=>t instanceof vg),l={};$f(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=qf(t,e,l));if(0==n)return new bg(t,h);const u=`${wg}${this._count++}`,c=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(c);const d=new vg(t,e,u,n,i,s,h);return d.onDestroy(()=>void c.parentNode.removeChild(c)),d}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class Cg{constructor(t,e,n){this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:Kf(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Lg{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(kg().toString()),this._cssKeyframesDriver=new xg}validateStyleProperty(t){return gf(t)}matchesElement(t,e){return vf(t,e)}containsElement(t,e){return bf(t,e)}query(t,e,n){return wf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,s,o=[],r){if(!r&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,s,o);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};s&&(a.easing=s);const l={},h=o.filter(t=>t instanceof Cg);return $f(n,i)&&h.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])}),e=qf(t,e=e.map(t=>Nf(t,!1)),l),new Cg(t,e,a)}}function kg(){return"undefined"!=typeof Element&&Element.prototype.animate||{}}class Sg extends ha{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:ee.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?da(t):t;return Pg(this._renderer,null,e,"register",[n]),new Tg(e,this._renderer)}}class Tg extends ua{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Ig(this._id,t,e||{},this._renderer)}}class Ig{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Pg(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function Pg(t,e,n,i,s){return t.setProperty(e,`@@${n}:${i}`,s)}const Mg="@",Ag="@.disabled";class Dg{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=((t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)})}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Og("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,s=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,t),e.data.animation.forEach(e=>this.engine.registerTrigger(i,s,t,e.name,e)),new Rg(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class Og{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t){return this.delegate.selectRootElement(t)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==Mg&&e==Ag?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Rg extends Og{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==Mg?"."==e.charAt(1)&&e==Ag?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==Mg){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let s=e.substr(1),o="";return s.charAt(0)!=Mg&&([s,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class Ng extends sg{constructor(t,e){super(t,e)}}function Fg(){return"function"==typeof kg()?new Lg:new xg}function zg(){return new E_}function Vg(t,e,n){return new Dg(t,e,n)}const Bg=new rt("AnimationModuleType");class jg{}class Hg{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}Hg.ngInjectableDef=ot({factory:function(){return new Hg},token:Hg,providedIn:"root"});const Ug=new rt("mat-select-scroll-strategy");function Zg(t){return()=>t.scrollStrategies.reposition()}class Gg{}function $g(t,e){return new E(e?n=>e.schedule(qg,0,{error:t,subscriber:n}):e=>e.error(t))}function qg({error:t,subscriber:e}){e.error(t)}class Wg{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Jl(this.value);case"E":return $g(this.error);case"C":return Xl()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new Wg("N",t):Wg.undefinedValueNotification}static createError(t){return new Wg("E",void 0,t)}static createComplete(){return Wg.completeNotification}}function Kg(t,e=ph){const n=t instanceof Date&&!isNaN(+t)?+t-e.now():Math.abs(t);return t=>t.lift(new Yg(n,e))}Wg.completeNotification=new Wg("C"),Wg.undefinedValueNotification=new Wg("N",void 0);class Yg{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new Qg(t,this.delay,this.scheduler))}}class Qg extends y{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,s=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(s);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else e.active=!1}_schedule(t){this.active=!0,this.add(t.schedule(Qg.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new Xg(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(Wg.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t)}_complete(){this.scheduleNotification(Wg.createComplete())}}class Xg{constructor(t,e){this.time=t,this.notification=e}}let Jg=0;class ty{constructor(t,e){this.source=t,this.option=e}}const ey=gd(class{}),ny=new rt("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});class iy extends ey{constructor(t,e,n){super(),this._changeDetectorRef=t,this._elementRef=e,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new on,this.opened=new on,this.closed=new on,this._classList={},this.id=`mat-autocomplete-${Jg++}`,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=ya(t)}set classList(t){t&&t.length&&(t.split(" ").forEach(t=>this._classList[t.trim()]=!0),this._elementRef.nativeElement.className="")}ngAfterContentInit(){this._keyManager=new Hu(this.options).withWrap(),this._setVisibility()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._classList["mat-autocomplete-visible"]=this.showPanel,this._classList["mat-autocomplete-hidden"]=!this.showPanel,this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new ty(this,t);this.optionSelected.emit(e)}}const sy=48,oy=256,ry=new rt("mat-autocomplete-scroll-strategy");function ay(t){return()=>t.scrollStrategies.reposition()}class ly{constructor(t,e,n,i,s,o,r,a,l,h){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=s,this._scrollStrategy=o,this._dir=r,this._formField=a,this._document=l,this._viewportRuler=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=f.EMPTY,this._closeKeyEventStream=new S,this._onChange=(()=>{}),this._onTouched=(()=>{}),this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=function(t){return new E(e=>{let n;try{n=t()}catch(t){return void e.error(t)}return(n?G(n):Xl()).subscribe(e)})}(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.asObservable().pipe(Th(1),Ip(()=>this.optionSelections)))}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=ya(t)}ngOnDestroy(){this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(vh(()=>this._overlayAttached)),this._closeKeyEventStream,this._outsideClickStream,this._overlayRef?this._overlayRef.detachments().pipe(vh(()=>this._overlayAttached)):Jl()).pipe(j(t=>t instanceof Dd?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}get _outsideClickStream(){return this._document?Q(lh(this._document,"click"),lh(this._document,"touchend")).pipe(vh(t=>{const e=t.target,n=this._formField?this._formField._elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)})):Jl(null)}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e===Ca&&t.preventDefault(),this.panelOpen&&(e===Ca||e===Sa&&t.altKey))this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation();else if(this.activeOption&&e===xa&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=e===Sa||e===Ia;this.panelOpen||e===Ea?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption()}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&document.activeElement===t.target&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this.openPanel())}_handleFocus(){this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0))}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_scrollToOption(){const t=this.autocomplete._keyManager.activeItemIndex||0,e=function(t,e,n,i){const s=t*e;return s<n?s:s+e>n+oy?Math.max(0,s-oy+e):n}(t+function(t,e,n){if(n.length){let i=e.toArray(),s=n.toArray(),o=0;for(let e=0;e<t+1;e++)i[e].group&&i[e].group===s[o]&&o++;return o}return 0}(t,this.autocomplete.options,this.autocomplete.optionGroups),sy,this.autocomplete._getScrollTop());this.autocomplete._setScrollTop(e)}_subscribeToClosingActions(){return Q(this._zone.onStable.asObservable().pipe(Th(1)),this.autocomplete.options.changes.pipe(Iu(()=>this._positionStrategy.reapplyLastPosition()),Kg(0))).pipe(Ip(()=>(this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&this._overlayRef.updatePosition(),this.panelClosingActions)),Th(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!=t&&e.selected&&e.deselect()})}_attachOverlay(){if(!this.autocomplete)throw Error("Attempting to open an undefined instance of `mat-autocomplete`. Make sure that the id passed to the `matAutocomplete` is correct and that you're attempting to open it after the ngAfterContentInit hook.");this._overlayRef?this._overlayRef.updateSize({width:this._getPanelWidth()}):(this._portal=new Oh(this.autocomplete.template,this._viewContainerRef),this._overlayRef=this._overlay.create(this._getOverlayConfig()),this._viewportRuler&&(this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&this._overlayRef&&this._overlayRef.updateSize({width:this._getPanelWidth()})}))),this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const t=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&t!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new Vh({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir})}_getOverlayPosition(){return this._positionStrategy=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]),this._positionStrategy}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption?0:-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}}class hy{}let uy=0;const cy={},dy={setImmediate(t){const e=uy++;return cy[e]=t,e},clearImmediate(t){delete cy[t]}},py=new class extends dh{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,s=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i<s&&(t=e.shift()));if(this.active=!1,n){for(;++i<s&&(t=e.shift());)t.unsubscribe();throw n}}}(class extends uh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=dy.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(dy.clearImmediate(e),t.scheduled=void 0)}}),my=new rt("MAT_MENU_PANEL"),fy=gd(fd(class{}));class _y extends fy{constructor(t,e,n,i){super(),this._elementRef=t,this._focusMonitor=n,this._parentMenu=i,this._hovered=new S,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.monitor(this._getHostElement(),!1),i&&i.addItem&&i.addItem(this),this._document=e}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._getHostElement()),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3;let n="";if(t.childNodes){const i=t.childNodes.length;for(let s=0;s<i;s++)t.childNodes[s].nodeType===e&&(n+=t.childNodes[s].textContent)}return n.trim()}}const gy=new rt("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!0,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}}),yy=2;class vy{constructor(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new S,this._tabSubscription=f.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new S,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new on,this.close=this.closed}get xPosition(){return this._xPosition}set xPosition(t){"before"!==t&&"after"!==t&&function(){throw Error('x-position value must be either \'before\' or after\'.\n Example: <mat-menu x-position="before" #menu="matMenu"></mat-menu>')}(),this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: <mat-menu y-position="above" #menu="matMenu"></mat-menu>')}(),this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=ya(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=ya(t)}set panelClass(t){t&&t.length&&(this._classList=t.split(" ").reduce((t,e)=>(t[e]=!0,t),{}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._keyManager=new Uu(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab"))}ngOnDestroy(){this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._itemChanges.pipe(th(this._items),Ip(t=>Q(...t.map(t=>t._hovered))))}_handleKeydown(t){const e=t.keyCode;switch(e){case Ca:this.closed.emit("keydown"),t.stopPropagation();break;case ka:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ta:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Sa&&e!==Ia||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>this._keyManager.setFocusOrigin(t).setFirstItemActive()):this._keyManager.setFocusOrigin(t).setFirstItemActive()}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${yy+t}`,n=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}addItem(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))}removeItem(t){const e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))}setPositionClasses(t=this.xPosition,e=this.yPosition){const n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}}const by=new rt("mat-menu-scroll-strategy");function wy(t){return()=>t.scrollStrategies.reposition()}const Ey=8;class xy{constructor(t,e,n,i,s,o,r,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=s,this._menuItemInstance=o,this._dir=r,this._focusMonitor=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=f.EMPTY,this._hoverSubscription=f.EMPTY,this._openedByMouse=!1,this.menuOpened=new on,this.onMenuOpen=this.menuOpened,this.menuClosed=new on,this.onMenuClose=this.menuClosed,o&&(o._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}ngAfterContentInit(){this._checkMenu(),this.menu.close.subscribe(t=>{this._destroyMenu(),"click"!==t&&"tab"!==t||!this._parentMenu||this._parentMenu.closed.emit(t)}),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;const t=this._createOverlay();this._setPosition(t.getConfig().positionStrategy),t.attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof vy&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()}_destroyMenu(){if(!this._overlayRef||!this.menuOpen)return;const t=this.menu;this._closeSubscription.unsubscribe(),this._overlayRef.detach(),t instanceof vy?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(vh(t=>"void"===t.toState),Th(1),ql(t.lazyContent._attached)).subscribe(()=>t.lazyContent.detach(),void 0,()=>{this._resetMenu()}):this._resetMenu()):(this._resetMenu(),t.lazyContent&&t.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_resetMenu(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n <mat-menu #menu="matMenu"></mat-menu>\n <button [matMenuTriggerFor]="menu"></button>')}()}_createOverlay(){if(!this._overlayRef){this._portal=new Oh(this.menu.templateRef,this._viewContainerRef);const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef}_getOverlayConfig(){return new Vh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withTransformOriginOn(".mat-menu-panel"),hasBackdrop:null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,n]="before"===this.menu.xPosition?["end","start"]:["start","end"],[i,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[o,r]=[i,s],[a,l]=[e,n],h=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",n=a="end"===e?"start":"end",h="bottom"===i?Ey:-Ey):this.menu.overlapTrigger||(o="top"===i?"bottom":"top",r="top"===s?"bottom":"top"),t.withPositions([{originX:e,originY:o,overlayX:a,overlayY:i,offsetY:h},{originX:n,originY:o,overlayX:l,overlayY:i,offsetY:h},{originX:e,originY:r,overlayX:a,overlayY:s,offsetY:-h},{originX:n,originY:r,overlayX:l,overlayY:s,offsetY:-h}])}_cleanUpSubscriptions(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments();return Q(t,this._parentMenu?this._parentMenu.closed:Jl(),this._parentMenu?this._parentMenu._hovered().pipe(vh(t=>t!==this._menuItemInstance),vh(()=>this._menuOpen)):Jl(),e)}_handleMousedown(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;this.triggersSubmenu()&&(e===Ta&&"ltr"===this.dir||e===ka&&"rtl"===this.dir)&&this.openMenu()}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(vh(t=>t===this._menuItemInstance&&!t.disabled),Kg(0,py)).subscribe(()=>{this._openedByMouse=!0,this.menu instanceof vy&&this.menu._isAnimating?this.menu._animationDone.pipe(Th(1),ql(this._parentMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}}class Cy{}let Ly=0;class ky{constructor(){this.id=`mat-error-${Ly++}`}}class Sy{}function Ty(t){return Error(`A hint was already declared for 'align="${t}"'.`)}class Iy{}class Py{}let My=0;const Ay=.75,Dy=5,Oy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ry=new rt("MAT_FORM_FIELD_DEFAULT_OPTIONS");class Ny extends Oy{constructor(t,e,n,i,s,o,r,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=i,this._defaultOptions=s,this._platform=o,this._ngZone=r,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId=`mat-hint-${My++}`,this._labelId=`mat-form-field-label-${My++}`,this._outlineGapWidth=0,this._outlineGapStart=0,this._initialGapCalculated=!1,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto",this._animationsEnabled="NoopAnimations"!==a}get appearance(){return this._appearance||this._defaultOptions&&this._defaultOptions.appearance||"legacy"}set appearance(t){t!==this._appearance&&"outline"===t&&(this._initialGapCalculated=!1),this._appearance=t}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=ya(t)}get _shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}get _canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${this._control.controlType}`),this._control.stateChanges.pipe(th(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),Q(this._control.ngControl&&this._control.ngControl.valueChanges||Ql,this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>this._changeDetectorRef.markForCheck()),this._hintChildren.changes.pipe(th(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(th(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()})}ngAfterContentChecked(){this._validateControlChild(),this._initialGapCalculated||(this._ngZone?this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.updateOutlineGap())}):Promise.resolve().then(()=>this.updateOutlineGap()))}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!!this._labelChild}_shouldLabelFloat(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,lh(this._label.nativeElement,"transitionend").pipe(Th(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){if(this._hintChildren){let t,e;this._hintChildren.forEach(n=>{if("start"===n.align){if(t||this.hintLabel)throw Ty("start");t=n}else if("end"===n.align){if(e)throw Ty("end");e=n}})}}_syncDescribedByIds(){if(this._control){let t=[];if("hint"===this._getDisplayedMessages()){let e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")}updateOutlineGap(){if("outline"===this.appearance&&this._label&&this._label.nativeElement.children.length){if(this._platform&&!this._platform.isBrowser)return void(this._initialGapCalculated=!0);if(!document.documentElement.contains(this._elementRef.nativeElement))return;const t=this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect()),e=this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());let n=0;for(const i of this._label.nativeElement.children)n+=i.offsetWidth;this._outlineGapStart=e-t-Dy,this._outlineGapWidth=n*Ay+2*Dy}else this._outlineGapStart=0,this._outlineGapWidth=0;this._initialGapCalculated=!0,this._changeDetectorRef.markForCheck()}_getStartEnd(t){return this._dir&&"rtl"===this._dir.value?t.right:t.left}}class Fy{}const zy=!!Bl()&&{passive:!0};class Vy{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Ql;const e=this._monitoredElements.get(t);if(e)return e.subject.asObservable();const n=new S,i="cdk-text-field-autofilled",s=e=>{"cdk-text-field-autofill-start"!==e.animationName||t.classList.contains(i)?"cdk-text-field-autofill-end"===e.animationName&&t.classList.contains(i)&&(t.classList.remove(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!1}))):(t.classList.add(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,zy),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:n,unlisten:()=>{t.removeEventListener("animationstart",s,zy)}}),n.asObservable()}stopMonitoring(t){const e=this._monitoredElements.get(t);e&&(e.unlisten(),e.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}Vy.ngInjectableDef=ot({factory:function(){return new Vy(te(Fl),te(rn))},token:Vy,providedIn:"root"});class By{}const jy=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let Hy=0;const Uy=function(t){return class extends class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}}{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new S}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}();class Zy extends Uy{constructor(t,e,n,i,s,o,r,a,l){super(o,i,s,n),this._elementRef=t,this._platform=e,this.ngControl=n,this._autofillMonitor=a,this._uid=`mat-input-${Hy++}`,this._isServer=!1,this.focused=!1,this.stateChanges=new S,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>Hl().has(t)),this._inputValueAccessor=r||this._elementRef.nativeElement,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{let e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=ya(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=ya(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Hl().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=ya(t)}ngOnInit(){this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()}focus(){this._elementRef.nativeElement.focus()}_focusChanged(t){t===this.focused||this.readonly||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){if(jy.indexOf(this._type)>-1)throw function(t){return Error(`Input type "${t}" isn't supported by matInput.`)}(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}_isTextarea(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){return this.focused||!this.empty}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus()}}class Gy{}const $y=100,qy=10,Wy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ky=new rt("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:$y}}}),Yy="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class Qy extends Wy{constructor(t,e,n,i,s){super(t),this._elementRef=t,this._document=n,this.animationMode=i,this.defaults=s,this._value=0,this._fallbackAnimation=!1,this._noopAnimations="NoopAnimations"===this.animationMode&&!!this.defaults&&!this.defaults._forceAnimations,this._diameter=$y,this.mode="determinate",this._fallbackAnimation=e.EDGE||e.TRIDENT,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth)),t.nativeElement.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}get diameter(){return this._diameter}set diameter(t){this._diameter=va(t),this._fallbackAnimation||Qy.diameters.has(this._diameter)||this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=va(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,va(t)))}get _circleRadius(){return(this.diameter-qy)/2}get _viewBox(){const t=2*this._circleRadius+this.strokeWidth;return`0 0 ${t} ${t}`}get _strokeCircumference(){return 2*Math.PI*this._circleRadius}get _strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null}get _circleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){let t=Qy.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),Qy.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),Qy.diameters.add(this.diameter)}_getAnimationText(){return Yy.replace(/START_VALUE/g,`${.95*this._strokeCircumference}`).replace(/END_VALUE/g,`${.2*this._strokeCircumference}`).replace(/DIAMETER/g,`${this.diameter}`)}}Qy.diameters=new Set([$y]),Qy.styleTag=null;class Xy extends Qy{constructor(t,e,n,i,s){super(t,e,n,i,s),this.mode="indeterminate"}}class Jy{}const tv=new rt("mat-chips-default-options");class ev{}class nv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new iv(t,this.selector,this.caught))}}class iv extends B{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle(),this.add(V(this,e))}}}class sv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new ov(t,this.callback))}}class ov extends y{constructor(t,e){super(t),this.add(new f(e))}}function rv(t){return Error(`Unable to find icon with the name "${t}"`)}function av(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL "+`via Angular's DomSanitizer. Attempted URL was "${t}".`)}function lv(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by "+`Angular's DomSanitizer. Attempted literal was "${t}".`)}class hv{constructor(t){t.nodeName?this.svgElement=t:this.url=t}}class uv{constructor(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e){return this.addSvgIconInNamespace("",t,e)}addSvgIconLiteral(t,e){return this.addSvgIconLiteralInNamespace("",t,e)}addSvgIconInNamespace(t,e,n){return this._addSvgIconConfig(t,e,new hv(n))}addSvgIconLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(Oi.HTML,n);if(!i)throw lv(n);const s=this._createSvgElementForSingleIcon(i);return this._addSvgIconConfig(t,e,new hv(s))}addSvgIconSet(t){return this.addSvgIconSetInNamespace("",t)}addSvgIconSetLiteral(t){return this.addSvgIconSetLiteralInNamespace("",t)}addSvgIconSetInNamespace(t,e){return this._addSvgIconSetConfig(t,new hv(e))}addSvgIconSetLiteralInNamespace(t,e){const n=this._sanitizer.sanitize(Oi.HTML,e);if(!n)throw lv(e);const i=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new hv(i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw av(t);const n=this._cachedIconsByUrl.get(e);return n?Jl(cv(n)):this._loadSvgIconFromConfig(new hv(t)).pipe(Iu(t=>this._cachedIconsByUrl.set(e,t)),j(t=>cv(t)))}getNamedSvgIcon(t,e=""){const n=dv(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);const s=this._iconSetConfigs.get(e);return s?this._getSvgFromIconSetConfigs(t,s):$g(rv(n))}_getSvgFromConfig(t){return t.svgElement?Jl(cv(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Iu(e=>t.svgElement=e),j(t=>cv(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Jl(n):Dp(e.filter(t=>!t.svgElement).map(t=>this._loadSvgIconSetFromConfig(t).pipe(function(t){return function(e){const n=new nv(t),i=e.lift(n);return n.caught=i}}(e=>{const n=this._sanitizer.sanitize(Oi.RESOURCE_URL,t.url);return console.error(`Loading icon set URL: ${n} failed: ${e.message}`),Jl(null)})))).pipe(j(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw rv(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgElement){const e=this._extractSvgIconFromSet(i.svgElement,t);if(e)return e}}return null}_loadSvgIconFromConfig(t){return this._fetchUrl(t.url).pipe(j(t=>this._createSvgElementForSingleIcon(t)))}_loadSvgIconSetFromConfig(t){return t.svgElement?Jl(t.svgElement):this._fetchUrl(t.url).pipe(j(e=>(t.svgElement||(t.svgElement=this._svgElementFromString(e)),t.svgElement)))}_createSvgElementForSingleIcon(t){const e=this._svgElementFromString(t);return this._setSvgAttributes(e),e}_extractSvgIconFromSet(t,e){const n=t.querySelector("#"+e);if(!n)return null;const i=n.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i));const s=this._svgElementFromString("<svg></svg>");return s.appendChild(i),this._setSvgAttributes(s)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString("<svg></svg>");for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),t}_fetchUrl(t){if(!this._httpClient)throw Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.");if(null==t)throw Error(`Cannot fetch icon from URL "${t}".`);const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw av(t);const n=this._inProgressUrlFetches.get(e);if(n)return n;const i=this._httpClient.get(e,{responseType:"text"}).pipe(function(t){return e=>e.lift(new sv(t))}(()=>this._inProgressUrlFetches.delete(e)),st());return this._inProgressUrlFetches.set(e,i),i}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(dv(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}}function cv(t){return t.cloneNode(!0)}function dv(t,e){return t+":"+e}uv.ngInjectableDef=ot({factory:function(){return new uv(te(sp,8),te(td),te(Ol,8))},token:uv,providedIn:"root"});const pv=_d(class{constructor(t){this._elementRef=t}});class mv extends pv{constructor(t,e,n){super(t),this._iconRegistry=e,this._inline=!1,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=ya(t)}get fontSet(){return this._fontSet}set fontSet(t){this._fontSet=this._cleanupFontValue(t)}get fontIcon(){return this._fontIcon}set fontIcon(t){this._fontIcon=this._cleanupFontValue(t)}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnChanges(t){if(t.svgIcon)if(this.svgIcon){const[t,e]=this._splitIconName(this.svgIcon);this._iconRegistry.getNamedSvgIcon(e,t).pipe(Th(1)).subscribe(t=>this._setSvgElement(t),t=>console.log(`Error retrieving icon: ${t.message}`))}else this._clearSvgElement();this._usingFontIcon()&&this._updateFontIconClasses()}ngOnInit(){this._usingFontIcon()&&this._updateFontIconClasses()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n<e.length;n++)e[n].textContent+=" ";this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(;e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||t.removeChild(n)}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();e!=this._previousFontSetClass&&(this._previousFontSetClass&&t.classList.remove(this._previousFontSetClass),e&&t.classList.add(e),this._previousFontSetClass=e),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}}class fv{}const _v="accent",gv="primary",yv=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],vv=_d(fd(gd(class{constructor(t){this._elementRef=t}})));class bv extends vv{constructor(t,e,n,i){super(t),this._platform=e,this._focusMonitor=n,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of yv)this._hasHostAttributes(s)&&t.nativeElement.classList.add(s);this._focusMonitor.monitor(this._elementRef.nativeElement,!0),this.isRoundButton?this.color=_v:this._hasHostAttributes("mat-flat-button")&&(this.color=gv)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}focus(){this._getHostElement().focus()}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}class wv{}class Ev{}class xv{}class Cv{constructor(t){this._viewContainer=t,Cv.mostRecentCellOutlet=this}ngOnDestroy(){Cv.mostRecentCellOutlet===this&&(Cv.mostRecentCellOutlet=null)}}Cv.mostRecentCellOutlet=null;class Lv{}class kv{}var Sv=Ji({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function Tv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Iv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Pv(t){return Go(2,[(t()(),Ts(0,0,null,null,5,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,Tv)),go(3,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Iv)),go(5,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,"indeterminate"===e.component.mode),t(e,3,0,!0),t(e,5,0,!1)},function(t,e){var n=e.component;t(e,0,0,n.diameter,n.diameter,n._viewBox)})}var Mv=Ji({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media screen and (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Av(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null],[2,"_mat-animation-noopable",null]],null,null,Rv,Ov)),go(1,49152,null,0,Sd,[[2,Bg]],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===io(e,1).state,"checked"===io(e,1).state,io(e,1).disabled,"NoopAnimations"===io(e,1)._animationMode)})}function Dv(t){return Go(2,[(t()(),Ss(16777216,null,null,1,null,Av)),go(1,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(5,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,Bg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,io(e,5).unbounded)})}var Ov=Ji({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:7px;left:0;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:3px;left:1px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Rv(t){return Go(2,[],null,null)}var Nv=Ji({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Fv(t){return Go(2,[Oo(402653184,1,{ripple:0}),(t()(),Ts(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(4,212992,[[1,4]],0,Ld,[Mn,rn,Fl,[2,Cd],[2,Bg]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),Ts(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n.isRoundButton||n.isIconButton,io(e,4).unbounded)})}var zv=Ji({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],data:{}});function Vv(t){return Go(2,[Vo(null,0)],null,null)}var Bv=Ji({encapsulation:2,styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none}",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}",".mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],data:{animation:[{type:7,name:"transitionMessages",definitions:[{type:0,name:"enter",styles:{type:6,styles:{opacity:1,transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:[{type:6,styles:{opacity:0,transform:"translateY(-100%)"},offset:null},{type:4,styles:null,timings:"300ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function jv(t){return Go(0,[(t()(),Ts(0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),Ts(1,0,null,null,3,"div",[["class","mat-form-field-outline"]],null,null,null,null,null)),(t()(),Ts(2,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(3,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,3,"div",[["class","mat-form-field-outline mat-form-field-outline-thick"]],null,null,null,null,null)),(t()(),Ts(6,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(7,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(8,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null))],null,function(t,e){var n=e.component;t(e,2,0,n._outlineGapStart),t(e,3,0,n._outlineGapWidth),t(e,6,0,n._outlineGapStart),t(e,7,0,n._outlineGapWidth)})}function Hv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-prefix"]],null,null,null,null,null)),Vo(null,0)],null,null)}function Uv(t){return Go(0,[(t()(),Ts(0,0,null,null,2,null,null,null,null,null,null,null)),Vo(null,2),(t()(),Ho(2,null,["",""]))],null,function(t,e){t(e,2,0,e.component._control.placeholder)})}function Zv(t){return Go(0,[Vo(null,3),(t()(),Ss(0,null,null,0))],null,null)}function Gv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"span",[["aria-hidden","true"],["class","mat-placeholder-required mat-form-field-required-marker"]],null,null,null,null,null)),(t()(),Ho(-1,null,["\xa0*"]))],null,null)}function $v(t){return Go(0,[(t()(),Ts(0,0,[[4,0],["label",1]],null,7,"label",[["class","mat-form-field-label"]],[[8,"id",0],[1,"for",0],[1,"aria-owns",0],[2,"mat-empty",null],[2,"mat-form-field-empty",null],[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,Uv)),go(3,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Zv)),go(5,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Gv)),go(7,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,n._hasLabel()),t(e,3,0,!1),t(e,5,0,!0),t(e,7,0,!n.hideRequiredMarker&&n._control.required&&!n._control.disabled)},function(t,e){var n=e.component;t(e,0,0,n._labelId,n._control.id,n._control.id,n._control.empty&&!n._shouldAlwaysFloat,n._control.empty&&!n._shouldAlwaysFloat,"accent"==n.color,"warn"==n.color)})}function qv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-suffix"]],null,null,null,null,null)),Vo(null,4)],null,null)}function Wv(t){return Go(0,[(t()(),Ts(0,0,[[1,0],["underline",1]],null,1,"div",[["class","mat-form-field-underline"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,0,"span",[["class","mat-form-field-ripple"]],[[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,1,0,"accent"==n.color,"warn"==n.color)})}function Kv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],[[24,"@transitionMessages",0]],null,null,null,null)),Vo(null,5)],null,function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Yv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-hint"]],[[8,"id",0]],null,null,null,null)),(t()(),Ho(1,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n._hintLabelId),t(e,1,0,n.hintLabel)})}function Qv(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"div",[["class","mat-form-field-hint-wrapper"]],[[24,"@transitionMessages",0]],null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Yv)),go(2,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),Vo(null,6),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-hint-spacer"]],null,null,null,null,null)),Vo(null,7)],function(t,e){t(e,2,0,e.component.hintLabel)},function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Xv(t){return Go(2,[Oo(671088640,1,{underlineRef:0}),Oo(402653184,2,{_connectionContainerRef:0}),Oo(402653184,3,{_inputContainerRef:0}),Oo(671088640,4,{_label:0}),(t()(),Ts(4,0,null,null,20,"div",[["class","mat-form-field-wrapper"]],null,null,null,null,null)),(t()(),Ts(5,0,[[2,0],["connectionContainer",1]],null,11,"div",[["class","mat-form-field-flex"]],null,[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==(s._control.onContainerClick&&s._control.onContainerClick(n))&&i),i},null,null)),(t()(),Ss(16777216,null,null,1,null,jv)),go(7,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Hv)),go(9,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(10,0,[[3,0],["inputContainer",1]],null,4,"div",[["class","mat-form-field-infix"]],null,null,null,null,null)),Vo(null,1),(t()(),Ts(12,0,null,null,2,"span",[["class","mat-form-field-label-wrapper"]],null,null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,$v)),go(14,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,qv)),go(16,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Wv)),go(18,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(19,0,null,null,5,"div",[["class","mat-form-field-subscript-wrapper"]],null,null,null,null,null)),go(20,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,Kv)),go(22,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Qv)),go(24,278528,null,0,cl,[On,Dn,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){var n=e.component;t(e,7,0,"outline"==n.appearance),t(e,9,0,n._prefixChildren.length),t(e,14,0,n._hasFloatingLabel()),t(e,16,0,n._suffixChildren.length),t(e,18,0,"outline"!=n.appearance),t(e,20,0,n._getDisplayedMessages()),t(e,22,0,"error"),t(e,24,0,"hint")},null)}var Jv=Ji({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media screen and (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}.mat-menu-panel.ng-animating .mat-menu-item-submenu-trigger{pointer-events:none}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:{type:2,steps:[{type:11,selector:".mat-menu-content",animation:{type:6,styles:{opacity:0},offset:null},options:null},{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},timings:"100ms linear"},{type:3,steps:[{type:11,selector:".mat-menu-content",animation:{type:4,styles:{type:6,styles:{opacity:1},offset:null},timings:"400ms cubic-bezier(0.55, 0, 0.55, 0.2)"},options:null},{type:4,styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null}],options:null},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function tb(t){return Go(0,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.start"],[null,"@transformMenu.done"]],function(t,e,n){var i=!0,s=t.component;return"keydown"===e&&(i=!1!==s._handleKeydown(n)&&i),"click"===e&&(i=!1!==s.closed.emit("click")&&i),"@transformMenu.start"===e&&(i=0!=(s._isAnimating=!0)&&i),"@transformMenu.done"===e&&(i=!1!==s._onAnimationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),Ts(2,0,null,null,1,"div",[["class","mat-menu-content"]],null,null,null,null,null)),Vo(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState)})}function eb(t){return Go(2,[Oo(402653184,1,{templateRef:0}),(t()(),Ss(0,[[1,2]],null,0,null,tb))],null,null)}var nb=Ji({encapsulation:2,styles:[],data:{}});function ib(t){return Go(2,[Vo(null,0),(t()(),Ts(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(2,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,Bg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,io(e,2).unbounded)})}var sb=Ji({encapsulation:2,styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}@media screen and (-ms-high-contrast:active){.mat-autocomplete-panel{outline:solid 1px}}"],data:{}});function ob(t){return Go(0,[(t()(),Ts(0,0,[[2,0],["panel",1]],null,2,"div",[["class","mat-autocomplete-panel"],["role","listbox"]],[[8,"id",0]],null,null,null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),Vo(null,0)],function(t,e){t(e,1,0,"mat-autocomplete-panel",e.component._classList)},function(t,e){t(e,0,0,e.component.id)})}function rb(t){return Go(2,[Oo(402653184,1,{template:0}),Oo(671088640,2,{panel:0}),(t()(),Ss(0,[[1,2]],null,0,null,ob))],null,null)}var ab=Ji({encapsulation:0,styles:["[hidden][_ngcontent-%COMP%]{display:none!important}#geoloc-map[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:200px}#geoloc-map[_ngcontent-%COMP%] #geoloc-map-meta[_ngcontent-%COMP%]{flex:1;padding-left:15px;padding-right:15px;padding-bottom:0}#geoloc-map[_ngcontent-%COMP%] #geoloc-map-meta[_ngcontent-%COMP%] .geolocationInputs[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}#geoloc-map[_ngcontent-%COMP%] #geoloc-map-meta[_ngcontent-%COMP%] .geolocationInputs[_ngcontent-%COMP%] .longitude-input-group[_ngcontent-%COMP%]{margin-left:5px}#geoloc-map[_ngcontent-%COMP%] #geoloc-map-draw[_ngcontent-%COMP%]{position:relative;flex:3}#geoloc-map[_ngcontent-%COMP%] #httpTasksRunningSpinner[_ngcontent-%COMP%]{flex:1}button[_ngcontent-%COMP%] .mini[_ngcontent-%COMP%]{min-width:0;line-height:30px}.geolocatedPhotoMetadataTable[_ngcontent-%COMP%]{width:100%}.sub-map-infos[_ngcontent-%COMP%]{color:#c5c5c5;display:flex;justify-content:space-between;flex-direction:row;padding:5px}.sub-map-infos.has-data[_ngcontent-%COMP%]{color:#000}.lat-lng-dec-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}@media only screen and (max-width:600px){.lat-lng-dec-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%]{justify-content:center}.lat-lng-dec-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%]{margin-left:70px}}@media only screen and (max-width:360px){.lat-lng-dec-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%]{justify-content:center}.lat-lng-dec-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%]{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:37px}.lat-lng-dec-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%] .mat-form-field-wrapper, .lat-lng-dms-wrapper[_ngcontent-%COMP%] .longitude-wrapper[_ngcontent-%COMP%] .mat-form-field-wrapper{max-width:160px}.lat-lng-dec-wrapper[_ngcontent-%COMP%] .latitude-wrapper[_ngcontent-%COMP%], .lat-lng-dms-wrapper[_ngcontent-%COMP%] .latitude-wrapper[_ngcontent-%COMP%]{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:-37px}.lat-lng-dec-wrapper[_ngcontent-%COMP%] .latitude-wrapper[_ngcontent-%COMP%] .mat-form-field-wrapper, .lat-lng-dms-wrapper[_ngcontent-%COMP%] .latitude-wrapper[_ngcontent-%COMP%] .mat-form-field-wrapper{max-width:160px}}"],data:{}});function lb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[8,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function hb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"osm")))})}function ub(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"mapQuest")))})}function cb(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==io(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==io(t,1)._handleKeydown(n)&&i),i},Dv,Mv)),go(1,8568832,[[9,4]],0,Rd,[Mn,Rn,[2,Od],[2,Md]],{value:[0,"value"]},null),(t()(),Ss(16777216,null,0,1,null,hb)),go(3,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,0,1,null,ub)),go(5,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,e.context.$implicit),t(e,3,0,"osm"==n.geolocationProvider),t(e,5,0,"mapQuest"==n.geolocationProvider)},function(t,e){t(e,0,0,io(e,1)._getTabIndex(),io(e,1).selected,io(e,1).multiple,io(e,1).active,io(e,1).id,io(e,1).selected.toString(),io(e,1).disabled.toString(),io(e,1).disabled)})}function db(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[17,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function pb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[14,4]],0,ky,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function mb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[24,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function fb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[21,4]],0,ky,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function _b(t){return Go(0,[(t()(),Ts(0,0,null,null,58,"div",[["class","lat-lng-dec-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,28,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""],["type","button"]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"click"],[null,"mousedown"],[null,"keydown"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),"click"===e&&(i=!1!==n.preventDefault()&&i),i},Fv,Nv)),go(3,180224,null,0,bv,[Mn,Fl,Xu,[2,Bg]],null,null),go(4,1196032,null,0,xy,[ru,Mn,On,by,[2,vy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Vv,zv)),go(6,638976,null,0,mv,[Mn,uv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,21,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(9,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,11,{_control:0}),Oo(335544320,12,{_placeholderChild:0}),Oo(335544320,13,{_labelChild:0}),Oo(603979776,14,{_errorChildren:1}),Oo(603979776,15,{_hintChildren:1}),Oo(603979776,16,{_prefixChildren:1}),Oo(603979776,17,{_suffixChildren:1}),(t()(),Ts(17,16777216,null,1,8,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","latInput"],["matInput",""],["matTooltip","Saisir les coordonn\xe9es g\xe9ographiques"],["placeholder","latitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,23).show()&&i),"keydown"===e&&(i=!1!==io(t,23)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,23)._handleTouchend()&&i),i},null,null)),go(18,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t){return[t]},[Gp]),go(20,671744,null,0,Nm,[[3,Np],[8,null],[8,null],[6,Up],[2,Pm]],{name:[0,"name"]},null),vo(2048,null,Kp,null,[Nm]),go(22,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(23,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(24,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[11,4]],Sy,null,[Zy]),(t()(),Ss(16777216,null,4,1,null,db)),go(27,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,pb)),go(29,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(30,0,null,null,28,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(31,0,null,null,21,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(32,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,18,{_control:0}),Oo(335544320,19,{_placeholderChild:0}),Oo(335544320,20,{_labelChild:0}),Oo(603979776,21,{_errorChildren:1}),Oo(603979776,22,{_hintChildren:1}),Oo(603979776,23,{_prefixChildren:1}),Oo(603979776,24,{_suffixChildren:1}),(t()(),Ts(40,16777216,null,1,8,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","lngInput"],["matInput",""],["matTooltip","Saisir les coordonn\xe9es g\xe9ographiques"],["placeholder","longitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,41)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,41).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,41)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,41)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,45)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,45)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,45)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,46).show()&&i),"keydown"===e&&(i=!1!==io(t,46)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,46)._handleTouchend()&&i),i},null,null)),go(41,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t){return[t]},[Gp]),go(43,671744,null,0,Nm,[[3,Np],[8,null],[8,null],[6,Up],[2,Pm]],{name:[0,"name"]},null),vo(2048,null,Kp,null,[Nm]),go(45,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(46,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(47,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[18,4]],Sy,null,[Zy]),(t()(),Ss(16777216,null,4,1,null,mb)),go(50,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,fb)),go(52,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(53,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""],["type","button"]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(n.preventDefault(),s.addMarkerFromLatLngCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Fv,Nv)),go(54,180224,null,0,bv,[Mn,Fl,Xu,[2,Bg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(55,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,56).show()&&i),"keydown"===e&&(i=!1!==io(t,56)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,56)._handleTouchend()&&i),i},Vv,zv)),go(56,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(57,638976,null,0,mv,[Mn,uv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"latInput"),t(e,22,0,"latitude"),t(e,23,0,"Saisir les coordonn\xe9es g\xe9ographiques"),t(e,27,0,n.isLoadingLatitude),t(e,29,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,43,0,"lngInput"),t(e,45,0,"longitude"),t(e,46,0,"Saisir les coordonn\xe9es g\xe9ographiques"),t(e,50,0,n.isLoadingLongitude),t(e,52,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,54,0,!n.latlngFormGroup.controls.latInput.valid||!n.latlngFormGroup.controls.lngInput.valid,"primary"),t(e,56,0,"Utiliser ces coordonn\xe9es"),t(e,57,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,24).ngClassUntouched,io(e,24).ngClassTouched,io(e,24).ngClassPristine,io(e,24).ngClassDirty,io(e,24).ngClassValid,io(e,24).ngClassInvalid,io(e,24).ngClassPending]),t(e,31,1,["standard"==io(e,32).appearance,"fill"==io(e,32).appearance,"outline"==io(e,32).appearance,"legacy"==io(e,32).appearance,io(e,32)._control.errorState,io(e,32)._canLabelFloat,io(e,32)._shouldLabelFloat(),io(e,32)._hideControlPlaceholder(),io(e,32)._control.disabled,io(e,32)._control.autofilled,io(e,32)._control.focused,"accent"==io(e,32).color,"warn"==io(e,32).color,io(e,32)._shouldForward("untouched"),io(e,32)._shouldForward("touched"),io(e,32)._shouldForward("pristine"),io(e,32)._shouldForward("dirty"),io(e,32)._shouldForward("valid"),io(e,32)._shouldForward("invalid"),io(e,32)._shouldForward("pending"),!io(e,32)._animationsEnabled]),t(e,40,1,[io(e,45)._isServer,io(e,45).id,io(e,45).placeholder,io(e,45).disabled,io(e,45).required,io(e,45).readonly,io(e,45)._ariaDescribedby||null,io(e,45).errorState,io(e,45).required.toString(),io(e,47).ngClassUntouched,io(e,47).ngClassTouched,io(e,47).ngClassPristine,io(e,47).ngClassDirty,io(e,47).ngClassValid,io(e,47).ngClassInvalid,io(e,47).ngClassPending]),t(e,53,0,io(e,54).disabled||null,"NoopAnimations"===io(e,54)._animationMode),t(e,55,0,io(e,57).inline)})}function gb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[31,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function yb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[28,4]],0,ky,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function vb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[38,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function bb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[35,4]],0,ky,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function wb(t){return Go(0,[(t()(),Ts(0,0,null,null,64,"div",[["class","lat-lng-dms-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,31,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""],["type","button"]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"click"],[null,"mousedown"],[null,"keydown"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),"click"===e&&(i=!1!==n.preventDefault()&&i),i},Fv,Nv)),go(3,180224,null,0,bv,[Mn,Fl,Xu,[2,Bg]],null,null),go(4,1196032,null,0,xy,[ru,Mn,On,by,[2,vy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Vv,zv)),go(6,638976,null,0,mv,[Mn,uv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,24,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(9,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,25,{_control:0}),Oo(335544320,26,{_placeholderChild:0}),Oo(335544320,27,{_labelChild:0}),Oo(603979776,28,{_errorChildren:1}),Oo(603979776,29,{_hintChildren:1}),Oo(603979776,30,{_prefixChildren:1}),Oo(603979776,31,{_suffixChildren:1}),(t()(),Ts(17,16777216,null,1,8,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLatInput"],["matInput",""],["matTooltip","Saisir les coordonn\xe9es g\xe9ographiques"],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,23).show()&&i),"keydown"===e&&(i=!1!==io(t,23)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,23)._handleTouchend()&&i),i},null,null)),go(18,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t){return[t]},[Gp]),go(20,671744,null,0,Nm,[[3,Np],[8,null],[8,null],[6,Up],[2,Pm]],{name:[0,"name"]},null),vo(2048,null,Kp,null,[Nm]),go(22,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(23,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(24,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[25,4]],Sy,null,[Zy]),(t()(),Ts(26,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(27,16384,[[30,4]],0,Iy,[],null,null),(t()(),Ho(-1,null,["N\xa0"])),(t()(),Ss(16777216,null,4,1,null,gb)),go(30,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,yb)),go(32,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(33,0,null,null,31,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(34,0,null,null,24,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(35,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,32,{_control:0}),Oo(335544320,33,{_placeholderChild:0}),Oo(335544320,34,{_labelChild:0}),Oo(603979776,35,{_errorChildren:1}),Oo(603979776,36,{_hintChildren:1}),Oo(603979776,37,{_prefixChildren:1}),Oo(603979776,38,{_suffixChildren:1}),(t()(),Ts(43,16777216,null,1,8,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLngInput"],["matInput",""],["matTooltip","Saisir les coordonn\xe9es g\xe9ographiques"],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,44)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,44).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,44)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,44)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,48)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,48)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,48)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,49).show()&&i),"keydown"===e&&(i=!1!==io(t,49)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,49)._handleTouchend()&&i),i},null,null)),go(44,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t){return[t]},[Gp]),go(46,671744,null,0,Nm,[[3,Np],[8,null],[8,null],[6,Up],[2,Pm]],{name:[0,"name"]},null),vo(2048,null,Kp,null,[Nm]),go(48,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(49,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(50,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[32,4]],Sy,null,[Zy]),(t()(),Ts(52,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(53,16384,[[37,4]],0,Iy,[],null,null),(t()(),Ho(-1,null,["E\xa0"])),(t()(),Ss(16777216,null,4,1,null,vb)),go(56,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,bb)),go(58,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(59,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""],["type","button"]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(n.preventDefault(),s.addMarkerFromDmsCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Fv,Nv)),go(60,180224,null,0,bv,[Mn,Fl,Xu,[2,Bg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(61,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,62).show()&&i),"keydown"===e&&(i=!1!==io(t,62)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,62)._handleTouchend()&&i),i},Vv,zv)),go(62,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(63,638976,null,0,mv,[Mn,uv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"dmsLatInput"),t(e,22,0,"(deg)\xb0 (min)' (sec)\""),t(e,23,0,"Saisir les coordonn\xe9es g\xe9ographiques"),t(e,30,0,n.isLoadingLatitude),t(e,32,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,46,0,"dmsLngInput"),t(e,48,0,"(deg)\xb0 (min)' (sec)\""),t(e,49,0,"Saisir les coordonn\xe9es g\xe9ographiques"),t(e,56,0,n.isLoadingLongitude),t(e,58,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,60,0,!n.latlngFormGroup.controls.dmsLatInput.valid||!n.latlngFormGroup.controls.dmsLngInput.valid,"primary"),t(e,62,0,"Utiliser ces coordonn\xe9es"),t(e,63,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,24).ngClassUntouched,io(e,24).ngClassTouched,io(e,24).ngClassPristine,io(e,24).ngClassDirty,io(e,24).ngClassValid,io(e,24).ngClassInvalid,io(e,24).ngClassPending]),t(e,34,1,["standard"==io(e,35).appearance,"fill"==io(e,35).appearance,"outline"==io(e,35).appearance,"legacy"==io(e,35).appearance,io(e,35)._control.errorState,io(e,35)._canLabelFloat,io(e,35)._shouldLabelFloat(),io(e,35)._hideControlPlaceholder(),io(e,35)._control.disabled,io(e,35)._control.autofilled,io(e,35)._control.focused,"accent"==io(e,35).color,"warn"==io(e,35).color,io(e,35)._shouldForward("untouched"),io(e,35)._shouldForward("touched"),io(e,35)._shouldForward("pristine"),io(e,35)._shouldForward("dirty"),io(e,35)._shouldForward("valid"),io(e,35)._shouldForward("invalid"),io(e,35)._shouldForward("pending"),!io(e,35)._animationsEnabled]),t(e,43,1,[io(e,48)._isServer,io(e,48).id,io(e,48).placeholder,io(e,48).disabled,io(e,48).required,io(e,48).readonly,io(e,48)._ariaDescribedby||null,io(e,48).errorState,io(e,48).required.toString(),io(e,50).ngClassUntouched,io(e,50).ngClassTouched,io(e,50).ngClassPristine,io(e,50).ngClassDirty,io(e,50).ngClassValid,io(e,50).ngClassInvalid,io(e,50).ngClassPending]),t(e,59,0,io(e,60).disabled||null,"NoopAnimations"===io(e,60)._animationMode),t(e,61,0,io(e,63).inline)})}function Eb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Pv,Sv)),go(1,16384,[[47,4]],0,Py,[],null,null),go(2,49152,null,0,Xy,[Mn,Fl,[2,Ol],[2,Bg],Ky],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function xb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[["matSuffix",""]],null,null,null,null,null)),go(1,16384,[[47,4]],0,Py,[],null,null),(t()(),Ho(-1,null,["m"]))],null,null)}function Cb(t){return Go(0,[(t()(),Ts(0,0,null,null,45,"div",[["class","geolocationInputs"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,2).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,2).onReset()&&i),i},null,null)),go(2,540672,null,0,Am,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Np,null,[Am]),go(4,16384,null,0,_m,[[4,Np]],null,null),(t()(),Ss(16777216,null,null,1,null,_b)),go(6,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,wb)),go(8,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(9,0,null,null,10,"mat-menu",[],null,null,null,eb,Jv)),go(10,1294336,[["menu",4]],2,vy,[Mn,rn,gy],null,null),Oo(603979776,39,{items:1}),Oo(335544320,40,{lazyContent:0}),vo(2048,null,my,null,[vy]),(t()(),Ts(14,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"],["type","button"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,15)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,15)._handleMouseEnter()&&i),"click"===e&&(n.preventDefault(),i=!1!==s.setLatLngInputFormat("dec")&&i),i},ib,nb)),go(15,180224,[[39,4]],0,_y,[Mn,Ol,Xu,[2,my]],null,null),(t()(),Ho(-1,0,["D\xe9cimal"])),(t()(),Ts(17,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"],["type","button"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,18)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,18)._handleMouseEnter()&&i),"click"===e&&(n.preventDefault(),i=!1!==s.setLatLngInputFormat("dms")&&i),i},ib,nb)),go(18,180224,[[39,4]],0,_y,[Mn,Ol,Xu,[2,my]],null,null),(t()(),Ho(-1,0,["Degr\xe9s minutes secondes"])),(t()(),Ts(20,0,null,null,25,"div",[["class","elevationInput"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,21).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,21).onReset()&&i),i},null,null)),go(21,540672,null,0,Am,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Np,null,[Am]),go(23,16384,null,0,_m,[[4,Np]],null,null),(t()(),Ts(24,0,null,null,21,"mat-form-field",[["class","mat-form-field"],["style","width: 100px;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(25,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,41,{_control:0}),Oo(335544320,42,{_placeholderChild:0}),Oo(335544320,43,{_labelChild:0}),Oo(603979776,44,{_errorChildren:1}),Oo(603979776,45,{_hintChildren:1}),Oo(603979776,46,{_prefixChildren:1}),Oo(603979776,47,{_suffixChildren:1}),(t()(),Ts(33,16777216,null,1,8,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","elevationInput"],["matInput",""],["matTooltip","Saisir l'altitude"],["placeholder","altitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,34)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,34).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,34)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,34)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,38)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,38)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,38)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,39).show()&&i),"keydown"===e&&(i=!1!==io(t,39)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,39)._handleTouchend()&&i),i},null,null)),go(34,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t){return[t]},[Gp]),go(36,671744,null,0,Nm,[[3,Np],[8,null],[8,null],[6,Up],[2,Pm]],{name:[0,"name"]},null),vo(2048,null,Kp,null,[Nm]),go(38,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(39,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(40,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[41,4]],Sy,null,[Zy]),(t()(),Ss(16777216,null,4,1,null,Eb)),go(43,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,4,1,null,xb)),go(45,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.latlngFormGroup),t(e,6,0,"dec"==n.latLngFormat),t(e,8,0,"dms"==n.latLngFormat),t(e,10,0),t(e,21,0,n.elevationFormGroup),t(e,36,0,"elevationInput"),t(e,38,0,"altitude"),t(e,39,0,"Saisir l'altitude"),t(e,43,0,n.isLoadingElevation),t(e,45,0,!n.isLoadingElevation)},function(t,e){t(e,1,0,io(e,4).ngClassUntouched,io(e,4).ngClassTouched,io(e,4).ngClassPristine,io(e,4).ngClassDirty,io(e,4).ngClassValid,io(e,4).ngClassInvalid,io(e,4).ngClassPending),t(e,14,0,io(e,15)._highlighted,io(e,15)._triggersSubmenu,io(e,15)._getTabIndex(),io(e,15).disabled.toString(),io(e,15).disabled||null),t(e,17,0,io(e,18)._highlighted,io(e,18)._triggersSubmenu,io(e,18)._getTabIndex(),io(e,18).disabled.toString(),io(e,18).disabled||null),t(e,20,0,io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending),t(e,24,1,["standard"==io(e,25).appearance,"fill"==io(e,25).appearance,"outline"==io(e,25).appearance,"legacy"==io(e,25).appearance,io(e,25)._control.errorState,io(e,25)._canLabelFloat,io(e,25)._shouldLabelFloat(),io(e,25)._hideControlPlaceholder(),io(e,25)._control.disabled,io(e,25)._control.autofilled,io(e,25)._control.focused,"accent"==io(e,25).color,"warn"==io(e,25).color,io(e,25)._shouldForward("untouched"),io(e,25)._shouldForward("touched"),io(e,25)._shouldForward("pristine"),io(e,25)._shouldForward("dirty"),io(e,25)._shouldForward("valid"),io(e,25)._shouldForward("invalid"),io(e,25)._shouldForward("pending"),!io(e,25)._animationsEnabled]),t(e,33,1,[io(e,38)._isServer,io(e,38).id,io(e,38).placeholder,io(e,38).disabled,io(e,38).required,io(e,38).readonly,io(e,38)._ariaDescribedby||null,io(e,38).errorState,io(e,38).required.toString(),io(e,40).ngClassUntouched,io(e,40).ngClassTouched,io(e,40).ngClassPristine,io(e,40).ngClassDirty,io(e,40).ngClassValid,io(e,40).ngClassInvalid,io(e,40).ngClassPending])})}function Lb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(1,null,["altitude : "," m"]))],null,function(t,e){t(e,1,0,e.component.elevationFormGroup.controls.elevationInput.value)})}function kb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(-1,null,["altitude : calcul en cours..."]))],null,null)}function Sb(t){return Go(0,[(t()(),Ts(0,0,null,null,10,"div",[["class","sub-map-infos"]],[[2,"has-data",null]],null,null,null,null)),(t()(),Ts(1,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(2,null,["latitude : ",""])),jo(3,2),(t()(),Ts(4,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(5,null,["longitude : ",""])),jo(6,2),(t()(),Ss(16777216,null,null,1,null,Lb)),go(8,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,kb)),go(10,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,8,0,!n.isLoadingElevation),t(e,10,0,n.isLoadingElevation)},function(t,e){var n=e.component;t(e,0,0,""!==n.latlngFormGroup.controls.latInput.value&&""!==n.latlngFormGroup.controls.lngInput.value),t(e,2,0,Yi(e,2,0,t(e,3,0,io(e.parent,1),n.latlngFormGroup.controls.latInput.value,"2.0-6"))),t(e,5,0,Yi(e,5,0,t(e,6,0,io(e.parent,1),n.latlngFormGroup.controls.lngInput.value,"2.0-6")))})}function Tb(t){return Go(0,[yo(0,nf,[Xm]),yo(0,Al,[ri]),Oo(402653184,1,{locationInput:0}),(t()(),Ts(3,0,null,null,35,"div",[["id","geoloc-map"]],null,null,null,null,null)),(t()(),Ts(4,0,null,null,30,"div",[["id","geoloc-map-meta"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,27,"mat-form-field",[["class","mat-form-field"],["style","width: 100%;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Xv,Bv)),go(6,7389184,null,7,Ny,[Mn,Rn,[2,Fd],[2,Su],[2,Ry],Fl,rn,[2,Bg]],null,null),Oo(335544320,2,{_control:0}),Oo(335544320,3,{_placeholderChild:0}),Oo(335544320,4,{_labelChild:0}),Oo(603979776,5,{_errorChildren:1}),Oo(603979776,6,{_hintChildren:1}),Oo(603979776,7,{_prefixChildren:1}),Oo(603979776,8,{_suffixChildren:1}),(t()(),Ts(14,16777216,[[1,0],["locationInput",1]],1,9,"input",[["aria-label","Trouver un lieu"],["class","mat-input-element mat-form-field-autofill-control"],["matInput",""],["matTooltip","Trouver un lieu"],["placeholder","Trouver un lieu"]],[[1,"autocomplete",0],[1,"role",0],[1,"aria-autocomplete",0],[1,"aria-activedescendant",0],[1,"aria-expanded",0],[1,"aria-owns",0],[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"focusin"],[null,"blur"],[null,"input"],[null,"keydown"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"],[null,"longpress"],[null,"touchend"]],function(t,e,n){var i=!0;return"focusin"===e&&(i=!1!==io(t,15)._handleFocus()&&i),"blur"===e&&(i=!1!==io(t,15)._onTouched()&&i),"input"===e&&(i=!1!==io(t,15)._handleInput(n)&&i),"keydown"===e&&(i=!1!==io(t,15)._handleKeydown(n)&&i),"input"===e&&(i=!1!==io(t,16)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,16).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,16)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,16)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,20)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,20)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,20)._onInput()&&i),"longpress"===e&&(i=!1!==io(t,21).show()&&i),"keydown"===e&&(i=!1!==io(t,21)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,21)._handleTouchend()&&i),i},null,null)),go(15,147456,null,0,ly,[Mn,ru,On,rn,Rn,ry,[2,Su],[2,Ny],[2,Ol],Lh],{autocomplete:[0,"autocomplete"]},null),go(16,16384,null,0,Gp,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Up,function(t,e){return[t,e]},[ly,Gp]),go(18,540672,null,0,Mm,[[8,null],[8,null],[6,Up],[2,Pm]],{form:[0,"form"]},null),vo(2048,null,Kp,null,[Mm]),go(20,999424,null,0,Zy,[Mn,Fl,[6,Kp],[2,Im],[2,Am],yd,[8,null],Vy,rn],{placeholder:[0,"placeholder"]},null),go(21,147456,null,0,_u,[ru,Mn,xh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(22,16384,null,0,fm,[[4,Kp]],null,null),vo(2048,[[2,4]],Sy,null,[Zy]),(t()(),Ss(16777216,null,4,1,null,lb)),go(25,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(26,0,null,1,6,"mat-autocomplete",[["class","mat-autocomplete"]],null,[[null,"optionSelected"]],function(t,e,n){var i=!0;return"optionSelected"===e&&(i=!1!==t.component.addressSelectedChanged(n)&&i),i},rb,sb)),vo(6144,null,Od,null,[iy]),go(28,1097728,[["auto",4]],2,iy,[Rn,Mn,ny],null,{optionSelected:"optionSelected"}),Oo(603979776,9,{options:1}),Oo(603979776,10,{optionGroups:1}),(t()(),Ss(16777216,null,0,1,null,cb)),go(32,802816,null,0,sl,[On,Dn,ti],{ngForOf:[0,"ngForOf"]},null),(t()(),Ss(16777216,null,null,1,null,Cb)),go(34,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null),(t()(),Ts(35,0,null,null,1,"div",[["id","geoloc-map-draw"],["leaflet",""]],[[4,"height",null],[4,"minHeight",null],[4,"width",null],[4,"maxWidth",null]],[[null,"leafletMapReady"],["window","resize"]],function(t,e,n){var i=!0,s=t.component;return"window:resize"===e&&(i=!1!==io(t,36).onResize()&&i),"leafletMapReady"===e&&(i=!1!==s.onMapReady(n)&&i),i},null,null)),go(36,606208,null,0,Hm,[Mn,rn],{options:[0,"options"]},{mapReady:"leafletMapReady"}),(t()(),Ss(16777216,null,null,1,null,Sb)),go(38,16384,null,0,rl,[On,Dn],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,15,0,io(e,28)),t(e,18,0,n.geoSearchFormGroup.controls.placeInput),t(e,20,0,"Trouver un lieu"),t(e,21,0,"Trouver un lieu"),t(e,25,0,n.isLoadingAddress),t(e,32,0,n.geoSearchResults),t(e,34,0,n.showLatLngElevationInputs),t(e,36,0,n.mapOptions),t(e,38,0,!n.showLatLngElevationInputs)},function(t,e){var n=e.component;t(e,5,1,["standard"==io(e,6).appearance,"fill"==io(e,6).appearance,"outline"==io(e,6).appearance,"legacy"==io(e,6).appearance,io(e,6)._control.errorState,io(e,6)._canLabelFloat,io(e,6)._shouldLabelFloat(),io(e,6)._hideControlPlaceholder(),io(e,6)._control.disabled,io(e,6)._control.autofilled,io(e,6)._control.focused,"accent"==io(e,6).color,"warn"==io(e,6).color,io(e,6)._shouldForward("untouched"),io(e,6)._shouldForward("touched"),io(e,6)._shouldForward("pristine"),io(e,6)._shouldForward("dirty"),io(e,6)._shouldForward("valid"),io(e,6)._shouldForward("invalid"),io(e,6)._shouldForward("pending"),!io(e,6)._animationsEnabled]),t(e,14,1,[io(e,15).autocompleteAttribute,io(e,15).autocompleteDisabled?null:"combobox",io(e,15).autocompleteDisabled?null:"list",null==io(e,15).activeOption?null:io(e,15).activeOption.id,io(e,15).autocompleteDisabled?null:io(e,15).panelOpen.toString(),io(e,15).autocompleteDisabled||!io(e,15).panelOpen?null:null==io(e,15).autocomplete?null:io(e,15).autocomplete.id,io(e,20)._isServer,io(e,20).id,io(e,20).placeholder,io(e,20).disabled,io(e,20).required,io(e,20).readonly,io(e,20)._ariaDescribedby||null,io(e,20).errorState,io(e,20).required.toString(),io(e,22).ngClassUntouched,io(e,22).ngClassTouched,io(e,22).ngClassPristine,io(e,22).ngClassDirty,io(e,22).ngClassValid,io(e,22).ngClassInvalid,io(e,22).ngClassPending]),t(e,35,0,n.height,n.height,n.width,n.width)})}var Ib=Ji({encapsulation:0,styles:[[""]],data:{}});function Pb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"tb-geoloc-map",[],null,[[null,"location"],[null,"httpError"]],function(t,e,n){var i=!0,s=t.component;return"location"===e&&(i=!1!==s.newLocation(n)&&i),"httpError"===e&&(i=!1!==s.newHttpError(n)&&i),i},Tb,ab)),go(1,245760,null,0,ef,[Fm,Xm,Jm,rn],{layersToAdd:[0,"layersToAdd"],geolocatedPhotoLatLng:[1,"geolocatedPhotoLatLng"],osmClassFilter:[2,"osmClassFilter"],geometryFilter:[3,"geometryFilter"],allowEditDrawnItems:[4,"allowEditDrawnItems"],marker:[5,"marker"],polyline:[6,"polyline"],polygon:[7,"polygon"],lngLatInit:[8,"lngLatInit"],zoomInit:[9,"zoomInit"],getOsmSimpleLine:[10,"getOsmSimpleLine"],showLatLngElevationInputs:[11,"showLatLngElevationInputs"],latLngFormat:[12,"latLngFormat"],reset:[13,"reset"],elevationProvider:[14,"elevationProvider"],geolocationProvider:[15,"geolocationProvider"],mapQuestApiKey:[16,"mapQuestApiKey"],osmNominatimApiUrl:[17,"osmNominatimApiUrl"],mapQuestNominatimApiUrl:[18,"mapQuestNominatimApiUrl"],openElevationApiUrl:[19,"openElevationApiUrl"],mapQuestElevationApiUrl:[20,"mapQuestElevationApiUrl"],frGeoApiUrl:[21,"frGeoApiUrl"],patchAddress:[22,"patchAddress"],setAddress:[23,"setAddress"],patchElevation:[24,"patchElevation"],patchLngLatDec:[25,"patchLngLatDec"],patchGeometry:[26,"patchGeometry"],drawMarker:[27,"drawMarker"],enabled:[28,"enabled"],height:[29,"height"],width:[30,"width"],inputFocus:[31,"inputFocus"]},{location:"location",httpError:"httpError"})],function(t,e){var n=e.component;t(e,1,1,[n.layers_to_add,n.geolocated_photo_lat_lng,n._osm_class_filters,n._geometry_filters,n.allow_edit_drawn_items,n._marker,n._polyline,n._polygon,n.lng_lat_init,n.zoom_init,n._get_osm_simple_line,n._show_lat_lng_elevation_inputs,n.lat_lng_format,n._reset,n.elevation_provider,n.geolocation_provider,n.map_quest_api_key,n._osm_nominatim_api_url,n._map_quest_nominatim_api_url,n._open_elevation_api_url,n._map_quest_elevation_api_url,n._fr_geo_api_url,n._patch_address,n._set_address,n._patch_elevation,n._patch_lng_lat_dec,n._patch_geometry,n._draw_marker,n._enabled,n._height,n._width,n._input_focus])},null)}var Mb=$s("app-root",aa,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"app-root",[],null,null,null,Pb,Ib)),go(1,49152,null,0,aa,[],null,null)],null,null)},{layer:"layer",layers_to_add:"layers_to_add",geolocated_photo_lat_lng:"geolocated_photo_lat_lng",osm_class_filter:"osm_class_filter",geometry_filter:"geometry_filter",allow_edit_drawn_items:"allow_edit_drawn_items",marker:"marker",polyline:"polyline",polygon:"polygon",zoom_init:"zoom_init",lat_init:"lat_init",lng_init:"lng_init",lng_lat_init:"lng_lat_init",get_osm_simple_line:"get_osm_simple_line",show_lat_lng_elevation_inputs:"show_lat_lng_elevation_inputs",lat_lng_format:"lat_lng_format",elevation_provider:"elevation_provider",geolocation_provider:"geolocation_provider",map_quest_api_key:"map_quest_api_key",osm_nominatim_api_url:"osm_nominatim_api_url",map_quest_nominatim_api_url:"map_quest_nominatim_api_url",open_elevation_api_url:"open_elevation_api_url",map_quest_elevation_api_url:"map_quest_elevation_api_url",fr_geo_api_url:"fr_geo_api_url",reset:"reset",patchAddress:"patchAddress",setAddress:"setAddress",patchElevation:"patchElevation",patchLngLatDec:"patchLngLatDec",drawMarker:"drawMarker",patchGeometry:"patchGeometry",enabled:"enabled",height:"height",width:"width",inputFocus:"inputFocus"},{location:"location",httpError:"httpError"},[]),Ab=function(t,e,n){return new class extends Xe{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){!function(){if(pr)return;pr=!0;const t=bn()?{setCurrentNode:Nr,createRootView:fr,createEmbeddedView:gr,createComponentView:yr,createNgModuleRef:vr,overrideProvider:xr,overrideComponentView:Cr,clearOverrides:Lr,checkAndUpdateView:Ir,checkNoChangesView:Pr,destroyView:Mr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:Fr,updateDirectives:zr,updateRenderer:Vr}:{setCurrentNode:()=>{},createRootView:mr,createEmbeddedView:Wo,createComponentView:Yo,createNgModuleRef:ro,overrideProvider:qi,overrideComponentView:qi,clearOverrides:qi,checkAndUpdateView:er,checkNoChangesView:tr,destroyView:rr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:(t,e,n,i)=>t.def.handleEvent(t,e,n,i),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?Sr:Tr,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?Sr:Tr,t)};Ui.setCurrentNode=t.setCurrentNode,Ui.createRootView=t.createRootView,Ui.createEmbeddedView=t.createEmbeddedView,Ui.createComponentView=t.createComponentView,Ui.createNgModuleRef=t.createNgModuleRef,Ui.overrideProvider=t.overrideProvider,Ui.overrideComponentView=t.overrideComponentView,Ui.clearOverrides=t.clearOverrides,Ui.checkAndUpdateView=t.checkAndUpdateView,Ui.checkNoChangesView=t.checkNoChangesView,Ui.destroyView=t.destroyView,Ui.resolveDep=To,Ui.createDebugContext=t.createDebugContext,Ui.handleEvent=t.handleEvent,Ui.updateDirectives=t.updateDirectives,Ui.updateRenderer=t.updateRenderer,Ui.dirtyParentQueries=Ro}();const e=ys(this._ngModuleDefFactory);return Ui.createNgModuleRef(this.moduleType,t||Nt.NULL,this._bootstrapComponents,e)}}(la,[],function(t){return function(t){const e={},n=[];let i=!1;for(let s=0;s<t.length;s++){const o=t[s];o.token===Ie&&(i=!0),1073741824&o.flags&&n.push(o.token),o.index=s,e[Ki(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:i}}([Fs(512,We,Ke,[[8,[Bd,Mb]],[3,We],Qe]),Fs(5120,ri,hi,[[3,ri]]),Fs(4608,Ja,tl,[ri,[2,Xa]]),Fs(4608,He,He,[]),Fs(5120,Oe,Re,[]),Fs(5120,ti,ai,[]),Fs(5120,ei,li,[]),Fs(4608,td,ed,[Ol]),Fs(6144,Ri,null,[td]),Fs(4608,Kc,Yc,[]),Fs(5120,xc,function(t,e,n,i,s,o){return[new class extends Lc{constructor(t,e){super(t),this.ngZone=e,this.patchEvent()}patchEvent(){if(!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[Zc]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let i=n;if(!t[jc]||rn.isInAngularZone()&&!$c(e))t.addEventListener(e,i,!1);else{let n=Uc[e];n||(n=Uc[e]=Bc("ANGULAR"+e+"FALSE"));let s=t[n];const o=s&&s.length>0;s||(s=t[n]=[]);const r=$c(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:r,handler:i});else{let t=!1;for(let e=0;e<s.length;e++)if(s[e].handler===i){t=!0;break}t||s.push({zone:r,handler:i})}o||t[jc](e,qc,!1)}return()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,n){let i=t[Hc];if(!i)return t.removeEventListener.apply(t,[e,n,!1]);let s=Uc[e],o=s&&t[s];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let r=!1;for(let a=0;a<o.length;a++)if(o[a].handler===n){r=!0,o.splice(a,1);break}r?0===o.length&&i.apply(t,[e,qc,!1]):t.removeEventListener.apply(t,[e,n,!1])}}(t,e),new Jc(n),new class extends Lc{constructor(t,e,n){super(t),this._config=e,this.console=n}supports(t){return!(!Wc.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&(this.console.warn(`Hammer.js is not loaded, can not bind '${t}' event.`),1))}addEventListener(t,e,n){const i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(()=>{const s=this._config.buildHammer(t),o=function(t){i.runGuarded(function(){n(t)})};return s.on(e,o),()=>s.off(e,o)})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}(i,s,o)]},[Ol,rn,Ol,Ol,Kc,Be]),Fs(4608,Cc,Cc,[xc,rn]),Fs(135680,Sc,Sc,[Ol]),Fs(4608,Oc,Oc,[Cc,Sc]),Fs(5120,xf,Fg,[]),Fs(5120,w_,zg,[]),Fs(4608,sg,Ng,[xf,w_]),Fs(5120,Tn,Vg,[Oc,sg,rn]),Fs(6144,kc,null,[Sc]),Fs(4608,pn,pn,[rn]),Fs(4608,fc,fc,[Ol]),Fs(4608,vc,vc,[Ol]),Fs(4608,ha,Sg,[Tn,dc]),Fs(4608,mp,fp,[Ol,ze,dp]),Fs(4608,_p,_p,[mp,pp]),Fs(5120,rp,function(t){return[t]},[_p]),Fs(4608,up,up,[]),Fs(6144,hp,null,[up]),Fs(4608,cp,cp,[hp]),Fs(6144,Ud,null,[cp]),Fs(4608,Hd,gp,[Ud,Nt]),Fs(4608,sp,sp,[Hd]),Fs(4608,ru,ru,[Yh,Xh,We,su,Qh,Nt,rn,Ol,Su]),Fs(5120,au,lu,[ru]),Fs(5120,Ug,Zg,[ru]),Fs(4608,yd,yd,[]),Fs(5120,ry,ay,[ru]),Fs(4608,xu,xu,[]),Fs(5120,pu,mu,[ru]),Fs(5120,by,wy,[ru]),Fs(4608,Yp,Yp,[]),Fs(4608,Fm,Fm,[]),Fs(1073742336,Dl,Dl,[]),Fs(1024,he,hd,[]),Fs(1024,Ae,function(t){return[function(t){return bc("probe",Ec),bc("coreTokens",Object.assign({},wc,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>Ec}(t)]},[[2,wn]]),Fs(512,De,De,[[2,Ae]]),Fs(131584,kn,kn,[rn,Be,Nt,he,We,De]),Fs(1073742336,ui,ui,[kn]),Fs(1073742336,ud,ud,[[3,ud]]),Fs(1073742336,jg,jg,[]),Fs(1073742336,yp,yp,[]),Fs(1073742336,vp,vp,[]),Fs(1073742336,Tu,Tu,[]),Fs(1073742336,Fh,Fh,[]),Fs(1073742336,Ul,Ul,[]),Fs(1073742336,kh,kh,[]),Fs(1073742336,hu,hu,[]),Fs(1073742336,md,md,[[2,pd]]),Fs(1073742336,kd,kd,[]),Fs(1073742336,Td,Td,[]),Fs(1073742336,Nd,Nd,[]),Fs(1073742336,Fy,Fy,[]),Fs(1073742336,Gg,Gg,[]),Fs(1073742336,By,By,[]),Fs(1073742336,Gy,Gy,[]),Fs(1073742336,hy,hy,[]),Fs(1073742336,Jy,Jy,[]),Fs(1073742336,Lu,Lu,[]),Fs(1073742336,Ju,Ju,[]),Fs(1073742336,yu,yu,[]),Fs(1073742336,ev,ev,[]),Fs(1073742336,fv,fv,[]),Fs(1073742336,wv,wv,[]),Fs(1073742336,Ev,Ev,[]),Fs(1073742336,xv,xv,[]),Fs(1073742336,Cy,Cy,[]),Fs(1073742336,Lv,Lv,[]),Fs(1073742336,kv,kv,[]),Fs(1073742336,Um,Um,[]),Fs(1073742336,Zm,Zm,[]),Fs(1073742336,zm,zm,[]),Fs(1073742336,Vm,Vm,[]),Fs(1073742336,Bm,Bm,[]),Fs(1073742336,sf,sf,[]),Fs(1073742336,la,la,[Nt]),Fs(256,Ie,!0,[]),Fs(256,Bg,"BrowserAnimations",[]),Fs(256,dp,"XSRF-TOKEN",[]),Fs(256,pp,"X-XSRF-TOKEN",[]),Fs(256,tv,{separatorKeyCodes:[xa]},[])])})}();(function(){if(yn)throw new Error("Cannot enable prod mode after platform setup.");gn=!1})(),ld().bootstrapModuleFactory(Ab).catch(t=>console.log(t))}},[[2,0]]]);
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/index.html
New file
0,0 → 1,56
<!doctype html>
<html lang="">
 
<head>
<base href=".">
<meta charset="utf-8">
<title>TB Geolocation</title>
<link rel="stylesheet" href="./styles.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
 
<body>
<script src="./tb-geoloc-lib-app.js"></script>
 
<form>
<div id="tb-map"></div>
<div style="display:inline-flex;flex-direction:row;margin:5px;padding:5px;justify-content:space-between;width:80%;border:2px solid grey;">
<input id="locality" type="text" placeholder="locality">
<input id="postcode" type="text" placeholder="postcode">
<input id="latitude" type="text" placeholder="latitude">
<input id="longitude" type="text" placeholder="longitude">
<input id="altitude" type="text" placeholder="altitude">
</div>
</form>
<script>
var map = document.createElement('tb-geolocation-element');
 
map.setAttribute('zoom_init', 8);
map.setAttribute('lat_init', 43.6);
map.setAttribute('lng_init', 3.8);
map.setAttribute('marker', true);
map.setAttribute('polyline', true);
map.setAttribute('polygon', false);
map.setAttribute('show_lat_lng_elevation_inputs', true);
map.setAttribute('osm_class_filter', '');
map.setAttribute('geometry_filter', ['linestring']);
map.setAttribute('elevation_provider', 'mapquest');
map.setAttribute('map_quest_api_key', 'mG6oU5clZHRHrOSnAV0QboFI7ahnGg34');
map.setAttribute('height', '400px');
document.getElementById('tb-map').append(map);
 
map.addEventListener("location", function(location) {
console.log(location.detail);
document.getElementById('locality').value = location.detail.locality;
document.getElementById('postcode').value = location.detail.osmPostcode;
document.getElementById('latitude').value = location.detail.geometry.coordinates[1];
document.getElementById('longitude').value = location.detail.geometry.coordinates[0];
document.getElementById('altitude').value = location.detail.elevation;
});
</script>
 
</body>
 
</html>
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/styles.css
New file
0,0 → 1,0
.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.mat-badge-small .mat-badge-content{outline:solid 1px;border-radius:0}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-accent .mat-badge-content{background:#ffd740;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{color:#fff;background:#673ab7;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary .mat-ripple-element,.mat-icon-button.mat-primary .mat-ripple-element,.mat-stroked-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element,.mat-icon-button.mat-accent .mat-ripple-element,.mat-stroked-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element,.mat-icon-button.mat-warn .mat-ripple-element,.mat-stroked-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#673ab7}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#ffd740}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media screen and (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}@media screen and (-ms-high-contrast:active){.mat-badge-large .mat-badge-content,.mat-badge-medium .mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,215,64,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(0,0,0,.87)}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-toggle-active{color:#673ab7}.mat-datepicker-toggle-active.mat-accent{color:#ffd740}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#673ab7}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#673ab7}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#673ab7}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ffd740}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-list-option.mat-list-item-focus,.mat-list-option:hover,.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#d1c4e9}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline:0;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container a.leaflet-active{outline:orange solid 2px}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:700 16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-.70710678, M22=.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAeCAYAAACWuCNnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAG7AAABuwBHnU4NQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbvSURBVHic7dtdbBxXFQfw/9nZ3SRKwAP7UFFUQOoHqGnUoEAoNghX9tyxVcpD1X0J+WgiUQmpfUB5ACSgG1qJIKASqBIUIauqAbWseIlqb+bOWHVR6y0FKZBEqdIUQROIREGRx3FFvR/38ODZst3a3nE8Ywfv+T2t7hzdM3fle/bOnWtACCGEEEIIIYQQQgghhBBCCCGEEEIIIcRa0EbfgBDdFItFKwzDAa3175LuWylVAvBIR/MxrXUp6Vxx9dp4VyObVEdKKW591lonXgiVUg6AHzPzk9ls9meVSmUh6RzXkz179uQKhcIgM+8CACI6U6vVnp+enm6knXt4ePiuTCbzWQAwxlSDIHg57ZwroDAMnwKwz3XdBzzPG08hxzsTNprQG2lTjtd13WFmfghAP4A+AJcATFiW9YNKpfL3uP0kUliiX4SG1pqUUpx0wXJd9/PMXAGwPWq6yMyPz8/P/7xarf4nyVwt7QV4JWkU52i8YwBu6bh0wRhzJAiCF5POCQCDg4N2Pp//NYDRjkuTxph9QRCESeYrFov5ubm5R5n5AIAPtV1aYOb7BgYGTpZKJeO67lFmPsbM9/i+/8Ja8y6zylhOYquPXhsvAJRKpczMzMwTAIaJ6LFGo+HNzs5eKRQKNxPRAWb+CoAjWuvn4vS35skWFasxAAdbbUlOYqVUPwAPwI4lLr8J4KeWZT1eqVTmksoZ5d2QghUVKx/AlmVCFph5yPf9l5LMCwBKqUksFqszRHQcAJj5GwB2MfOE7/tfTDKf4zjHiejrAE4CuNhqZ+bf2rY9FYbhGBH92/O8o47j3Oj7/uUk86+3XhsvACilHmPmgW3btn3pxIkTVzuvj4yMfNoY85wxZiQIglPd+lvTZIuq5xiAQwCe6evr218ul5tr6bNd9GiiAbyvS+hFrfVHk8oLbEzBih4Dz+G9K6t3IaLXFhYWdib5eBh911UA8wBu1lq/CQBDQ0M3WJb1OoAdRPQZz/NeSSqnUuofAKpa6/vb26MfwacA7AdwFcCdWuu/JpU3yl1C91VHoquNXhvvyMjIx4wxr1iWtbNSqfxruTjHcR4AcMj3/bu79XnNe1hpFyvHcXYT0QS6FysASHR1tVEKhcIguhQrAGDm23K53BcATCWV27KsAWYGgPOtYgUAU1NT/1RKnQewxxjzOQCJFSwANwI4297QtmLfD+AtZr43m83OJ5iz3bGU+l1OT43XGFNk5mdXKlYAYNv2eBiG31dK3aS1vrRSbOZabqRYLFppFisAIKJxAB+MGf56krk30O64gZlMJnZsHMxsoo8fHxoauqHVHn3+BAAQUaxV57Xq2F54i5nvIaJXm81mYoX5etID491JRH/sFlQul5tEdMoYc3u32FUXrLYvObViBQDM/MQqwi8knX8jEJHpHrXIGJNo8WDm1spph2VZgeu6+5RSX7YsK8D/Xnb8Psmcnebm5h7G4uS9ysxutOH8VQC70sy7UTb7eImImTnWlgkzUyaT6fr3v6qC1fGL8EytVjuQRrECANu2fwHg1TixzPyXNO5hvTHz6VWE/znJ3L7vzxBRa9PzDmb+FYBfArgjajvd39+f9vGGKwACZh5te6mwmc8KburxMvO5TCbzqW5xxWLRArDbsqyu8z32HtZSxSrNM0Hlcrnpum6JmZ+NEb4pHglrtdrz+Xz+AoBbu4Ser9fra37d3YEBfBvAkq+XmfmbpVIp9grwWnie9zSAp9PMcT3Z7OPNZrO/aTQaf1BKfbd9X7RTGIaHmPlcnPNYsVZYSikOw7AB4CAzj/f19e1fjwOMnueVEeMxJJfLbYqCNT093TDGHAGw0qHYBQBH0vj+Pc+bYOb3HFRk5nHf9yeTzgfgMhF9uEvMTQD+71/vR3pqvJOTk28AeBJAeXR09P1LxbiuuxfA9wB8LU6fsVdYrUOhtm0fTusxcAlMRN+KziUt5SqAM3v37r00OZnGfFp/QRC86DjOUCaTGWPm2zoun8fiIbuZtPLX6/UH8/n8rQDuippertfrD6aRKyqOR5VS81ji8Z+IbmfmgwB+mEb+9dZr4wWA/v7+R6rV6k+azeYpx3EezeVyJ7dv335lfn7+lkajcZCZDzPzYd/3/xSnv9gFq3UuaR2LFQDA87xAKVUB8BEAZ6N9nrNEdEZr/TcArLVOPG8aJ9jj8n3/pcHBwZ1btmx5519zmPl0vV5/Ie2V7fT09Nujo6Nus9kcA4CtW7ce1lq/nUYu27a/Mzs7CyI6gMVX/u/CzJeZ+Ue2bcc9pb1aXc8lJZms18YLANE2wkOu694N4OFGo3E8DMMPAHiDiCaY+ZOb4YCsEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhEjYfwGO+b5dFNs4OgAAAABJRU5ErkJggg==);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAA8CAYAAAC6nMS5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA16SURBVHic7d1/jBxneQfw7zNzvotdn+9sVQkxoRKoammBqqpbk6uT5mLfvHPn42yn1VFRVCEhoFH5IYpoSaUCKi1NcGkcfrbCVRFKEwG2aHLn83pmLvY2CTqT1AmCOBE0EOT4B0nBPw/snb2dp3/sLr6s77i923dud/a+H8ny7tzMo8f3eud99p133gGIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiFYGaXYCRETUPMYYrWe/MAzZX2QQ27d5OpqdABFROxgZGVlz5cqVrzuOc18QBJPNzofsYvvSYrVcgTVftZ2l6npgYODXHMc5oKoHHcfZHQTB2WbnRETpGRkZWVMoFA6IyO2qutX3/R1Z64TnO8fWOwLSzti+mSKDg4M3l0qlnSJyG4CbAFwP4ByAlwE8paoPX3fddcH4+PjP00yk5QqsrDPGvAZAHsBrReRNqvpeY8x/iMg9QRCcaXJ6ZIHv+xtUdReAHQBej/IHGABOAnhORMY6OjoempiYONe0JC3zPM84jjOqqrfi6r/3RQCPAdgXhmHUvOyaa3R01L1w4cJBALdVNq1W1THP87woir7ZzNyocWzf7PA8b4uI7E6S5A9Frqknb6j8eZOIvKNQKPzU9/1/dhznvlwuV0gjn5YbFapW09Vqu/Z9K9u2bdsNruvmUe50axUAfMV13X/I5XInlzcze2x/28lCu1b19fWt7u7u/hCAvwGwboHdL6jq7unp6T1TU1OXlyG9VAwODv5mkiR7Ady6wK6Plkqldz/yyCPfX468bBkaGuqamZm5E8DbReQNANYscMiLIrI1CILnZ280xrwHwL+hck4VkacBDLTS6HVaIxWt/Blm+zauldu3atOmTas2bNjwWRG5s7LplKp+VUQOuq77/bVr17589uzZ9SKy0XGcAVUdFZE/qOx7zHXdXWn0yy31i6sMw/4MyF6BZYy5XlWPiMhvL7BrrKpfcxznE7Uf4ixYqQWW53kbATw060NZr28nSbJzcnLyRBp5pcnzvNtE5CEAvXUecg7ArjAMH00xLWuGhoZuKpVKEwB+p85DXnRd9/ZcLvcDAOjv778un88XAChwtRMWkW+jxTpfYOV1wGxfO1q1fav6+vpWr1u3blxVtwH4uar+/fT09OcW+mJrjBkBcC+AXwdwBoAJw/AZm7m1zC+uUlyNA9g6189buZH7+/t/tbOz8wiANy7isKKqftV13U8eOnToe2nlZttKLLAqJ+qjAF69xBAnZ2Zmbj58+PApm3mlqTJydRTXFldHAUxVXvcBuLnm5+dU9c1RFP1v2jk2YmhoqKtUKj2B+jvfE0mS3D45OflD4OqcHADPh2H4F6h0wp7nva1YLOby+fz5dDKnerB9Vwzxff8BVX0bgFMAdoZheKzeg4eHh9cXi8WvAfAAvOC67ptzudz/WUvOVqBGVO7OmBCR/vn2adWOuL+/v7ezs3MSwKYlhkgAHBSRjwdB8JTF1FKx0gqsymXBxwH8XoOh/ieO41vz+fwVG3mlzRjzKF55WfA8gD8LwzA3ez/P87aLyIMAeqrbVDUfRdHty5Pp0hhjPgDgM9X3qnq/iNwPYM5RCdd1T1RPvLM63+q/ce/sTpiaj+27Mvi+f6eq/iuAi67r9uVyuWcXG6NSjB8B0KeqE1EUvcVWfk3v3OYZuXosjuPt+Xx+ull51WNgYKBHRKIlXDaaS6Kq+6Mo+lMLsVKz0gosz/M+KiKfsBTub8MwvMdSrNQYYzwAYc3m7bXFVZXv+8OqemD2NlUdiKLokbRybJQx5lsANlfefi4Mww/UedyvADgI4I9mbxeRDwdB8C92s0yHrc9wK3922b6Na+X2BYD+/v61nZ2dz6M8cX00DMP9S421ffv2V83MzDwHoNfmucuxEWSpslxcjYyMrHEcZ8xScQUAjoj8vqVYZIHv+xtE5MMWQ941PDy83mK8VIjIW2s2HZ2vuAKAIAgmADyxQIxWM3uu5J56DhgZGVkDYBw1nS+ApwB82VJeZAfbt82tWrXqPSgXV481UlwBwMGDB3+sqncDgIh81EZ+QBMLrKwXV5Uh5NoPYqMyN+m9nanqHVj4bsHF6InjeKfFeKmoLMUw+/2Ct6KLyOM1m2x/NmxbW30RhuGPFtp5jstGVU+JiNdqE57rEYahzB6lWOz7Fsf2be/2hYj8SeXlvTbiFYvFLwK4DOAWY8z1NmI2pcDKcnE1OjraWSgU9uPaD2LDRKSlJwavQCO2A4rIDtsxU7BxsQeoau2Jeak3BDTDL72kUm/n63neaFoJUkPYvm3G9/0NKN9gc7mrq6t2OsOSVGqPSQCuiAzaiLnsBVaWiysAuHDhwn4AQ2nEVtUfpBGXluwNKcRcaBmPVpDMfiMiW+o4pnafZM69MmYxnW9lsj9lCNs3m1T1tSjXL89aXo39WCX+62wEW9YCK+vFVcXLKcbmJcLW8qoUYmZhZOfFmvc3e563fb6djTFvwdUJxfPFyJx6O1/f999a6Xz5ZIwMYftm2o2Vv60+HUVETldeLnoUfy7LVmC1SXEFVf0YgFSeX5QkCQus9tfyIzsicnSObQ/6vj9cu71SXP1nPTGyplAo5FDT+arqk3Ecb5s9J0dV2flmENs3u0REgTmnJjRkVjwrd2Iuy3+adimuACCKotPGmC8A+GvLoZOZmZkXLMekBojIaVX9DcthTy+8S3MlSTIuIu+q2dyjqgeMMU8A+CYAUdUtAOa8izZJkvG081wG19xN5jjO4ByLTLrLlRBZxfbNrjMAICI3LrTjIlVHrqyMjKU+gtVOxVVVHMf/hHkWrGvAiawsQrlSqOqiF61rRkzbOjo6AsxfCG4G8FcAPvhLlih5qVgsWpl42kIyezcZ1YXtmy0/QvlqwG9V1i6zZRMAiIiV+dCpFljtWFwBQOUbzqcth+XlwdZjfRRGRMZsx7St8mT5zzcQ4r52+LKgqp9S1U8B+GTtZSPKPrZvdlXaagrAalU1NmJWCrVtAEqO4xyyETO1S4TtWlxVXbp06b7u7u6/BHCTjXiqygKrxYjIQ6p6L2Y9BqZB51etWtXyBRYAuK77hVKp9H5cnUxarzOu634xjZyWWxRFdzU7B0oP2zfbVPUbIrLFcZwPAfivRuOJyPtUdbWq5m09jzCVEax2L64AYGpq6rKq/qOteI7jsMBqMUEQnFXV3bbiqerdExMT52zFS1Mul7soIovugETkI7lc7mIaORERVRWLxS8BeElVb/F9v6EnR/i+f6Oq3gUAjuPYejSavQLLGKPVP4VC4Wd4ZXF1pKura7Bdiquq3t7efwfwnKVwLLBa0PT09B5U1kZp0BPFYvGzFuIsmyAI7kf5uWz1OhgEwTV3FLaoX5yLKosWLknNsZcayohsYvu2uUo98TEAUNW9vu8vad3CoaGhLlX9BoBeAONBEByxleNyLNPwWBzHOywvBtYS9u3bV1LVj1sKxwKrBU1NTV12XXcXgFMNhDmpqndkcF6SisifAzhRx76n4jh+Byzd3rwMjldfqOqSV+xPkmT2yvzH592RlhvbdwUIw3AvgAcArFPVcHBwcFHPBvZ9f0OpVDqA8qrwL8Rx/E6b+VkvsGqfZ9ROlwXnEkXRfgDfajCMXrx48Yc28iH7crncSVXdrKpPLvZYEXk6SZItURS1/PIMcwmC4KzjOCMAam9dn+0SgJ35fP4ny5SWDQ/Mer3HGLPoTtgYMyIiv3gOmqpmZfRuJWD7rgwax/G7UH7EzcYkSf7bGHNXX1/f6oUO9H1/Z+WcPoDysgw7bJ/DUl8Hq52LqwoVkb9T1WiRx8UoX158RlWfnJqaupxCbmRJFEWn+/r6buvu7v4ggI9g4Ynv50XknkKh8JkMjly9wqFDh77j+/6oqo4BqD1xXRaRPw6CwMZl1GXjuu6XSqXSOwH8LoD1AMaMMecA1PtF53WV4wCUC+menp699jOlpWD7rhz5fP5Kf3//UFdX132q+l4Ad3d3d7/fGPN1EZlQ1e/19PS8dPbs2fWu694kIgOqOqqqm4Dy4rKlUumOw4cPN3KVYk7WVkE1xsx5aSBLT+duhDEmQrkSnssZlIeXnxWRY6p6PI7j41nveFeq4eHh9XEc7xSRnQBej6t3kp5EuWh+OI7jh+dYsDDTfN/frKrjAKpPmv9pkiS7JicnH29mXku1devWV3d0dBxAuRNeMhF5ulgsjqRxgk7DfOfqxWr1czvbtzGt3r5zGRwc7FPV3ap6y0L7ishPAHx63bp1e/bt2xenkQ8LLEuMMZtE5JCqfhfAMwCeSZLkO2vWrDk+NjbGyZHUFjzP2yginwcAVX1fVi99Vo2OjnaeP3/+3SLydgBvBNBd56GXAHxXVR/s7e3dm9YJOg0rqQNm+y5dFtp3HmKM2QxgF8qr9b8GwA0AzgH4MYBjIjJ28eLFkFeOiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhWgv8Hnffz4dmwY9cAAAAASUVORK5CYII=);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #aaa;color:#fff;font:11px/28px "Helvetica Neue",Arial,Helvetica,sans-serif;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-bottom a,.leaflet-draw-actions-top a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:rgba(0,0,0,.5);border:1px solid transparent;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid rgba(0,0,0,.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,.1);border:4px dashed rgba(254,87,161,.6);border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/manager/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/manager
New file
Property changes:
Added: svn:ignore
+config.ini
+framework.php
/branches/v3.01-serpe/widget/modules/observation/squelettes/observation.tpl.html
New file
0,0 → 1,138
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Observations publiques du CEL - Tela Botanica</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Jean-Pascal MILCENT, Grégoire DUCHÉ" />
<meta name="keywords" content="Tela Botanica, observation, CEL" />
<meta name="description" content="Widget de présentation des dernières observations publiées sur le Carnet en Ligne de Tela Botanica" />
 
<!-- Spécial mobile -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Favicones -->
<link rel="icon" type="image/png" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Feuilles de styles -->
<link rel="stylesheet" type="text/css" href="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="<?=$url_css?>observation.css" media="screen" />
<!-- Javascript : bibliothèques -->
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/1.4.4/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="https://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-20092557-1', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
</head>
<body>
<!-- WIDGET:CEL:OBSERVATION - DEBUT -->
<div id="cel-observation-contenu">
<?php if (isset($erreurs) || isset($informations)) : ?>
<h1>Erreur &amp; informations</h1>
<p>Impossible d'afficher le flux.</p>
<!-- Affichage des erreurs et messages d'information : -->
<?php if ($erreurs) : ?>
<?php foreach ($erreurs as $erreur) : ?>
<p class="erreur"><?=$erreur;?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($informations) : ?>
<?php foreach ($informations as $information) : ?>
<p class="info"><?=$information;?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php else : ?>
<h1>
<? if (!empty($titre)) : ?>
<?=$titre?>
<? endif ; ?>
<? if($icone_rss) : ?>
<a href="<?=$flux_rss_url?>" id="cel-observation-flux" title="Suivre les observations"
onclick="window.open(this.href);return false;">
<img src="https://www.tela-botanica.org/sites/commun/generique/images/rss.png" alt="Suivre les observations" />
</a>
<? endif; ?>
</h1>
<div id="cel-liste-observation">
<?php foreach ($items as $item) : ?>
<div id="cel-observation-<?=$item['guid']?>" class="cel-observation" rel="<?=$item['guid']?>" >
<img id="imPlus-<?=$item['guid']?>" width="10" height="10"
name="imPlus-<?=$item['guid']?>" title="Voir les informations complémentaires" alt="+"
src="https://www.tela-botanica.org/sites/commun/generique/images/plus.png" />
<img id="imMoins-<?=$item['guid']?>" width="10" height="10" class="imMoins"
name="imMoins-<?=$item['guid']?>" title="Cacher les informations complémentaires" alt="+"
src="https://www.tela-botanica.org/sites/commun/generique/images/moins.png" />
<strong>
<?php if ($item['eflore_url'] != '#' && $item['eflore_url'] != '' && $item['eflore_url'] != 'http://www.tela-botanica.org/bdtfx-nn-0') { ?>
<a class="cel-img-titre" href="<?=$item['eflore_url']?>"
onclick="window.open(this.href);return false;"
title="Cliquez pour accéder à la fiche eFlore">
<?=$item['titre']?>
</a>
<?php } else { ?>
<?=$item['titre']?>
<?php } ?>
</strong><br />
<span class="cel-img-date">Publiée le <?=$item['date']?></span><br />
<div id="cel-info-<?=$item['guid']?>" class="cel-infos">
<?=$item['description']?>
</div>
</div>
<?php endforeach; ?>
</div>
<p id="cel-observation-pieds" class="cel-observation-pieds discretion nettoyage">
<span class="cel-observation-source">
Source :
<a href="http://www.tela-botanica.org/page:cel" title="Carnet en Ligne" onclick="window.open(this.href);return false;">
CEL
</a>
</span>
<span class="cel-observation-date-generation">Au <?=strftime('%A %d %B %Y à %H:%M:%S')?></span>
</p>
<script type="text/Javascript">
// Function pour cacher / afficher le détail des observations
$(document).ready(function() {
 
$('.cel-infos').hide();
$('.imMoins').hide();
$('.cel-observation').hover(function() {
var id_obs = $(this).attr("rel");
$('#cel-info-'+id_obs).show();
$('#imPlus-'+id_obs).hide();
$('#imMoins-'+id_obs).show();
},
function() {
var id_obs = $(this).attr("rel");
$('#cel-info-'+id_obs).hide();
$('#imPlus-'+id_obs).show();
$('#imMoins-'+id_obs).hide();
});
 
});
</script>
<?php endif; ?>
</div>
<!-- WIDGET:CEL:OBSERVATION - FIN -->
</body>
</html>
/branches/v3.01-serpe/widget/modules/observation/squelettes/observation_ajax.tpl.html
New file
0,0 → 1,89
<div id="cel-observation-contenu">
<?php if (isset($erreurs) || isset($informations)) : ?>
<h1>Erreur &amp; informations</h1>
<p>Impossible d'afficher le flux.</p>
<!-- Affichage des erreurs et messages d'information : -->
<?php if ($erreurs) : ?>
<?php foreach ($erreurs as $erreur) : ?>
<p class="erreur"><?=$erreur;?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php if ($informations) : ?>
<?php foreach ($informations as $information) : ?>
<p class="info"><?=$information;?></p>
<?php endforeach; ?>
<?php endif; ?>
<?php else : ?>
<h1>
<? if (!empty($titre)) : ?>
<?=$titre?>
<? endif ; ?>
<? if($icone_rss) : ?>
<a href="<?=$flux_rss_url?>" id="cel-observation-flux" title="Suivre les observations"
onclick="window.open(this.href);return false;">
<img src="https://www.tela-botanica.org/sites/commun/generique/images/rss.png" alt="Suivre les observations" />
</a>
<? endif; ?>
</h1>
<div id="cel-liste-observation">
<?php foreach ($items as $item) : ?>
<div id="cel-observation-<?=$item['guid']?>" class="cel-observation" rel="<?=$item['guid']?>" >
<img id="imPlus-<?=$item['guid']?>" width="10" height="10"
name="imPlus-<?=$item['guid']?>" title="Voir les informations complémentaires" alt="+"
src="https://www.tela-botanica.org/sites/commun/generique/images/plus.png" />
<img id="imMoins-<?=$item['guid']?>" width="10" height="10" class="imMoins"
name="imMoins-<?=$item['guid']?>" title="Cacher les informations complémentaires" alt="+"
src="https://www.tela-botanica.org/sites/commun/generique/images/moins.png" />
<strong>
<?php if ($item['eflore_url'] != '#' && $item['eflore_url'] != '' && $item['eflore_url'] != 'http://www.tela-botanica.org/bdtfx-nn-0') { ?>
<a class="cel-img-titre" href="<?=$item['eflore_url']?>"
onclick="window.open(this.href);return false;"
title="Cliquez pour accéder à la fiche eFlore">
<?=$item['titre']?>
</a>
<?php } else { ?>
<?=$item['titre']?>
<?php } ?>
</strong><br />
<span class="cel-img-date">Publiée le <?=$item['date']?></span><br />
<div id="cel-info-<?=$item['guid']?>" class="cel-infos">
<?=$item['description']?>
</div>
</div>
<?php endforeach; ?>
</div>
<p id="cel-observation-pieds" class="cel-observation-pieds discretion nettoyage">
<span class="cel-observation-source">
Source :
<a href="http://www.tela-botanica.org/page:cel" title="Carnet en Ligne" onclick="window.open(this.href);return false;">
CEL
</a>
</span>
<span class="cel-observation-date-generation">Au <?=strftime('%A %d %B %Y à %H:%M:%S')?></span>
</p>
<script type="text/Javascript">
// Function pour cacher / afficher le détail des observations
$(document).ready(function() {
 
$('.cel-infos').hide();
$('.imMoins').hide();
$('.cel-observation').hover(function() {
var id_obs = $(this).attr("rel");
$('#cel-info-'+id_obs).show();
$('#imPlus-'+id_obs).hide();
$('#imMoins-'+id_obs).show();
},
function() {
var id_obs = $(this).attr("rel");
$('#cel-info-'+id_obs).hide();
$('#imPlus-'+id_obs).show();
$('#imMoins-'+id_obs).hide();
});
 
});
</script>
<?php endif; ?>
</div>
/branches/v3.01-serpe/widget/modules/observation/squelettes/css/observation.css
New file
0,0 → 1,80
@charset "UTF-8";
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Widget */
#cel-observation-contenu{
position:relative;
padding:0 5px;
margin:5px auto;
font-family:Arial,verdana,sans-serif;
font-size:12px;
background-color:#DDDDDD;
color:black;
}
#cel-observation-contenu h1 {
margin:5px;
padding:0;
font-size:1.6em;
color:black;
background-color:transparent;
background-image:none;
text-transform:none;
text-align:left;
}
#cel-observation-contenu h1 a{
color: #AAAAAA !important
}
#cel-observation-contenu h1 #cel-observation-flux{
width:16px;
height:20px;
}
#cel-observation-contenu img {
border:0;
padding:0;
margin:0;
}
#cel-observation-contenu a, #cel-observation-contenu a:active, #cel-observation-contenu a:visited {
border-bottom:1px dotted #666;
color:black;
text-decoration:none;
background-image:none;
}
#cel-observation-contenu a:active {
outline:none;
}
#cel-observation-contenu a:focus {
outline:thin dotted;
}
#cel-observation-contenu a:hover {
color:#56B80E;
border-bottom:1px dotted #56B80E;
}
#cel-observation-date-generation{
text-align:right;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Général */
#cel-observation-contenu .discretion {
color:grey;
font-family:arial;
font-size:11px;
font-weight:bold;
}
#cel-observation-contenu .nettoyage {
clear:both;
}
/*+-----------------------------------------------------------------------------------------------------------------+*/
/* Galerie observations CEL */
#cel-observation-contenu .cel-observation {
width:99%;
float:left;
padding:2px;
border:1px solid white;
}
#cel-observation-contenu .cel-observation h2{
font-size:1em;
}
 
#cel-observation-contenu .cel-infos{
color:white;
}
 
/branches/v3.01-serpe/widget/modules/observation/Observation.php
New file
0,0 → 1,162
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières observations publiques du CEL.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidget
*
* Paramètres :
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Delphine <jpm@tela-botanica.org>
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2011, Tela Botanica (accueil@tela-botanica.org)
*/
class Observation extends WidgetCommun {
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'observation';
private $flux_rss_url = null;
private $eflore_url_tpl = null;
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
$this->eflore_url_tpl = $this->config['observation']['efloreUrlTpl'];
$this->flux_rss_url = $this->config['observation']['fluxRssUrl'];
$cache_activation = $this->config['observation.cache']['activation'];
$cache_stockage = $this->config['observation.cache']['stockageDossier'];
$ddv = $this->config['observation.cache']['dureeDeVie'];
$cache = new Cache($cache_stockage, $ddv, $cache_activation);
$id_cache = 'observation-'.hash('adler32', print_r($this->parametres, true));
if (! $contenu = $cache->charger($id_cache)) {
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
if (is_null($retour)) {
$this->messages[] = 'Aucune observation';
//$contenu = 'Un problème est survenu : '.print_r($this->messages, true);
} else {
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
$cache->sauver($id_cache, $contenu);
}
}
if (isset($_GET['callback'])) {
$this->envoyerJsonp(array('contenu' => $contenu));
} else {
$this->envoyer($contenu);
}
}
private function executerAjax() {
$widget = $this->executerObservation();
$widget['squelette'] = 'observation_ajax';
return $widget;
}
private function executerObservation() {
$widget = null;
extract($this->parametres);
$max_obs = (isset($max_obs) && preg_match('/^[0-9]+,[0-9]+$/', $max_obs)) ? $max_obs : '10';
$icone_rss = (isset($_GET['rss']) && $_GET['rss'] != 1) ? false : true;
$this->flux_rss_url .= $this->traiterParametres();
$titre = isset($titre) ? htmlentities(rawurldecode($titre)) : '';
 
$xml = @file_get_contents($this->flux_rss_url);
if ($xml !== false) {
if ($xml) {
try {
$flux = new XmlFeedParser($xml);
$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/observation/squelettes/css/');
$widget['donnees']['colonne'] = 1;
$widget['donnees']['icone_rss'] = $icone_rss;
$widget['donnees']['titre'] = $titre;
$num = 0;
foreach ($flux as $entree) {
if ($num == $max_obs) {
break;
}
$item = array();
// Formatage date
$date = $entree->updated ? $entree->updated : null;
$date = $entree->pubDate ? $entree->pubDate : $date;
$item['date'] = strftime('%A %d %B %Y', $date);
// Formatage titre
$item['titre'] = $entree->title;
$item['nn'] = '';
$item['eflore_url'] = '#';
if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) {
$item['nn'] = $match[1];
$item['eflore_url'] = $entree->link;
}
// Récupération du GUID
if (preg_match('/urn:lsid:tela-botanica.org:cel:obs([0-9]+)$/', $entree->id, $match)) {
$item['guid'] = (int) $match[1];
} else {
$item['guid'] = $entree->id;
}
$item['description'] = $entree->content;
$widget['donnees']['items'][$num++] = $item;
}
$widget['squelette'] = 'observation';
} catch (XmlFeedParserException $e) {
trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING);
}
} else {
// si on arrive ici c'est qu'il n'y a aucune obs correspondant
// à la requête, mais il n'y a rien d'invalide là-dedans
//$this->messages[] = "Fichier xml invalide.";
}
} else {
$this->messages[] = "L'URI, $this->flux_rss_url, est invalide.";
}
return $widget;
}
private function traiterParametres() {
$parametres_flux = '?';
$this->parametre['standard'] = (!isset($this->parametre['standard'])) ? '1' : $this->parametre['standard'];
$criteres = array('utilisateur', 'commune', 'standard', 'dept', 'taxon', 'commentaire', 'date', 'projet', 'motcle', 'num_taxon', 'groupe_zones_geo');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (in_array($nom_critere, $criteres)) {
$valeur_critere = str_replace(' ', '%20', $valeur_critere);
$parametres_flux .= $nom_critere.'='.$valeur_critere.'&';
}
}
if ($parametres_flux == '?') {
$parametres_flux = '';
} else {
$parametres_flux = rtrim($parametres_flux, '&');
}
return $parametres_flux;
}
}
?>
/branches/v3.01-serpe/widget/modules/observation/config.defaut.ini
New file
0,0 → 1,18
[observation]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; URL ou chemin du flux RSS contenant les liens vers les photos
fluxRssUrl = "https://api.tela-botanica.org/service:cel:CelSyndicationObservation/multicriteres/atom"
; Squelette d'url pour accéder à la fiche eFlore
efloreUrlTpl = "https://api.tela-botanica.org/bdtfx-nn-%s"
; Nombre de vignette à afficher : nombre de vignettes par ligne et nombre de lignes séparés par une vigule (ex. : 4,3).
vignette = 4,3
 
 
[observation.cache]
; Active/Désactive le cache
activation = true
; Dossier où stocker les fichiers de cache du widget
stockageDossier = "/tmp"
; Durée de vie du fichier de cache
dureeDeVie = 86400
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/Cache.php
New file
0,0 → 1,128
<?php
class Cache {
private $actif = null;
private $dossier_stockage = null;
private $duree_de_vie = null;
public function __construct($dossier_stockage = null, $duree_de_vie = null, $activation = true) {
$this->actif = ($activation) ? true : false;
if ($this->actif) {
$this->dossier_stockage = $dossier_stockage;
if (is_null($dossier_stockage)) {
$this->dossier_stockage = self::getDossierTmp();
}
$this->duree_de_vie = $duree_de_vie;
if (is_null($duree_de_vie)) {
$this->duree_de_vie = 3600*24;
}
}
}
public function charger($id) {
$contenu = false;
if ($this->actif) {
$chemin_fichier_cache = $this->dossier_stockage.DIRECTORY_SEPARATOR.$id.'.txt';
if (file_exists($chemin_fichier_cache ) && (time() - @filemtime($chemin_fichier_cache) < $this->duree_de_vie)) {
$contenu = file_get_contents($chemin_fichier_cache);
}
}
return $contenu;
}
public function sauver($id, $contenu) {
if ($this->actif) {
$chemin_fichier_cache = $this->dossier_stockage.DIRECTORY_SEPARATOR.$id.'.txt';
if (!file_exists($chemin_fichier_cache) || (time() - @filemtime($chemin_fichier_cache) > $this->duree_de_vie)) {
$fh = fopen($chemin_fichier_cache,'w+');
if ($fh) {
fputs($fh, $contenu);
fclose($fh);
}
}
}
}
/**
* Détermine le dossier système temporaire et détecte si nous y avons accès en lecture et écriture.
*
* Inspiré de Zend_File_Transfer_Adapter_Abstract & Zend_Cache
*
* @return string|false le chemine vers le dossier temporaire ou false en cas d'échec.
*/
private static function getDossierTmp() {
$dossier_tmp = false;
foreach (array($_ENV, $_SERVER) as $environnement) {
foreach (array('TMPDIR', 'TEMP', 'TMP', 'windir', 'SystemRoot') as $cle) {
if (isset($environnement[$cle])) {
if (($cle == 'windir') or ($cle == 'SystemRoot')) {
$dossier = realpath($environnement[$cle] . '\\temp');
} else {
$dossier = realpath($environnement[$cle]);
}
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
break 2;
}
}
}
}
if ( ! $dossier_tmp) {
$dossier_televersement_tmp = ini_get('upload_tmp_dir');
if ($dossier_televersement_tmp) {
$dossier = realpath($dossier_televersement_tmp);
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp) {
if (function_exists('sys_get_temp_dir')) {
$dossier = sys_get_temp_dir();
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp) {
// Tentative de création d'un fichier temporaire
$fichier_tmp = tempnam(md5(uniqid(rand(), TRUE)), '');
if ($fichier_tmp) {
$dossier = realpath(dirname($fichier_tmp));
unlink($fichier_tmp);
if (self::etreAccessibleEnLectureEtEcriture($dossier)) {
$dossier_tmp = $dossier;
}
}
}
if ( ! $dossier_tmp && self::etreAccessibleEnLectureEtEcriture('/tmp')) {
$dossier_tmp = '/tmp';
}
if ( ! $dossier_tmp && self::etreAccessibleEnLectureEtEcriture('\\temp')) {
$dossier_tmp = '\\temp';
}
return $dossier_tmp;
}
/**
* Vérifie si le fichier ou dossier est accessible en lecture et écriture.
*
* @param $ressource chemin vers le dossier ou fichier à tester
* @return boolean true si la ressource est accessible en lecture et écriture.
*/
protected static function etreAccessibleEnLectureEtEcriture($ressource){
$accessible = false;
if (is_readable($ressource) && is_writable($ressource)) {
$accessible = true;
}
return $accessible;
}
}
?>
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss11.php
New file
0,0 → 1,266
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1.1 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS11.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS1.1 feeds. RSS1.1 is documented at:
* http://inamidst.com/rss1.1/
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Support for RDF:List
* @todo Ensure xml:lang is accessible to users
*/
class XmlFeedParserRss11 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss11.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss11Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'updatePeriod' => array('Text'),
'updateFrequency' => array('Text'),
'updateBase' => array('Date'),
'rights' => array('Text'), # dc:rights
'description' => array('Text'), # dc:description
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date') # dc:contributor
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'),
'author' => array('creator'),
'updated' => array('date'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together. We will retain support for some common RSS1.0 modules
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'rss' => 'http://purl.org/net/rss1.1#',
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/',
'sy' => 'http://web.resource.org/rss/1.0/modules/syndication/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Attempts to identify an element by ID given by the rdf:about attribute
*
* This is not really something that will work with RSS1.1 as it does not have
* clear restrictions on the global uniqueness of IDs. We will employ the
* _very_ hit and miss method of selecting entries based on the rdf:about
* attribute. Please note that this is even more hit and miss with RSS1.1 than
* with RSS1.0 since RSS1.1 does not require the rdf:about attribute for items.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//rss:item[@rdf:about='$id']");
if ($entries->length > 0) {
$classname = $this->itemClass;
$entry = new $classname($entries->item(0), $this);
return $entry;
}
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
if ($image->getElementsByTagName('link')->length > 0) {
$details['link'] =
$image->getElementsByTagName('link')->item(0)->value;
}
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details,
array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) and
$input->attributes->getNamedItem('resource')) {
$results['link'] = $input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
 
/**
* Attempts to discern authorship
*
* Dublin Core provides the dc:creator, dc:contributor, and dc:publisher
* elements for defining authorship in RSS1. We will try each of those in
* turn in order to simulate the atom author element and will return it
* as text.
*
* @return array|false
*/
function getAuthor() {
$options = array('creator', 'contributor', 'publisher');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length > 0) {
return $test->item(0)->value;
}
}
return false;
}
/**
* Retrieve a link
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss2.php
New file
0,0 → 1,323
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Class representing feed-level data for an RSS2 feed
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS2.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS2 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss2 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss20.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 2.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss2Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'ttl' => array('Text'),
'pubDate' => array('Date'),
'lastBuildDate' => array('Date'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'),
'language' => array('Text'),
'copyright' => array('Text'),
'managingEditor' => array('Text'),
'webMaster' => array('Text'),
'category' => array('Text'),
'generator' => array('Text'),
'docs' => array('Text'),
'ttl' => array('Text'),
'image' => array('Image'),
'skipDays' => array('skipDays'),
'skipHours' => array('skipHours'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'rights' => array('copyright'),
'updated' => array('lastBuildDate'),
'subtitle' => array('description'),
'date' => array('pubDate'),
'author' => array('managingEditor'));
 
protected $namespaces = array(
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XmlFeedParserException('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($this->model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Retrieves an entry by ID, if the ID is specified with the guid element
*
* This is not really something that will work with RSS2 as it does not have
* clear restrictions on the global uniqueness of IDs. But we can emulate
* it by allowing access based on the 'guid' element. If DOMXPath::evaluate
* is available, we also use that to store a reference to the entry in the array
* used by getEntryByOffset so that method does not have to seek out the entry
* if it's requested that way.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS2Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//item[guid='$id']");
if ($entries->length > 0) {
$entry = new $this->itemElement($entries->item(0), $this);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::item)", $entries->item(0));
$this->entries[$offset] = $entry;
}
$this->idMappings[$id] = $entry;
return $entry;
}
}
 
/**
* Get a category from the element
*
* The category element is a simple text construct which can occur any number
* of times. We allow access by offset or access to an array of results.
*
* @param string $call for compatibility with our overloading
* @param array $arguments - arg 0 is the offset, arg 1 is whether to return as array
* @return string|array|false
*/
function getCategory($call, $arguments = array()) {
$categories = $this->model->getElementsByTagName('category');
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$array = empty($arguments[1]) ? false : true;
if ($categories->length <= $offset) {
return false;
}
if ($array) {
$list = array();
foreach ($categories as $category) {
array_push($list, $category->nodeValue);
}
return $list;
}
return $categories->item($offset)->nodeValue;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->xpath->query("//image");
if ($images->length > 0) {
$image = $images->item(0);
$desc = $image->getElementsByTagName('description');
$description = $desc->length ? $desc->item(0)->nodeValue : false;
$heigh = $image->getElementsByTagName('height');
$height = $heigh->length ? $heigh->item(0)->nodeValue : false;
$widt = $image->getElementsByTagName('width');
$width = $widt->length ? $widt->item(0)->nodeValue : false;
return array(
'title' => $image->getElementsByTagName('title')->item(0)->nodeValue,
'link' => $image->getElementsByTagName('link')->item(0)->nodeValue,
'url' => $image->getElementsByTagName('url')->item(0)->nodeValue,
'description' => $description,
'height' => $height,
'width' => $width);
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness...
*
* @return array|false
*/
function getTextInput() {
$inputs = $this->model->getElementsByTagName('input');
if ($inputs->length > 0) {
$input = $inputs->item(0);
return array(
'title' => $input->getElementsByTagName('title')->item(0)->value,
'description' =>
$input->getElementsByTagName('description')->item(0)->value,
'name' => $input->getElementsByTagName('name')->item(0)->value,
'link' => $input->getElementsByTagName('link')->item(0)->value);
}
return false;
}
 
/**
* Utility function for getSkipDays and getSkipHours
*
* This is a general function used by both getSkipDays and getSkipHours. It simply
* returns an array of the values of the children of the appropriate tag.
*
* @param string $tagName The tag name (getSkipDays or getSkipHours)
* @return array|false
*/
protected function getSkips($tagName) {
$hours = $this->model->getElementsByTagName($tagName);
if ($hours->length == 0) {
return false;
}
$skipHours = array();
foreach($hours->item(0)->childNodes as $hour) {
if ($hour instanceof DOMElement) {
array_push($skipHours, $hour->nodeValue);
}
}
return $skipHours;
}
 
/**
* Retrieve skipHours data
*
* The skiphours element provides a list of hours on which this feed should
* not be checked. We return an array of those hours (integers, 24 hour clock)
*
* @return array
*/
function getSkipHours() {
return $this->getSkips('skipHours');
}
 
/**
* Retrieve skipDays data
*
* The skipdays element provides a list of days on which this feed should
* not be checked. We return an array of those days.
*
* @return array
*/
function getSkipDays() {
return $this->getSkips('skipDays');
}
 
/**
* Return content of the little-used 'cloud' element
*
* The cloud element is rarely used. It is designed to provide some details
* of a location to update the feed.
*
* @return array an array of the attributes of the element
*/
function getCloud() {
$cloud = $this->model->getElementsByTagName('cloud');
if ($cloud->length == 0) {
return false;
}
$cloudData = array();
foreach ($cloud->item(0)->attributes as $attribute) {
$cloudData[$attribute->name] = $attribute->value;
}
return $cloudData;
}
/**
* Get link URL
*
* In RSS2 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them. We maintain the
* parameter used by the atom getLink method, though we only use the offset
* parameter.
*
* @param int $offset The position of the link within the feed. Starts from 0
* @param string $attribute The attribute of the link element required
* @param array $params An array of other parameters. Not used.
* @return string
*/
function getLink($offset, $attribute = 'href', $params = array()) {
$links = $this->model->getElementsByTagName('link');
 
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserAtomElement.php
New file
0,0 → 1,254
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* AtomElement class for XML_Feed_Parser package
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: AtomElement.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class provides support for atom entries. It will usually be called by
* XML_Feed_Parser_Atom with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserAtomElement extends XmlFeedParserAtom {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_Atom
*/
protected $parent;
 
/**
* When performing XPath queries we will use this prefix
* @var string
*/
private $xpathPrefix = '';
/**
* xml:base values inherited by the element
* @var string
*/
protected $xmlBase;
 
/**
* Here we provide a few mappings for those very special circumstances in
* which it makes sense to map back to the RSS2 spec or to manage other
* compatibilities (eg. with the Univeral Feed Parser). Key is the other version's
* name for the command, value is an array consisting of the equivalent in our atom
* api and any attributes needed to make the mapping.
* @var array
*/
protected $compatMap = array(
'guid' => array('id'),
'links' => array('link'),
'tags' => array('category'),
'contributors' => array('contributor'));
/**
* Our specific element map
* @var array
*/
protected $map = array(
'author' => array('Person', 'fallback'),
'contributor' => array('Person'),
'id' => array('Text', 'fail'),
'published' => array('Date'),
'updated' => array('Date', 'fail'),
'title' => array('Text', 'fail'),
'rights' => array('Text', 'fallback'),
'summary' => array('Text'),
'content' => array('Content'),
'link' => array('Link'),
'enclosure' => array('Enclosure'),
'category' => array('Category'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_Atom $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
$this->xmlBase = $xmlBase;
$this->xpathPrefix = "//atom:entry[atom:id='" . $this->id . "']/";
$this->xpath = $this->parent->xpath;
}
 
/**
* Provides access to specific aspects of the author data for an atom entry
*
* Author data at the entry level is more complex than at the feed level.
* If atom:author is not present for the entry we need to look for it in
* an atom:source child of the atom:entry. If it's not there either, then
* we look to the parent for data.
*
* @param array
* @return string
*/
function getAuthor($arguments) {
/* Find out which part of the author data we're looking for */
if (isset($arguments['param'])) {
$parameter = $arguments['param'];
} else {
$parameter = 'name';
}
$test = $this->model->getElementsByTagName('author');
if ($test->length > 0) {
$item = $test->item(0);
return $item->getElementsByTagName($parameter)->item(0)->nodeValue;
}
$source = $this->model->getElementsByTagName('source');
if ($source->length > 0) {
$test = $this->model->getElementsByTagName('author');
if ($test->length > 0) {
$item = $test->item(0);
return $item->getElementsByTagName($parameter)->item(0)->nodeValue;
}
}
return $this->parent->getAuthor($arguments);
}
 
/**
* Returns the content of the content element or info on a specific attribute
*
* This element may or may not be present. It cannot be present more than
* once. It may have a 'src' attribute, in which case there's no content
* If not present, then the entry must have link with rel="alternate".
* If there is content we return it, if not and there's a 'src' attribute
* we return the value of that instead. The method can take an 'attribute'
* argument, in which case we return the value of that attribute if present.
* eg. $item->content("type") will return the type of the content. It is
* recommended that all users check the type before getting the content to
* ensure that their script is capable of handling the type of returned data.
* (data carried in the content element can be either 'text', 'html', 'xhtml',
* or any standard MIME type).
*
* @return string|false
*/
protected function getContent($method, $arguments = array()) {
$attribute = empty($arguments[0]) ? false : $arguments[0];
$tags = $this->model->getElementsByTagName('content');
 
if ($tags->length == 0) {
return false;
}
 
$content = $tags->item(0);
 
if (! $content->hasAttribute('type')) {
$content->setAttribute('type', 'text');
}
if (! empty($attribute)) {
return $content->getAttribute($attribute);
}
 
$type = $content->getAttribute('type');
 
if (! empty($attribute)) {
if ($content->hasAttribute($attribute))
{
return $content->getAttribute($attribute);
}
return false;
}
 
if ($content->hasAttribute('src')) {
return $content->getAttribute('src');
}
 
return $this->parseTextConstruct($content);
}
 
/**
* For compatibility, this method provides a mapping to access enclosures.
*
* The Atom spec doesn't provide for an enclosure element, but it is
* generally supported using the link element with rel='enclosure'.
*
* @param string $method - for compatibility with our __call usage
* @param array $arguments - for compatibility with our __call usage
* @return array|false
*/
function getEnclosure($method, $arguments = array()) {
$offset = isset($arguments[0]) ? $arguments[0] : 0;
$query = "//atom:entry[atom:id='" . $this->getText('id', false) .
"']/atom:link[@rel='enclosure']";
 
$encs = $this->parent->xpath->query($query);
if ($encs->length > $offset) {
try {
if (! $encs->item($offset)->hasAttribute('href')) {
return false;
}
$attrs = $encs->item($offset)->attributes;
$length = $encs->item($offset)->hasAttribute('length') ?
$encs->item($offset)->getAttribute('length') : false;
return array(
'url' => $attrs->getNamedItem('href')->value,
'type' => $attrs->getNamedItem('type')->value,
'length' => $length);
} catch (Exception $e) {
return false;
}
}
return false;
}
/**
* Get details of this entry's source, if available/relevant
*
* Where an atom:entry is taken from another feed then the aggregator
* is supposed to include an atom:source element which replicates at least
* the atom:id, atom:title, and atom:updated metadata from the original
* feed. Atom:source therefore has a very similar structure to atom:feed
* and if we find it we will return it as an XML_Feed_Parser_Atom object.
*
* @return XML_Feed_Parser_Atom|false
*/
function getSource() {
$test = $this->model->getElementsByTagName('source');
if ($test->length == 0) {
return false;
}
$source = new XML_Feed_Parser_Atom($test->item(0));
}
 
/**
* Get the entry as an XML string
*
* Return an XML serialization of the feed, should it be required. Most
* users however, will already have a serialization that they used when
* instantiating the object.
*
* @return string XML serialization of element
*/
function __toString() {
$simple = simplexml_import_dom($this->model);
return $simple->asXML();
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss09Element.php
New file
0,0 → 1,59
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS0.9 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS09Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 0.9 entries. It will usually be called by
* XML_Feed_Parser_RSS09 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss09Element extends XmlFeedParserRss09 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS09
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Link'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserException.php
New file
0,0 → 1,36
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Keeps the exception class for XML_Feed_Parser.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL
* @version CVS: $Id: Exception.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
/**
* XML_Feed_Parser_Exception is a simple extension of PEAR_Exception, existing
* to help with identification of the source of exceptions.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserException extends Exception {
 
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserAtom.php
New file
0,0 → 1,358
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Atom feed class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: Atom.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This is the class that determines how we manage Atom 1.0 feeds
*
* How we deal with constructs:
* date - return as unix datetime for use with the 'date' function unless specified otherwise
* text - return as is. optional parameter will give access to attributes
* person - defaults to name, but parameter based access
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserAtom extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'atom.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
public $xpath;
 
/**
* When performing XPath queries we will use this prefix
* @var string
*/
private $xpathPrefix = '//';
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'Atom 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserAtomElement';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'entry';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'author' => array('Person'),
'contributor' => array('Person'),
'icon' => array('Text'),
'logo' => array('Text'),
'id' => array('Text', 'fail'),
'rights' => array('Text'),
'subtitle' => array('Text'),
'title' => array('Text', 'fail'),
'updated' => array('Date', 'fail'),
'link' => array('Link'),
'generator' => array('Text'),
'category' => array('Category'),
'content' => array('Text'));
 
/**
* Here we provide a few mappings for those very special circumstances in
* which it makes sense to map back to the RSS2 spec. Key is RSS2 version
* value is an array consisting of the equivalent in atom and any attributes
* needed to make the mapping.
* @var array
*/
protected $compatMap = array(
'guid' => array('id'),
'links' => array('link'),
'tags' => array('category'),
'contributors' => array('contributor'));
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($this->model);
$this->xpath->registerNamespace('atom', 'http://www.w3.org/2005/Atom');
$this->numberEntries = $this->count('entry');
}
 
/**
* Implement retrieval of an entry based on its ID for atom feeds.
*
* This function uses XPath to get the entry based on its ID. If DOMXPath::evaluate
* is available, we also use that to store a reference to the entry in the array
* used by getEntryByOffset so that method does not have to seek out the entry
* if it's requested that way.
*
* @param string $id any valid Atom ID.
* @return XML_Feed_Parser_AtomElement
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//atom:entry[atom:id='$id']");
 
if ($entries->length > 0) {
$xmlBase = $entries->item(0)->baseURI;
$entry = new $this->itemClass($entries->item(0), $this, $xmlBase);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::atom:entry)", $entries->item(0));
$this->entries[$offset] = $entry;
}
 
$this->idMappings[$id] = $entry;
 
return $entry;
}
}
 
/**
* Retrieves data from a person construct.
*
* Get a person construct. We default to the 'name' element but allow
* access to any of the elements.
*
* @param string $method The name of the person construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string|false
*/
protected function getPerson($method, $arguments) {
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$parameter = empty($arguments[1]['param']) ? 'name' : $arguments[1]['param'];
$section = $this->model->getElementsByTagName($method);
if ($parameter == 'url') {
$parameter = 'uri';
}
 
if ($section->length <= $offset) {
return false;
}
 
$param = $section->item($offset)->getElementsByTagName($parameter);
if ($param->length == 0) {
return false;
}
return $param->item(0)->nodeValue;
}
 
/**
* Retrieves an element's content where that content is a text construct.
*
* Get a text construct. When calling this method, the two arguments
* allowed are 'offset' and 'attribute', so $parser->subtitle() would
* return the content of the element, while $parser->subtitle(false, 'type')
* would return the value of the type attribute.
*
* @todo Clarify overlap with getContent()
* @param string $method The name of the text construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string
*/
protected function getText($method, $arguments = Array()) {
$offset = empty($arguments[0]) ? 0: $arguments[0];
$attribute = empty($arguments[1]) ? false : $arguments[1];
$tags = $this->model->getElementsByTagName($method);
 
if ($tags->length <= $offset) {
return false;
}
 
$content = $tags->item($offset);
 
if (! $content->hasAttribute('type')) {
$content->setAttribute('type', 'text');
}
$type = $content->getAttribute('type');
 
if (! empty($attribute) and
! ($method == 'generator' and $attribute == 'name')) {
if ($content->hasAttribute($attribute)) {
return $content->getAttribute($attribute);
} else if ($attribute == 'href' and $content->hasAttribute('uri')) {
return $content->getAttribute('uri');
}
return false;
}
 
return $this->parseTextConstruct($content);
}
/**
* Extract content appropriately from atom text constructs
*
* Because of different rules applied to the content element and other text
* constructs, they are deployed as separate functions, but they share quite
* a bit of processing. This method performs the core common process, which is
* to apply the rules for different mime types in order to extract the content.
*
* @param DOMNode $content the text construct node to be parsed
* @return String
* @author James Stewart
**/
protected function parseTextConstruct(DOMNode $content) {
if ($content->hasAttribute('type')) {
$type = $content->getAttribute('type');
} else {
$type = 'text';
}
 
if (strpos($type, 'text/') === 0) {
$type = 'text';
}
 
switch ($type) {
case 'text':
case 'html':
return $content->textContent;
break;
case 'xhtml':
$container = $content->getElementsByTagName('div');
if ($container->length == 0) {
return false;
}
$contents = $container->item(0);
if ($contents->hasChildNodes()) {
/* Iterate through, applying xml:base and store the result */
$result = '';
foreach ($contents->childNodes as $node) {
$result .= $this->traverseNode($node);
}
return $result;
}
break;
case preg_match('@^[a-zA-Z]+/[a-zA-Z+]*xml@i', $type) > 0:
return $content;
break;
case 'application/octet-stream':
default:
return base64_decode(trim($content->nodeValue));
break;
}
return false;
}
/**
* Get a category from the entry.
*
* A feed or entry can have any number of categories. A category can have the
* attributes term, scheme and label.
*
* @param string $method The name of the text construct we want
* @param array $arguments An array which we hope gives a 'param'
* @return string
*/
function getCategory($method, $arguments) {
$offset = empty($arguments[0]) ? 0: $arguments[0];
$attribute = empty($arguments[1]) ? 'term' : $arguments[1];
$categories = $this->model->getElementsByTagName('category');
if ($categories->length <= $offset) {
$category = $categories->item($offset);
if ($category->hasAttribute($attribute)) {
return $category->getAttribute($attribute);
}
}
return false;
}
 
/**
* This element must be present at least once with rel="feed". This element may be
* present any number of further times so long as there is no clash. If no 'rel' is
* present and we're asked for one, we follow the example of the Universal Feed
* Parser and presume 'alternate'.
*
* @param int $offset the position of the link within the container
* @param string $attribute the attribute name required
* @param array an array of attributes to search by
* @return string the value of the attribute
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
if (is_array($params) and !empty($params)) {
$terms = array();
$alt_predicate = '';
$other_predicate = '';
 
foreach ($params as $key => $value) {
if ($key == 'rel' && $value == 'alternate') {
$alt_predicate = '[not(@rel) or @rel="alternate"]';
} else {
$terms[] = "@$key='$value'";
}
}
if (!empty($terms)) {
$other_predicate = '[' . join(' and ', $terms) . ']';
}
$query = $this->xpathPrefix . 'atom:link' . $alt_predicate . $other_predicate;
$links = $this->xpath->query($query);
} else {
$links = $this->model->getElementsByTagName('link');
}
if ($links->length > $offset) {
if ($links->item($offset)->hasAttribute($attribute)) {
$value = $links->item($offset)->getAttribute($attribute);
if ($attribute == 'href') {
$value = $this->addBase($value, $links->item($offset));
}
return $value;
} else if ($attribute == 'rel') {
return 'alternate';
}
}
return false;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss09.php
New file
0,0 → 1,215
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS0.9 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS09.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS0.9 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Find a Relax NG URI we can use
*/
class XmlFeedParserRss09 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = '';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 0.9';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss09Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'textinput' => array('TextInput'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
 
/**
* Our constructor does nothing more than its parent.
*
* @todo RelaxNG validation
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Included for compatibility -- will not work with RSS 0.9
*
* This is not something that will work with RSS0.9 as it does not have
* clear restrictions on the global uniqueness of IDs.
*
* @param string $id any valid ID.
* @return false
*/
function getEntryById($id) {
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'link' => $image->getElementsByTagName('link')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details,
array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) &&
$input->attributes->getNamedItem('resource')) {
$results['link'] = $input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
/**
* Get details of a link from the feed.
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
 
/**
* Not implemented - no available validation.
*/
public function relaxNGValidate() {
return true;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserType.php
New file
0,0 → 1,455
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Abstract class providing common methods for XML_Feed_Parser feeds.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: Type.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This abstract class provides some general methods that are likely to be
* implemented exactly the same way for all feed types.
*
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
*/
abstract class XmlFeedParserType {
/**
* Where we store our DOM object for this feed
* @var DOMDocument
*/
public $model;
 
/**
* For iteration we'll want a count of the number of entries
* @var int
*/
public $numberEntries;
 
/**
* Where we store our entry objects once instantiated
* @var array
*/
public $entries = array();
 
/**
* Store mappings between entry IDs and their position in the feed
*/
public $idMappings = array();
 
/**
* Proxy to allow use of element names as method names
*
* We are not going to provide methods for every entry type so this
* function will allow for a lot of mapping. We rely pretty heavily
* on this to handle our mappings between other feed types and atom.
*
* @param string $call - the method attempted
* @param array $arguments - arguments to that method
* @return mixed
*/
function __call($call, $arguments = array()) {
if (! is_array($arguments)) {
$arguments = array();
}
 
if (isset($this->compatMap[$call])) {
$tempMap = $this->compatMap;
$tempcall = array_pop($tempMap[$call]);
if (! empty($tempMap)) {
$arguments = array_merge($arguments, $tempMap[$call]);
}
$call = $tempcall;
}
 
/* To be helpful, we allow a case-insensitive search for this method */
if (! isset($this->map[$call])) {
foreach (array_keys($this->map) as $key) {
if (strtoupper($key) == strtoupper($call)) {
$call = $key;
break;
}
}
}
 
if (empty($this->map[$call])) {
return false;
}
 
$method = 'get' . $this->map[$call][0];
if ($method == 'getLink') {
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$attribute = empty($arguments[1]) ? 'href' : $arguments[1];
$params = isset($arguments[2]) ? $arguments[2] : array();
return $this->getLink($offset, $attribute, $params);
}
if (method_exists($this, $method)) {
return $this->$method($call, $arguments);
}
 
return false;
}
 
/**
* Proxy to allow use of element names as attribute names
*
* For many elements variable-style access will be desirable. This function
* provides for that.
*
* @param string $value - the variable required
* @return mixed
*/
function __get($value) {
return $this->__call($value, array());
}
 
/**
* Utility function to help us resolve xml:base values
*
* We have other methods which will traverse the DOM and work out the different
* xml:base declarations we need to be aware of. We then need to combine them.
* If a declaration starts with a protocol then we restart the string. If it
* starts with a / then we add on to the domain name. Otherwise we simply tag
* it on to the end.
*
* @param string $base - the base to add the link to
* @param string $link
*/
function combineBases($base, $link) {
if (preg_match('/^[A-Za-z]+:\/\//', $link)) {
return $link;
} else if (preg_match('/^\//', $link)) {
/* Extract domain and suffix link to that */
preg_match('/^([A-Za-z]+:\/\/.*)?\/*/', $base, $results);
$firstLayer = $results[0];
return $firstLayer . "/" . $link;
} else if (preg_match('/^\.\.\//', $base)) {
/* Step up link to find place to be */
preg_match('/^((\.\.\/)+)(.*)$/', $link, $bases);
$suffix = $bases[3];
$count = preg_match_all('/\.\.\//', $bases[1], $steps);
$url = explode("/", $base);
for ($i = 0; $i <= $count; $i++) {
array_pop($url);
}
return implode("/", $url) . "/" . $suffix;
} else if (preg_match('/^(?!\/$)/', $base)) {
$base = preg_replace('/(.*\/).*$/', '$1', $base) ;
return $base . $link;
} else {
/* Just stick it on the end */
return $base . $link;
}
}
 
/**
* Determine whether we need to apply our xml:base rules
*
* Gets us the xml:base data and then processes that with regard
* to our current link.
*
* @param string
* @param DOMElement
* @return string
*/
function addBase($link, $element) {
if (preg_match('/^[A-Za-z]+:\/\//', $link)) {
return $link;
}
 
return $this->combineBases($element->baseURI, $link);
}
 
/**
* Get an entry by its position in the feed, starting from zero
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by ID.
*
* @param int $offset
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryByOffset($offset) {
if (! isset($this->entries[$offset])) {
$entries = $this->model->getElementsByTagName($this->itemElement);
if ($entries->length > $offset) {
$xmlBase = $entries->item($offset)->baseURI;
$this->entries[$offset] = new $this->itemClass(
$entries->item($offset), $this, $xmlBase);
if ($id = $this->entries[$offset]->id) {
$this->idMappings[$id] = $this->entries[$offset];
}
} else {
throw new XML_Feed_Parser_Exception('No entries found');
}
}
 
return $this->entries[$offset];
}
 
/**
* Return a date in seconds since epoch.
*
* Get a date construct. We use PHP's strtotime to return it as a unix datetime, which
* is the number of seconds since 1970-01-01 00:00:00.
*
* @link http://php.net/strtotime
* @param string $method The name of the date construct we want
* @param array $arguments Included for compatibility with our __call usage
* @return int|false datetime
*/
protected function getDate($method, $arguments) {
$time = $this->model->getElementsByTagName($method);
if ($time->length == 0 || empty($time->item(0)->nodeValue)) {
return false;
}
return strtotime($time->item(0)->nodeValue);
}
 
/**
* Get a text construct.
*
* @param string $method The name of the text construct we want
* @param array $arguments Included for compatibility with our __call usage
* @return string
*/
protected function getText($method, $arguments = array()) {
$tags = $this->model->getElementsByTagName($method);
if ($tags->length > 0) {
$value = $tags->item(0)->nodeValue;
return $value;
}
return false;
}
 
/**
* Apply various rules to retrieve category data.
*
* There is no single way of declaring a category in RSS1/1.1 as there is in RSS2
* and Atom. Instead the usual approach is to use the dublin core namespace to
* declare categories. For example delicious use both:
* <dc:subject>PEAR</dc:subject> and: <taxo:topics><rdf:Bag>
* <rdf:li resource="http://del.icio.us/tag/PEAR" /></rdf:Bag></taxo:topics>
* to declare a categorisation of 'PEAR'.
*
* We need to be sensitive to this where possible.
*
* @param string $call for compatibility with our overloading
* @param array $arguments - arg 0 is the offset, arg 1 is whether to return as array
* @return string|array|false
*/
protected function getCategory($call, $arguments) {
$categories = $this->model->getElementsByTagName('subject');
$offset = empty($arguments[0]) ? 0 : $arguments[0];
$array = empty($arguments[1]) ? false : true;
if ($categories->length <= $offset) {
return false;
}
if ($array) {
$list = array();
foreach ($categories as $category) {
array_push($list, $category->nodeValue);
}
return $list;
}
return $categories->item($offset)->nodeValue;
}
 
/**
* Count occurrences of an element
*
* This function will tell us how many times the element $type
* appears at this level of the feed.
*
* @param string $type the element we want to get a count of
* @return int
*/
protected function count($type) {
if ($tags = $this->model->getElementsByTagName($type)) {
return $tags->length;
}
return 0;
}
 
/**
* Part of our xml:base processing code
*
* We need a couple of methods to access XHTML content stored in feeds.
* This is because we dereference all xml:base references before returning
* the element. This method handles the attributes.
*
* @param DOMElement $node The DOM node we are iterating over
* @return string
*/
function processXHTMLAttributes($node) {
$return = '';
foreach ($node->attributes as $attribute) {
if ($attribute->name == 'src' or $attribute->name == 'href') {
$attribute->value = $this->addBase(htmlentities($attribute->value, NULL, 'utf-8'), $attribute);
}
if ($attribute->name == 'base') {
continue;
}
$return .= $attribute->name . '="' . htmlentities($attribute->value, NULL, 'utf-8') .'" ';
}
if (! empty($return)) {
return ' ' . trim($return);
}
return '';
}
 
/**
* Convert HTML entities based on the current character set.
*
* @param String
* @return String
*/
function processEntitiesForNodeValue($node) {
if (function_exists('iconv')) {
$current_encoding = $node->ownerDocument->encoding;
$value = iconv($current_encoding, 'UTF-8', $node->nodeValue);
} else if ($current_encoding == 'iso-8859-1') {
$value = utf8_encode($node->nodeValue);
} else {
$value = $node->nodeValue;
}
 
$decoded = html_entity_decode($value, NULL, 'UTF-8');
return htmlentities($decoded, NULL, 'UTF-8');
}
 
/**
* Part of our xml:base processing code
*
* We need a couple of methods to access XHTML content stored in feeds.
* This is because we dereference all xml:base references before returning
* the element. This method recurs through the tree descending from the node
* and builds our string.
*
* @param DOMElement $node The DOM node we are processing
* @return string
*/
function traverseNode($node) {
$content = '';
 
/* Add the opening of this node to the content */
if ($node instanceof DOMElement) {
$content .= '<' . $node->tagName .
$this->processXHTMLAttributes($node) . '>';
}
 
/* Process children */
if ($node->hasChildNodes()) {
foreach ($node->childNodes as $child) {
$content .= $this->traverseNode($child);
}
}
 
if ($node instanceof DOMText) {
$content .= $this->processEntitiesForNodeValue($node);
}
 
/* Add the closing of this node to the content */
if ($node instanceof DOMElement) {
$content .= '</' . $node->tagName . '>';
}
 
return $content;
}
 
/**
* Get content from RSS feeds (atom has its own implementation)
*
* The official way to include full content in an RSS1 entry is to use
* the content module's element 'encoded', and RSS2 feeds often duplicate that.
* Often, however, the 'description' element is used instead. We will offer that
* as a fallback. Atom uses its own approach and overrides this method.
*
* @return string|false
*/
protected function getContent() {
$options = array('encoded', 'description');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length == 0) {
continue;
}
if ($test->item(0)->hasChildNodes()) {
$value = '';
foreach ($test->item(0)->childNodes as $child) {
if ($child instanceof DOMText) {
$value .= $child->nodeValue;
} else {
$simple = simplexml_import_dom($child);
$value .= $simple->asXML();
}
}
return $value;
} else if ($test->length > 0) {
return $test->item(0)->nodeValue;
}
}
return false;
}
 
/**
* Checks if this element has a particular child element.
*
* @param String
* @param Integer
* @return bool
**/
function hasKey($name, $offset = 0) {
$search = $this->model->getElementsByTagName($name);
return $search->length > $offset;
}
 
/**
* Return an XML serialization of the feed, should it be required. Most
* users however, will already have a serialization that they used when
* instantiating the object.
*
* @return string XML serialization of element
*/
function __toString() {
$simple = simplexml_import_dom($this->model);
return $simple->asXML();
}
/**
* Get directory holding RNG schemas. Method is based on that
* found in Contact_AddressBook.
*
* @return string PEAR data directory.
* @access public
* @static
*/
static function getSchemaDir() {
return dirname(__FILE__).'/../schemas';
}
 
public function relaxNGValidate() {
$dir = self::getSchemaDir();
$path = $dir . '/' . $this->relax;
return $this->model->relaxNGValidate($path);
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss1Element.php
New file
0,0 → 1,111
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS1Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 1.0 entries. It will usually be called by
* XML_Feed_Parser_RSS1 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss1Element extends XmlFeedParserRss1 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS1
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'id' => array('Id'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'), # or dc:description
'category' => array('Category'),
'rights' => array('Text'), # dc:rights
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date'), # dc:date
'content' => array('Content')
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS1.
* @var array
*/
protected $compatMap = array(
'content' => array('content'),
'updated' => array('lastBuildDate'),
'published' => array('date'),
'subtitle' => array('description'),
'updated' => array('date'),
'author' => array('creator'),
'contributor' => array('contributor')
);
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* If an rdf:about attribute is specified, return it as an ID
*
* There is no established way of showing an ID for an RSS1 entry. We will
* simulate it using the rdf:about attribute of the entry element. This cannot
* be relied upon for unique IDs but may prove useful.
*
* @return string|false
*/
function getId() {
if ($this->model->attributes->getNamedItem('about')) {
return $this->model->attributes->getNamedItem('about')->nodeValue;
}
return false;
}
 
/**
* How RSS1 should support for enclosures is not clear. For now we will return
* false.
*
* @return false
*/
function getEnclosure() {
return false;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss11Element.php
New file
0,0 → 1,145
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 Element class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS11Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/*
* This class provides support for RSS 1.1 entries. It will usually be called by
* XML_Feed_Parser_RSS11 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss11Element extends XmlFeedParserRss11 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS1
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'id' => array('Id'),
'title' => array('Text'),
'link' => array('Link'),
'description' => array('Text'), # or dc:description
'category' => array('Category'),
'rights' => array('Text'), # dc:rights
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date'), # dc:date
'content' => array('Content')
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS1.
* @var array
*/
protected $compatMap = array(
'content' => array('content'),
'updated' => array('lastBuildDate'),
'published' => array('date'),
'subtitle' => array('description'),
'updated' => array('date'),
'author' => array('creator'),
'contributor' => array('contributor')
);
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS1 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* If an rdf:about attribute is specified, return that as an ID
*
* There is no established way of showing an ID for an RSS1 entry. We will
* simulate it using the rdf:about attribute of the entry element. This cannot
* be relied upon for unique IDs but may prove useful.
*
* @return string|false
*/
function getId() {
if ($this->model->attributes->getNamedItem('about')) {
return $this->model->attributes->getNamedItem('about')->nodeValue;
}
return false;
}
 
/**
* Return the entry's content
*
* The official way to include full content in an RSS1 entry is to use
* the content module's element 'encoded'. Often, however, the 'description'
* element is used instead. We will offer that as a fallback.
*
* @return string|false
*/
function getContent() {
$options = array('encoded', 'description');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length == 0) {
continue;
}
if ($test->item(0)->hasChildNodes()) {
$value = '';
foreach ($test->item(0)->childNodes as $child) {
if ($child instanceof DOMText) {
$value .= $child->nodeValue;
} else {
$simple = simplexml_import_dom($child);
$value .= $simple->asXML();
}
}
return $value;
} else if ($test->length > 0) {
return $test->item(0)->nodeValue;
}
}
return false;
}
/**
* How RSS1.1 should support for enclosures is not clear. For now we will return
* false.
*
* @return false
*/
function getEnclosure() {
return false;
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss2Element.php
New file
0,0 → 1,166
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Class representing entries in an RSS2 feed.
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS2Element.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class provides support for RSS 2.0 entries. It will usually be
* called by XML_Feed_Parser_RSS2 with which it shares many methods.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParserRss2Element extends XmlFeedParserRss2 {
/**
* This will be a reference to the parent object for when we want
* to use a 'fallback' rule
* @var XML_Feed_Parser_RSS2
*/
protected $parent;
 
/**
* Our specific element map
* @var array
*/
protected $map = array(
'title' => array('Text'),
'guid' => array('Guid'),
'description' => array('Text'),
'author' => array('Text'),
'comments' => array('Text'),
'enclosure' => array('Enclosure'),
'pubDate' => array('Date'),
'source' => array('Source'),
'link' => array('Text'),
'content' => array('Content'));
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'id' => array('guid'),
'updated' => array('lastBuildDate'),
'published' => array('pubdate'),
'guidislink' => array('guid', 'ispermalink'),
'summary' => array('description'));
 
/**
* Store useful information for later.
*
* @param DOMElement $element - this item as a DOM element
* @param XML_Feed_Parser_RSS2 $parent - the feed of which this is a member
*/
function __construct(DOMElement $element, $parent, $xmlBase = '') {
$this->model = $element;
$this->parent = $parent;
}
 
/**
* Get the value of the guid element, if specified
*
* guid is the closest RSS2 has to atom's ID. It is usually but not always a
* URI. The one attribute that RSS2 can posess is 'ispermalink' which specifies
* whether the guid is itself dereferencable. Use of guid is not obligatory,
* but is advisable. To get the guid you would call $item->id() (for atom
* compatibility) or $item->guid(). To check if this guid is a permalink call
* $item->guid("ispermalink").
*
* @param string $method - the method name being called
* @param array $params - parameters required
* @return string the guid or value of ispermalink
*/
protected function getGuid($method, $params) {
$attribute = (isset($params[0]) and $params[0] == 'ispermalink') ?
true : false;
$tag = $this->model->getElementsByTagName('guid');
if ($tag->length > 0) {
if ($attribute) {
if ($tag->hasAttribute("ispermalink")) {
return $tag->getAttribute("ispermalink");
}
}
return $tag->item(0)->nodeValue;
}
return false;
}
 
/**
* Access details of file enclosures
*
* The RSS2 spec is ambiguous as to whether an enclosure element must be
* unique in a given entry. For now we will assume it needn't, and allow
* for an offset.
*
* @param string $method - the method being called
* @param array $parameters - we expect the first of these to be our offset
* @return array|false
*/
protected function getEnclosure($method, $parameters) {
$encs = $this->model->getElementsByTagName('enclosure');
$offset = isset($parameters[0]) ? $parameters[0] : 0;
if ($encs->length > $offset) {
try {
if (! $encs->item($offset)->hasAttribute('url')) {
return false;
}
$attrs = $encs->item($offset)->attributes;
return array(
'url' => $attrs->getNamedItem('url')->value,
'length' => $attrs->getNamedItem('length')->value,
'type' => $attrs->getNamedItem('type')->value);
} catch (Exception $e) {
return false;
}
}
return false;
}
 
/**
* Get the entry source if specified
*
* source is an optional sub-element of item. Like atom:source it tells
* us about where the entry came from (eg. if it's been copied from another
* feed). It is not a rich source of metadata in the same way as atom:source
* and while it would be good to maintain compatibility by returning an
* XML_Feed_Parser_RSS2 element, it makes a lot more sense to return an array.
*
* @return array|false
*/
protected function getSource() {
$get = $this->model->getElementsByTagName('source');
if ($get->length) {
$source = $get->item(0);
$array = array(
'content' => $source->nodeValue);
foreach ($source->attributes as $attribute) {
$array[$attribute->name] = $attribute->value;
}
return $array;
}
return false;
}
}
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/parsers/XmlFeedParserRss1.php
New file
0,0 → 1,267
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* RSS1 class for XML_Feed_Parser
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL 2.1
* @version CVS: $Id: RSS1.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This class handles RSS1.0 feeds.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
* @todo Find a Relax NG URI we can use
*/
class XmlFeedParserRss1 extends XmlFeedParserType {
/**
* The URI of the RelaxNG schema used to (optionally) validate the feed
* @var string
*/
protected $relax = 'rss10.rng';
 
/**
* We're likely to use XPath, so let's keep it global
* @var DOMXPath
*/
protected $xpath;
 
/**
* The feed type we are parsing
* @var string
*/
public $version = 'RSS 1.0';
 
/**
* The class used to represent individual items
* @var string
*/
protected $itemClass = 'XmlFeedParserRss1Element';
/**
* The element containing entries
* @var string
*/
protected $itemElement = 'item';
 
/**
* Here we map those elements we're not going to handle individually
* to the constructs they are. The optional second parameter in the array
* tells the parser whether to 'fall back' (not apt. at the feed level) or
* fail if the element is missing. If the parameter is not set, the function
* will simply return false and leave it to the client to decide what to do.
* @var array
*/
protected $map = array(
'title' => array('Text'),
'link' => array('Text'),
'description' => array('Text'),
'image' => array('Image'),
'textinput' => array('TextInput'),
'updatePeriod' => array('Text'),
'updateFrequency' => array('Text'),
'updateBase' => array('Date'),
'rights' => array('Text'), # dc:rights
'description' => array('Text'), # dc:description
'creator' => array('Text'), # dc:creator
'publisher' => array('Text'), # dc:publisher
'contributor' => array('Text'), # dc:contributor
'date' => array('Date') # dc:contributor
);
 
/**
* Here we map some elements to their atom equivalents. This is going to be
* quite tricky to pull off effectively (and some users' methods may vary)
* but is worth trying. The key is the atom version, the value is RSS2.
* @var array
*/
protected $compatMap = array(
'title' => array('title'),
'link' => array('link'),
'subtitle' => array('description'),
'author' => array('creator'),
'updated' => array('date'));
 
/**
* We will be working with multiple namespaces and it is useful to
* keep them together
* @var array
*/
protected $namespaces = array(
'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'rss' => 'http://purl.org/rss/1.0/',
'dc' => 'http://purl.org/rss/1.0/modules/dc/',
'content' => 'http://purl.org/rss/1.0/modules/content/',
'sy' => 'http://web.resource.org/rss/1.0/modules/syndication/');
 
/**
* Our constructor does nothing more than its parent.
*
* @param DOMDocument $xml A DOM object representing the feed
* @param bool (optional) $string Whether or not to validate this feed
*/
function __construct(DOMDocument $model, $strict = false) {
$this->model = $model;
if ($strict) {
if (! $this->relaxNGValidate()) {
throw new XML_Feed_Parser_Exception('Failed required validation');
}
}
 
$this->xpath = new DOMXPath($model);
foreach ($this->namespaces as $key => $value) {
$this->xpath->registerNamespace($key, $value);
}
$this->numberEntries = $this->count('item');
}
 
/**
* Allows retrieval of an entry by ID where the rdf:about attribute is used
*
* This is not really something that will work with RSS1 as it does not have
* clear restrictions on the global uniqueness of IDs. We will employ the
* _very_ hit and miss method of selecting entries based on the rdf:about
* attribute. If DOMXPath::evaluate is available, we also use that to store
* a reference to the entry in the array used by getEntryByOffset so that
* method does not have to seek out the entry if it's requested that way.
*
* @param string $id any valid ID.
* @return XML_Feed_Parser_RSS1Element
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->entries[$this->idMappings[$id]];
}
 
$entries = $this->xpath->query("//rss:item[@rdf:about='$id']");
if ($entries->length > 0) {
$classname = $this->itemClass;
$entry = new $classname($entries->item(0), $this);
if (in_array('evaluate', get_class_methods($this->xpath))) {
$offset = $this->xpath->evaluate("count(preceding-sibling::rss:item)", $entries->item(0));
$this->entries[$offset] = $entry;
}
$this->idMappings[$id] = $entry;
return $entry;
}
return false;
}
 
/**
* Get details of the image associated with the feed.
*
* @return array|false an array simply containing the child elements
*/
protected function getImage() {
$images = $this->model->getElementsByTagName('image');
if ($images->length > 0) {
$image = $images->item(0);
$details = array();
if ($image->hasChildNodes()) {
$details = array(
'title' => $image->getElementsByTagName('title')->item(0)->value,
'link' => $image->getElementsByTagName('link')->item(0)->value,
'url' => $image->getElementsByTagName('url')->item(0)->value);
} else {
$details = array('title' => false,
'link' => false,
'url' => $image->attributes->getNamedItem('resource')->nodeValue);
}
$details = array_merge($details, array('description' => false, 'height' => false, 'width' => false));
if (! empty($details)) {
return $details;
}
}
return false;
}
 
/**
* The textinput element is little used, but in the interests of
* completeness we will support it.
*
* @return array|false
*/
protected function getTextInput() {
$inputs = $this->model->getElementsByTagName('textinput');
if ($inputs->length > 0) {
$input = $inputs->item(0);
$results = array();
$results['title'] = isset(
$input->getElementsByTagName('title')->item(0)->value) ?
$input->getElementsByTagName('title')->item(0)->value : null;
$results['description'] = isset(
$input->getElementsByTagName('description')->item(0)->value) ?
$input->getElementsByTagName('description')->item(0)->value : null;
$results['name'] = isset(
$input->getElementsByTagName('name')->item(0)->value) ?
$input->getElementsByTagName('name')->item(0)->value : null;
$results['link'] = isset(
$input->getElementsByTagName('link')->item(0)->value) ?
$input->getElementsByTagName('link')->item(0)->value : null;
if (empty($results['link']) and
$input->attributes->getNamedItem('resource')) {
$results['link'] =
$input->attributes->getNamedItem('resource')->nodeValue;
}
if (! empty($results)) {
return $results;
}
}
return false;
}
 
/**
* Employs various techniques to identify the author
*
* Dublin Core provides the dc:creator, dc:contributor, and dc:publisher
* elements for defining authorship in RSS1. We will try each of those in
* turn in order to simulate the atom author element and will return it
* as text.
*
* @return array|false
*/
function getAuthor() {
$options = array('creator', 'contributor', 'publisher');
foreach ($options as $element) {
$test = $this->model->getElementsByTagName($element);
if ($test->length > 0) {
return $test->item(0)->value;
}
}
return false;
}
/**
* Retrieve a link
*
* In RSS1 a link is a text element but in order to ensure that we resolve
* URLs properly we have a special function for them.
*
* @return string
*/
function getLink($offset = 0, $attribute = 'href', $params = false) {
$links = $this->model->getElementsByTagName('link');
if ($links->length <= $offset) {
return false;
}
$link = $links->item($offset);
return $this->addBase($link->nodeValue, $link);
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/schemas/README
New file
0,0 → 1,9
Most of these schemas are only available in RNC (RelaxNG, Compact) format.
 
libxml (and therefor PHP) only supports RelaxNG - the XML version.
 
To update these, you will need a conversion utility, like trang (http://www.thaiopensource.com/relaxng/trang.html).
 
 
 
clockwerx@clockwerx-desktop:~/trang$ java -jar trang.jar -I rnc -O rng http://atompub.org/2005/08/17/atom.rnc atom.rng
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/schemas/rss10.rng
New file
0,0 → 1,113
<?xml version='1.0' encoding='UTF-8'?>
<!-- http://www.xml.com/lpt/a/2002/01/23/relaxng.html -->
<!-- http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html -->
<!-- http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_wildcards_st8.html -->
 
<grammar xmlns='http://relaxng.org/ns/structure/1.0'
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
ns='http://purl.org/rss/1.0/'
datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'>
 
<start>
<element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<ref name='RDFContent'/>
</element>
</start>
 
<define name='RDFContent' ns='http://purl.org/rss/1.0/'>
<interleave>
<element name='channel'>
<ref name='channelContent'/>
</element>
<optional>
<element name='image'><ref name='imageContent'/></element>
</optional>
<oneOrMore>
<element name='item'><ref name='itemContent'/></element>
</oneOrMore>
</interleave>
</define>
 
<define name='channelContent' combine="interleave">
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<element name='description'><data type='string'/></element>
<element name='image'>
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</element>
<element name='items'>
<ref name='itemsContent'/>
</element>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
<define name="itemsContent">
<element name="Seq" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<oneOrMore>
<element name="li" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<choice>
<attribute name='resource'> <!-- Why doesn't RDF/RSS1.0 ns qualify this attribute? -->
<data type='anyURI'/>
</attribute>
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</choice>
</element>
</oneOrMore>
</element>
</define>
<define name='imageContent'>
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<element name='url'><data type='anyURI'/></element>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
 
<define name='itemContent'>
<interleave>
<element name='title'><data type='string'/></element>
<element name='link'><data type='anyURI'/></element>
<optional><element name='description'><data type='string'/></element></optional>
<ref name="anyThing"/>
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<data type='anyURI'/>
</attribute>
</interleave>
</define>
 
<define name='anyThing'>
<zeroOrMore>
<choice>
<text/>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<ref name='anyThing'/>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
</element>
</choice>
</zeroOrMore>
</define>
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/schemas/rss11.rng
New file
0,0 → 1,218
<?xml version="1.0" encoding="UTF-8"?>
<!--
RELAX NG Compact Schema for RSS 1.1
Sean B. Palmer, inamidst.com
Christopher Schmidt, crschmidt.net
License: This schema is in the public domain
-->
<grammar xmlns:rss="http://purl.org/net/rss1.1#" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns="http://purl.org/net/rss1.1#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<ref name="Channel"/>
</start>
<define name="Channel">
<a:documentation>http://purl.org/net/rss1.1#Channel</a:documentation>
<element name="Channel">
<ref name="Channel.content"/>
 
</element>
</define>
<define name="Channel.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<optional>
<ref name="AttrXMLBase"/>
</optional>
 
<ref name="AttrRDFAbout"/>
<interleave>
<ref name="title"/>
<ref name="link"/>
<ref name="description"/>
<optional>
<ref name="image"/>
</optional>
<zeroOrMore>
 
<ref name="Any"/>
</zeroOrMore>
<ref name="items"/>
</interleave>
</define>
<define name="title">
<a:documentation>http://purl.org/net/rss1.1#title</a:documentation>
<element name="title">
 
<ref name="title.content"/>
</element>
</define>
<define name="title.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<text/>
</define>
 
<define name="link">
<a:documentation>http://purl.org/net/rss1.1#link</a:documentation>
<element name="link">
<ref name="link.content"/>
</element>
</define>
<define name="link.content">
<data type="anyURI"/>
 
</define>
<define name="description">
<a:documentation>http://purl.org/net/rss1.1#description</a:documentation>
<element name="description">
<ref name="description.content"/>
</element>
</define>
<define name="description.content">
 
<optional>
<ref name="AttrXMLLang"/>
</optional>
<text/>
</define>
<define name="image">
<a:documentation>http://purl.org/net/rss1.1#image</a:documentation>
<element name="image">
 
<ref name="image.content"/>
</element>
</define>
<define name="image.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFResource"/>
<interleave>
 
<ref name="title"/>
<optional>
<ref name="link"/>
</optional>
<ref name="url"/>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</interleave>
 
</define>
<define name="url">
<a:documentation>http://purl.org/net/rss1.1#url</a:documentation>
<element name="url">
<ref name="url.content"/>
</element>
</define>
<define name="url.content">
 
<data type="anyURI"/>
</define>
<define name="items">
<a:documentation>http://purl.org/net/rss1.1#items</a:documentation>
<element name="items">
<ref name="items.content"/>
</element>
</define>
 
<define name="items.content">
<optional>
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFCollection"/>
<zeroOrMore>
<ref name="item"/>
</zeroOrMore>
</define>
 
<define name="item">
<a:documentation>http://purl.org/net/rss1.1#item</a:documentation>
<element name="item">
<ref name="item.content"/>
</element>
</define>
<define name="item.content">
<optional>
 
<ref name="AttrXMLLang"/>
</optional>
<ref name="AttrRDFAbout"/>
<interleave>
<ref name="title"/>
<ref name="link"/>
<optional>
<ref name="description"/>
</optional>
 
<optional>
<ref name="image"/>
</optional>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</interleave>
</define>
<define name="Any">
 
<a:documentation>http://purl.org/net/rss1.1#Any</a:documentation>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<ref name="Any.content"/>
 
</element>
</define>
<define name="Any.content">
<zeroOrMore>
<attribute>
<anyName>
<except>
<nsName/>
<nsName ns=""/>
 
</except>
</anyName>
</attribute>
</zeroOrMore>
<mixed>
<zeroOrMore>
<ref name="Any"/>
</zeroOrMore>
</mixed>
 
</define>
<define name="AttrXMLLang">
<attribute name="xml:lang">
<data type="language"/>
</attribute>
</define>
<define name="AttrXMLBase">
<attribute name="xml:base">
<data type="anyURI"/>
 
</attribute>
</define>
<define name="AttrRDFAbout">
<attribute name="rdf:about">
<data type="anyURI"/>
</attribute>
</define>
<define name="AttrRDFResource">
<attribute name="rdf:parseType">
 
<value>Resource</value>
</attribute>
</define>
<define name="AttrRDFCollection">
<attribute name="rdf:parseType">
<value>Collection</value>
</attribute>
</define>
 
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/schemas/rss20.rng
New file
0,0 → 1,298
<?xml version="1.0" encoding="utf-8"?>
 
<!-- ======================================================================
* Author: Dino Morelli
* Began: 2004-Feb-18
* Build #: 0001
* Version: 0.1
* E-Mail: dino.morelli@snet.net
* URL: (none yet)
* License: (none yet)
*
* ========================================================================
*
* RSS v2.0 Relax NG schema
*
* ==================================================================== -->
 
 
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
 
<start>
<ref name="element-rss" />
</start>
 
<define name="element-title">
<element name="title">
 
<text />
</element>
</define>
 
<define name="element-description">
<element name="description">
<text />
</element>
</define>
 
<define name="element-link">
<element name="link">
<text />
</element>
</define>
 
<define name="element-category">
<element name="category">
<optional>
 
<attribute name="domain" />
</optional>
<text />
</element>
</define>
 
<define name="element-rss">
<element name="rss">
<attribute name="version">
 
<value>2.0</value>
</attribute>
<element name="channel">
<interleave>
<ref name="element-title" />
<ref name="element-link" />
<ref name="element-description" />
<optional>
 
<element name="language"><text /></element>
</optional>
<optional>
<element name="copyright"><text /></element>
</optional>
<optional>
<element name="lastBuildDate"><text /></element>
</optional>
<optional>
 
<element name="docs"><text /></element>
</optional>
<optional>
<element name="generator"><text /></element>
</optional>
<optional>
<ref name="element-category" />
</optional>
<optional>
 
<element name="managingEditor"><text /></element>
</optional>
<optional>
<element name="webMaster"><text /></element>
</optional>
<optional>
<element name="pubDate"><text /></element>
</optional>
<optional>
 
<element name="rating"><text /></element>
</optional>
<optional>
<element name="image">
<interleave>
<element name="url"><text /></element>
<ref name="element-title" />
<ref name="element-link" />
<optional>
 
<element name="width"><text /></element>
</optional>
<optional>
<element name="height"><text /></element>
</optional>
<optional>
<ref name="element-description" />
</optional>
</interleave>
 
</element>
</optional>
<optional>
<element name="cloud">
<attribute name="domain" />
<attribute name="port" />
<attribute name="path" />
<attribute name="registerProcedure" />
<attribute name="protocol" />
 
</element>
</optional>
<optional>
<element name="textInput">
<interleave>
<ref name="element-title" />
<ref name="element-description" />
<element name="name"><text /></element>
<ref name="element-link" />
 
</interleave>
</element>
</optional>
<optional>
<element name="skipHours">
<oneOrMore>
<element name="hour">
<choice>
<value>0</value>
 
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
 
<value>7</value>
<value>8</value>
<value>9</value>
<value>10</value>
<value>11</value>
<value>12</value>
 
<value>13</value>
<value>14</value>
<value>15</value>
<value>16</value>
<value>17</value>
<value>18</value>
 
<value>19</value>
<value>20</value>
<value>21</value>
<value>22</value>
<value>23</value>
</choice>
 
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="skipDays">
<oneOrMore>
<element name="day">
<choice>
 
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
 
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<value>10</value>
<value>11</value>
 
<value>12</value>
<value>13</value>
<value>14</value>
<value>15</value>
<value>16</value>
<value>17</value>
 
<value>18</value>
<value>19</value>
<value>20</value>
<value>21</value>
<value>22</value>
<value>23</value>
 
<value>24</value>
<value>25</value>
<value>26</value>
<value>27</value>
<value>28</value>
<value>29</value>
 
<value>30</value>
<value>31</value>
</choice>
</element>
</oneOrMore>
</element>
</optional>
<optional>
 
<element name="ttl"><text /></element>
</optional>
<zeroOrMore>
<element name="item">
<interleave>
<choice>
<ref name="element-title" />
<ref name="element-description" />
<interleave>
 
<ref name="element-title" />
<ref name="element-description" />
</interleave>
</choice>
<optional>
<ref name="element-link" />
</optional>
<optional>
<element name="author"><text /></element>
 
</optional>
<optional>
<ref name="element-category" />
</optional>
<optional>
<element name="comments"><text /></element>
</optional>
<optional>
<element name="enclosure">
 
<attribute name="url" />
<attribute name="length" />
<attribute name="type" />
<text />
</element>
</optional>
<optional>
<element name="guid">
<optional>
 
<attribute name="isPermaLink">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<text />
 
</element>
</optional>
<optional>
<element name="pubDate"><text /></element>
</optional>
<optional>
<element name="source">
<attribute name="url" />
<text />
 
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>
</element>
</define>
 
</grammar>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/schemas/atom.rng
New file
0,0 → 1,598
<?xml version="1.0" encoding="UTF-8"?>
<!--
-*- rnc -*-
RELAX NG Compact Syntax Grammar for the
Atom Format Specification Version 11
-->
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:s="http://www.ascc.net/xml/schematron" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<choice>
<ref name="atomFeed"/>
<ref name="atomEntry"/>
</choice>
</start>
<!-- Common attributes -->
<define name="atomCommonAttributes">
<optional>
<attribute name="xml:base">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="xml:lang">
<ref name="atomLanguageTag"/>
</attribute>
</optional>
<zeroOrMore>
<ref name="undefinedAttribute"/>
</zeroOrMore>
</define>
<!-- Text Constructs -->
<define name="atomPlainTextConstruct">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<choice>
<value>text</value>
<value>html</value>
</choice>
</attribute>
</optional>
<text/>
</define>
<define name="atomXHTMLTextConstruct">
<ref name="atomCommonAttributes"/>
<attribute name="type">
<value>xhtml</value>
</attribute>
<ref name="xhtmlDiv"/>
</define>
<define name="atomTextConstruct">
<choice>
<ref name="atomPlainTextConstruct"/>
<ref name="atomXHTMLTextConstruct"/>
</choice>
</define>
<!-- Person Construct -->
<define name="atomPersonConstruct">
<ref name="atomCommonAttributes"/>
<interleave>
<element name="atom:name">
<text/>
</element>
<optional>
<element name="atom:uri">
<ref name="atomUri"/>
</element>
</optional>
<optional>
<element name="atom:email">
<ref name="atomEmailAddress"/>
</element>
</optional>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</define>
<!-- Date Construct -->
<define name="atomDateConstruct">
<ref name="atomCommonAttributes"/>
<data type="dateTime"/>
</define>
<!-- atom:feed -->
<define name="atomFeed">
<element name="atom:feed">
<s:rule context="atom:feed">
<s:assert test="atom:author or not(atom:entry[not(atom:author)])">An atom:feed must have an atom:author unless all of its atom:entry children have an atom:author.</s:assert>
</s:rule>
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<optional>
<ref name="atomGenerator"/>
</optional>
<optional>
<ref name="atomIcon"/>
</optional>
<ref name="atomId"/>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomLogo"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSubtitle"/>
</optional>
<ref name="atomTitle"/>
<ref name="atomUpdated"/>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
<zeroOrMore>
<ref name="atomEntry"/>
</zeroOrMore>
</element>
</define>
<!-- atom:entry -->
<define name="atomEntry">
<element name="atom:entry">
<s:rule context="atom:entry">
<s:assert test="atom:link[@rel='alternate'] or atom:link[not(@rel)] or atom:content">An atom:entry must have at least one atom:link element with a rel attribute of 'alternate' or an atom:content.</s:assert>
</s:rule>
<s:rule context="atom:entry">
<s:assert test="atom:author or ../atom:author or atom:source/atom:author">An atom:entry must have an atom:author if its feed does not.</s:assert>
</s:rule>
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<optional>
<ref name="atomContent"/>
</optional>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<ref name="atomId"/>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomPublished"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSource"/>
</optional>
<optional>
<ref name="atomSummary"/>
</optional>
<ref name="atomTitle"/>
<ref name="atomUpdated"/>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</element>
</define>
<!-- atom:content -->
<define name="atomInlineTextContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<choice>
<value>text</value>
<value>html</value>
</choice>
</attribute>
</optional>
<zeroOrMore>
<text/>
</zeroOrMore>
</element>
</define>
<define name="atomInlineXHTMLContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<attribute name="type">
<value>xhtml</value>
</attribute>
<ref name="xhtmlDiv"/>
</element>
</define>
<define name="atomInlineOtherContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="atomOutOfLineContent">
<element name="atom:content">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<attribute name="src">
<ref name="atomUri"/>
</attribute>
<empty/>
</element>
</define>
<define name="atomContent">
<choice>
<ref name="atomInlineTextContent"/>
<ref name="atomInlineXHTMLContent"/>
<ref name="atomInlineOtherContent"/>
<ref name="atomOutOfLineContent"/>
</choice>
</define>
<!-- atom:author -->
<define name="atomAuthor">
<element name="atom:author">
<ref name="atomPersonConstruct"/>
</element>
</define>
<!-- atom:category -->
<define name="atomCategory">
<element name="atom:category">
<ref name="atomCommonAttributes"/>
<attribute name="term"/>
<optional>
<attribute name="scheme">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="label"/>
</optional>
<ref name="undefinedContent"/>
</element>
</define>
<!-- atom:contributor -->
<define name="atomContributor">
<element name="atom:contributor">
<ref name="atomPersonConstruct"/>
</element>
</define>
<!-- atom:generator -->
<define name="atomGenerator">
<element name="atom:generator">
<ref name="atomCommonAttributes"/>
<optional>
<attribute name="uri">
<ref name="atomUri"/>
</attribute>
</optional>
<optional>
<attribute name="version"/>
</optional>
<text/>
</element>
</define>
<!-- atom:icon -->
<define name="atomIcon">
<element name="atom:icon">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:id -->
<define name="atomId">
<element name="atom:id">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:logo -->
<define name="atomLogo">
<element name="atom:logo">
<ref name="atomCommonAttributes"/>
<ref name="atomUri"/>
</element>
</define>
<!-- atom:link -->
<define name="atomLink">
<element name="atom:link">
<ref name="atomCommonAttributes"/>
<attribute name="href">
<ref name="atomUri"/>
</attribute>
<optional>
<attribute name="rel">
<choice>
<ref name="atomNCName"/>
<ref name="atomUri"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="type">
<ref name="atomMediaType"/>
</attribute>
</optional>
<optional>
<attribute name="hreflang">
<ref name="atomLanguageTag"/>
</attribute>
</optional>
<optional>
<attribute name="title"/>
</optional>
<optional>
<attribute name="length"/>
</optional>
<ref name="undefinedContent"/>
</element>
</define>
<!-- atom:published -->
<define name="atomPublished">
<element name="atom:published">
<ref name="atomDateConstruct"/>
</element>
</define>
<!-- atom:rights -->
<define name="atomRights">
<element name="atom:rights">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:source -->
<define name="atomSource">
<element name="atom:source">
<ref name="atomCommonAttributes"/>
<interleave>
<zeroOrMore>
<ref name="atomAuthor"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomCategory"/>
</zeroOrMore>
<zeroOrMore>
<ref name="atomContributor"/>
</zeroOrMore>
<optional>
<ref name="atomGenerator"/>
</optional>
<optional>
<ref name="atomIcon"/>
</optional>
<optional>
<ref name="atomId"/>
</optional>
<zeroOrMore>
<ref name="atomLink"/>
</zeroOrMore>
<optional>
<ref name="atomLogo"/>
</optional>
<optional>
<ref name="atomRights"/>
</optional>
<optional>
<ref name="atomSubtitle"/>
</optional>
<optional>
<ref name="atomTitle"/>
</optional>
<optional>
<ref name="atomUpdated"/>
</optional>
<zeroOrMore>
<ref name="extensionElement"/>
</zeroOrMore>
</interleave>
</element>
</define>
<!-- atom:subtitle -->
<define name="atomSubtitle">
<element name="atom:subtitle">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:summary -->
<define name="atomSummary">
<element name="atom:summary">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:title -->
<define name="atomTitle">
<element name="atom:title">
<ref name="atomTextConstruct"/>
</element>
</define>
<!-- atom:updated -->
<define name="atomUpdated">
<element name="atom:updated">
<ref name="atomDateConstruct"/>
</element>
</define>
<!-- Low-level simple types -->
<define name="atomNCName">
<data type="string">
<param name="minLength">1</param>
<param name="pattern">[^:]*</param>
</data>
</define>
<!-- Whatever a media type is, it contains at least one slash -->
<define name="atomMediaType">
<data type="string">
<param name="pattern">.+/.+</param>
</data>
</define>
<!-- As defined in RFC 3066 -->
<define name="atomLanguageTag">
<data type="string">
<param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
</data>
</define>
<!--
Unconstrained; it's not entirely clear how IRI fit into
xsd:anyURI so let's not try to constrain it here
-->
<define name="atomUri">
<text/>
</define>
<!-- Whatever an email address is, it contains at least one @ -->
<define name="atomEmailAddress">
<data type="string">
<param name="pattern">.+@.+</param>
</data>
</define>
<!-- Simple Extension -->
<define name="simpleExtensionElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<text/>
</element>
</define>
<!-- Structured Extension -->
<define name="structuredExtensionElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<choice>
<group>
<oneOrMore>
<attribute>
<anyName/>
</attribute>
</oneOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</group>
<group>
<zeroOrMore>
<attribute>
<anyName/>
</attribute>
</zeroOrMore>
<group>
<optional>
<text/>
</optional>
<oneOrMore>
<ref name="anyElement"/>
</oneOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</group>
</group>
</choice>
</element>
</define>
<!-- Other Extensibility -->
<define name="extensionElement">
<choice>
<ref name="simpleExtensionElement"/>
<ref name="structuredExtensionElement"/>
</choice>
</define>
<define name="undefinedAttribute">
<attribute>
<anyName>
<except>
<name>xml:base</name>
<name>xml:lang</name>
<nsName ns=""/>
</except>
</anyName>
</attribute>
</define>
<define name="undefinedContent">
<zeroOrMore>
<choice>
<text/>
<ref name="anyForeignElement"/>
</choice>
</zeroOrMore>
</define>
<define name="anyElement">
<element>
<anyName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="anyForeignElement">
<element>
<anyName>
<except>
<nsName ns="http://www.w3.org/2005/Atom"/>
</except>
</anyName>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyElement"/>
</choice>
</zeroOrMore>
</element>
</define>
<!-- XHTML -->
<define name="anyXHTML">
<element>
<nsName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyXHTML"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="xhtmlDiv">
<element name="xhtml:div">
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="anyXHTML"/>
</choice>
</zeroOrMore>
</element>
</define>
</grammar>
<!-- EOF -->
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation/bibliotheque/xml_feed_parser/1.0.4/XmlFeedParser.php
New file
0,0 → 1,304
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
/**
* Key gateway class for XML_Feed_Parser package
*
* PHP versions 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category XML
* @package XML_Feed_Parser
* @author James Stewart <james@jystewart.net>
* @copyright 2005 James Stewart <james@jystewart.net>
* @license http://www.gnu.org/copyleft/lesser.html GNU LGPL
* @version CVS: $Id: Parser.php 304308 2010-10-11 12:05:50Z clockwerx $
* @link http://pear.php.net/package/XML_Feed_Parser/
*/
 
/**
* This is the core of the XML_Feed_Parser package. It identifies feed types
* and abstracts access to them. It is an iterator, allowing for easy access
* to the entire feed.
*
* @author James Stewart <james@jystewart.net>
* @version Release: @package_version@
* @package XML_Feed_Parser
*/
class XmlFeedParser implements Iterator {
/**
* This is where we hold the feed object
* @var Object
*/
private $feed;
 
/**
* To allow for extensions, we make a public reference to the feed model
* @var DOMDocument
*/
public $model;
/**
* A map between entry ID and offset
* @var array
*/
protected $idMappings = array();
 
/**
* A storage space for Namespace URIs.
* @var array
*/
private $feedNamespaces = array(
'rss2' => array(
'http://backend.userland.com/rss',
'http://backend.userland.com/rss2',
'http://blogs.law.harvard.edu/tech/rss'));
/**
* Detects feed types and instantiate appropriate objects.
*
* Our constructor takes care of detecting feed types and instantiating
* appropriate classes. For now we're going to treat Atom 0.3 as Atom 1.0
* but raise a warning. I do not intend to introduce full support for
* Atom 0.3 as it has been deprecated, but others are welcome to.
*
* @param string $feed XML serialization of the feed
* @param bool $strict Whether or not to validate the feed
* @param bool $suppressWarnings Trigger errors for deprecated feed types?
* @param bool $tidy Whether or not to try and use the tidy library on input
*/
function __construct($feed, $strict = false, $suppressWarnings = true, $tidy = true) {
$this->model = new DOMDocument;
if (! $this->model->loadXML($feed)) {
if (extension_loaded('tidy') && $tidy) {
$tidy = new tidy;
$tidy->parseString($feed, array('input-xml' => true, 'output-xml' => true));
$tidy->cleanRepair();
if (! $this->model->loadXML((string) $tidy)) {
throw new XmlFeedParserException("Entrée invalide : le flux n'est pas du XML valide");
}
} else {
throw new XmlFeedParserException("Entrée invalide : le flux n'est pas du XML valide");
}
}
 
/* detect feed type */
$doc_element = $this->model->documentElement;
$error = false;
 
switch (true) {
case ($doc_element->namespaceURI == 'http://www.w3.org/2005/Atom'):
$class = 'XmlFeedParserAtom';
break;
case ($doc_element->namespaceURI == 'http://purl.org/atom/ns#'):
$class = 'XmlFeedParserAtom';
$error = "Atom 0.3 est déprécié, le parseur en version 1.0 sera utilisé mais toutes les options ne seront pas disponibles.";
break;
case ($doc_element->namespaceURI == 'http://purl.org/rss/1.0/'
|| ($doc_element->hasChildNodes() && $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://purl.org/rss/1.0/')):
$class = 'XmlFeedParserRss1';
break;
case ($doc_element->namespaceURI == 'http://purl.org/rss/1.1/'
|| ($doc_element->hasChildNodes()
&& $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://purl.org/rss/1.1/')):
$class = 'XmlFeedParserRss11';
break;
case (($doc_element->hasChildNodes()
&& $doc_element->childNodes->length > 1
&& $doc_element->childNodes->item(1)->namespaceURI == 'http://my.netscape.com/rdf/simple/0.9/')
|| $doc_element->namespaceURI == 'http://my.netscape.com/rdf/simple/0.9/'):
$class = 'XmlFeedParserRss09';
break;
case ($doc_element->tagName == 'rss'
and $doc_element->hasAttribute('version')
&& $doc_element->getAttribute('version') == 0.91):
$error = 'RSS 0.91 has been superceded by RSS2.0. Using RSS2.0 parser.';
$class = 'XmlFeedParserRss2';
break;
case ($doc_element->tagName == 'rss'
and $doc_element->hasAttribute('version')
&& $doc_element->getAttribute('version') == 0.92):
$error = 'RSS 0.92 has been superceded by RSS2.0. Using RSS2.0 parser.';
$class = 'XmlFeedParserRss2';
break;
case (in_array($doc_element->namespaceURI, $this->feedNamespaces['rss2'])
|| $doc_element->tagName == 'rss'):
if (! $doc_element->hasAttribute('version') || $doc_element->getAttribute('version') != 2) {
$error = 'RSS version not specified. Parsing as RSS2.0';
}
$class = 'XmlFeedParserRss2';
break;
default:
throw new XmlFeedParserException('Type de flux de syndicaton inconnu');
break;
}
 
if (! $suppressWarnings && ! empty($error)) {
trigger_error($error, E_USER_WARNING);
}
 
/* Instantiate feed object */
$this->feed = new $class($this->model, $strict);
}
 
/**
* Proxy to allow feed element names to be used as method names
*
* For top-level feed elements we will provide access using methods or
* attributes. This function simply passes on a request to the appropriate
* feed type object.
*
* @param string $call - the method being called
* @param array $attributes
*/
function __call($call, $attributes) {
$attributes = array_pad($attributes, 5, false);
list($a, $b, $c, $d, $e) = $attributes;
return $this->feed->$call($a, $b, $c, $d, $e);
}
 
/**
* Proxy to allow feed element names to be used as attribute names
*
* To allow variable-like access to feed-level data we use this
* method. It simply passes along to __call() which in turn passes
* along to the relevant object.
*
* @param string $val - the name of the variable required
*/
function __get($val) {
return $this->feed->$val;
}
 
/**
* Provides iteration functionality.
*
* Of course we must be able to iterate... This function simply increases
* our internal counter.
*/
function next() {
if (isset($this->current_item) &&
$this->current_item <= $this->feed->numberEntries - 1) {
++$this->current_item;
} else if (! isset($this->current_item)) {
$this->current_item = 0;
} else {
return false;
}
}
 
/**
* Return XML_Feed_Type object for current element
*
* @return XML_Feed_Parser_Type Object
*/
function current() {
return $this->getEntryByOffset($this->current_item);
}
 
/**
* For iteration -- returns the key for the current stage in the array.
*
* @return int
*/
function key() {
return $this->current_item;
}
 
/**
* For iteration -- tells whether we have reached the
* end.
*
* @return bool
*/
function valid() {
return $this->current_item < $this->feed->numberEntries;
}
 
/**
* For iteration -- resets the internal counter to the beginning.
*/
function rewind() {
$this->current_item = 0;
}
 
/**
* Provides access to entries by ID if one is specified in the source feed.
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by offset. This method can be quite slow
* if dealing with a large feed that hasn't yet been processed as it
* instantiates objects for every entry until it finds the one needed.
*
* @param string $id Valid ID for the given feed format
* @return XML_Feed_Parser_Type|false
*/
function getEntryById($id) {
if (isset($this->idMappings[$id])) {
return $this->getEntryByOffset($this->idMappings[$id]);
}
 
/*
* Since we have not yet encountered that ID, let's go through all the
* remaining entries in order till we find it.
* This is a fairly slow implementation, but it should work.
*/
return $this->feed->getEntryById($id);
}
 
/**
* Retrieve entry by numeric offset, starting from zero.
*
* As well as allowing the items to be iterated over we want to allow
* users to be able to access a specific entry. This is one of two ways of
* doing that, the other being by ID.
*
* @param int $offset The position of the entry within the feed, starting from 0
* @return XML_Feed_Parser_Type|false
*/
function getEntryByOffset($offset) {
if ($offset < $this->feed->numberEntries) {
if (isset($this->feed->entries[$offset])) {
return $this->feed->entries[$offset];
} else {
try {
$this->feed->getEntryByOffset($offset);
} catch (Exception $e) {
return false;
}
$id = $this->feed->entries[$offset]->getID();
$this->idMappings[$id] = $offset;
return $this->feed->entries[$offset];
}
} else {
return false;
}
}
 
/**
* Retrieve version details from feed type class.
*
* @return void
* @author James Stewart
*/
function version() {
return $this->feed->version;
}
/**
* Returns a string representation of the feed.
*
* @return String
**/
function __toString() {
return $this->feed->__toString();
}
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/observation
New file
Property changes:
Added: svn:ignore
+config.ini
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/InitialisationASL.js
New file
0,0 → 1,29
import {utils} from './WidgetsSaisiesCommun.js';
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {ReleveASL} from './ReleveASL.js';
import {PlantesEtLichensASL} from './PlantesEtLichensASL.js';
 
export const initialiserModule = function(nomSquelette = 'arbres') {
const proprietes = $( '#zone-' + nomSquelette).data();
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
const plantesEtLichens = new PlantesEtLichensASL(proprietes);
 
plantesEtLichens.init();
break;
case 'arbres' :
default :
const arbres = new ReleveASL(proprietes);
arbres.init();
break;
}
};
 
$( document ).ready( function() {
// InitialisationASL.prototype = new WidgetsSaisiesCommun(widgetProp);
const widget = new WidgetsSaisiesASL();
widget.init();
 
utils.init();
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/Utils.js
New file
0,0 → 1,436
export function Utils() {
this.cheminFichiers = $( '#zone-appli' ).data( 'url-fichiers' );
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-plantes' : 'Saisir les plantes',
'saisir-lichens' : 'Saisir les lichens',
'upload-non-suppote' : 'Votre navigateur ne permet pas le téléchargement de fichiers.',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'confirmation-suppression' : 'Êtes-vous sûr de vouloir supprimer cette observation',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'taxon-ou-image' : 'Veuillez transmettre au moins, soit une image, soit une espèce',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.',
'courriel-connu' : 'Un compte existe pour ce courriel, connectez-vous pour saisir votre observation'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-plantes' : 'Enter the plants',
'saisir-lichens' : 'Enter the lichens',
'upload-non-suppote' : 'Your browser does not support file upload.',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'confirmation-suppression' : 'Are you sure you want to delete this observation',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'taxon-ou-image' : 'Please transmit at least one image or one species',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.',
'courriel-connu' : 'An account exists for this email, log in to enter your observation'
}
};
};
 
Utils.prototype.init = function() {
// Modale "aide" du projet
this.projetHelpModale();
// Affichage input file
this.inputFile();
// Affichage des List-checkbox
this.inputListCheckbox();
// Affichage des Range
this.inputRangeDisplayNumber()
// Modale "aide"
this.newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
this.onOtherOption();
// Récupérer les données entrées dans "Autre"
this.collectOtherOption();
};
 
// aide dans le titre du projet
Utils.prototype.projetHelpModale = function() {
const lthis = this;
 
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
const fileMimeType = $( this ).data( 'mime-info' ),
label = 'Aide du projet : ' + $( '#titre-projet' ).text();
 
if( fileMimeType.match( 'image' ) ) {
const extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + 'info.' + extention + '" style="" alt="info projet" />';
}
lthis.activerModale( label, content );
});
};
 
// Logique d'affichage pour le input type=file
Utils.prototype.inputFile = function() {
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#formulaire' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
};
 
// Style et affichage des list-checkboxes
Utils.prototype.inputListCheckbox = function() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
const target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
const $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( let i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
const $otherListCheckboxes = $( '.checkboxes' )[i];
 
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
};
 
// Style et affichage des input type="range"
Utils.prototype.inputRangeDisplayNumber = function() {
$( 'input[type="range"]' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
$( this ).text( '' );
});
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.newFieldsHelpModal = function() {
const lthis = this;
 
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
const thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' ),
label = 'Aide pour : ' + $( this ).data( 'name' );
 
if( fileMimeType.match( 'image' ) ) {
const extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + thisFieldKey + '.' + extention + '" style="" alt="' + thisFieldKey + '" />';
}
lthis.activerModale( label, content );
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.activerModale = function( label, content = '', buttons = [] ) {
const lthis = this,
buttonsHtmlBase = '<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>';
let dismiss = '',
buttonsHtml = buttonsHtmlBase;
 
// Titre
$( '#fenetre-modal-label' ).text( label );
if ( '' !== content ) {
$( '#print_content' ).append( content );
}
// Sortie avec la touche escape
$( '#fenetre-modal' ).modal( { keyboard : true } );
// Affichage
$( '#fenetre-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#fenetre-modal' ).off( 'shown.bs.modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
if( valOk( $( '#modale-aide-img' ) ) ) {
lthis.redimentionnerImgAide();
$( window ).on( 'resize', lthis.redimentionnerImgAide.bind( lthis ) );
}
});
if ( valOk( buttons ) ) {
buttonsHtml = '';
$.each( buttons, function( i, button ) {
dismiss = button.dismiss ? 'data-dismiss="modal"' : '';
buttonsHtml += '<button type="button" class="btn ' + button.class + '" ' + dismiss + '>' + button.label + '</button>';
});
}
$( '.modal-footer' ).html( buttonsHtml );
// Réinitialisation
$( '#fenetre-modal' ).on( 'hidden.bs.modal' , function () {
$( '#confirm-modal-label' ).text();
$( '#print_content' ).empty();
$( '.modal-footer' ).html( buttonsHtmlBase );
});
};
 
Utils.prototype.redimentionnerImgAide = function() {
const espHorizDisp = $( '.modal-dialog' ).innerWidth() <= 1200 ? $( '.modal-dialog' ).innerWidth() - 30 : 1200,
cssImg = {
'width': espHorizDisp,
'height' : 'auto'
};
 
$( '#modale-aide-img' ).css(cssImg).show(50);
};
 
// Faire apparaitre un champ text "Autre"
Utils.prototype.onOtherOption = function() {
const lthis = this,
PREFIX = 'collect-other-';
// Ajouter un champ texte pour "Autre"
const optionAdd = (
otherId,
$target,
element,
dataName,
dataLabel
) => {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option "' + dataLabel.toLowerCase() + '" :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
};
// Supprimer un champ texte pour "Autre"
const optionRemove = otherId => $( '#' + otherId ).closest('.control-group').remove();
 
let dataName = '',
otherId = '',
dataLabel = '',
element = '';
 
$( '.other', '#formulaire' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( '.select' ).data( 'label' );
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else if ( $( this ).is( ':checked' ) ) {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
element = $( this ).data( 'element' );
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+ otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
}
});
 
$( '#formulaire' ).on( 'change', '.select', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'change', 'input[type=radio]', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
element = $( this ).data( 'element' );
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
};
 
Utils.prototype.collectOtherOption = function() {
$( '#formulaire' ).on( 'change', '.collect-other', function () {
const otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' ),
element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
export const valOk = (
valeur,
sensComparaison = true,
comparer = undefined
) => {
let retour = true;
 
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
const resultComparaison = ( comparer === valeur );
 
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
 
} else {
// Un booléen est une valeur valable
return true;
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/css/geoloc.css
New file
0,0 → 1,188
 
input[type="search"] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
 
.hidden {
display: none !important;
}
 
.flex {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
 
.form-col {
-webkit-flex-grow: 1;
-moz-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-webkit-flex-shrink: 1;
-webkit-box-flex: 1;
-moz-flex-shrink: 1;
-ms-flex-negative: 1;
flex-shrink: 1;
-webkit-flex-basis: 0%;
-moz-flex-basis: 0%;
-ms-flex-preferred-size: 0%;
flex-basis: 0%;
margin-top: 10px;
margin-bottom: 10px;
}
 
/************************************************
tb PLACES STYLING
************************************************/
/** tb places search block **/
 
.search-container {
position: relative;
}
 
/** tb places input search **/
 
.input-search-container {
display: flex;
width: 100%;
border: 1px solid #bcd35f;
border-radius: 3px;
}
 
.tb-places {
width: 100%;
height: 25px;
padding: 10px 20px;
float: left;
background: #f5f0eb;
border:0;
box-shadow: none;
border-radius: 3px 0 0 3px;
}
 
.tb-places:focus {
outline: 0;
background: #fff;
}
 
.tb-places::-webkit-input-placeholder,
.tb-places:-moz-placeholder,
.tb-places:-ms-input-placeholder {
color: #999;
font-weight: normal;
font-style: italic;
}
 
 
.tb-places-search-icon,
.tb-places-close {
overflow: visible;
position: relative;
border: 0;
padding: 0;
height: 45px;
width: 60px;
border-radius: 0 3px 3px 0;
}
 
/** tb places search buttons **/
.tb-places-search-icon:active,
.tb-places-search-icon:focus,
.tb-places-close:active,
.tb-places-close:focus {
outline: 0;
}
 
.tb-places-search-icon:before,
.tb-places-close:before { /* left arrow */
content: '';
position: absolute;
border-width: 10px 10px 10px 0;
border-style: solid solid solid none;
top: 14px;
left: -7px;
}
 
.tb-places-search-icon::-moz-focus-inner,
.tb-places-close::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */
border: 0;
padding: 0;
}
 
.tb-places-search-icon {
background-image: url('../img/search-green.svg');
background-position: 15px 50%;
background-size: 20px;
background-repeat: no-repeat;
background-color: #bcd35f;
}
 
.tb-places-search-icon:before {
border-color: transparent #bcd35f transparent;
}
 
.tb-places-close {
background-image: url('../img/cross-white.svg');
background-position: 7px 50%;
background-size: 35px;
background-repeat: no-repeat;
background-color: #2f2826;
cursor: pointer;
touch-action: manipulation;
}
 
.tb-places-close:before {
border-color: transparent #2f2826 transparent;
}
 
/** tb places search results **/
 
.tb-places-results-container {
position: absolute;
top: 103%;
z-index: 1001 !important;
width: 99%;
background-color: #f5f0eb;
height: 200px;
padding: 0;
margin-left: 2px;
border-radius: 1px;
overflow: auto;
box-shadow: 2px 2px 4px #837569;
}
 
.tb-places-results {
position: relative;
top: 0;
width: 100%;
padding: 0;
margin: 0;
background-color: #f5f0eb;
color: #302926;
font-weight: 600;
}
 
.tb-places-results .tb-places-suggestion {
width: 100%;
padding: 5px 0 5px 20px;
background-color: #f5f0eb;
list-style-type: none;
cursor: pointer;
touch-action: manipulation;
margin: 0;
}
 
.tb-places-results .tb-places-suggestion:hover,
.tb-places-results .tb-places-suggestion:focus {
background-color: #fff;
}
 
ul.leaflet-draw-actions.leaflet-draw-actions-bottom li:first-child {
display: none;
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/css/leaflet-gesture-handling.min.css
New file
0,0 → 1,0
@-webkit-keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}@keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}.leaflet-container:after{-webkit-animation:leaflet-gestures-fadein .8s backwards;animation:leaflet-gestures-fadein .8s backwards;color:#fff;font-family:Roboto,Arial,sans-serif;font-size:22px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:461;pointer-events:none}.leaflet-gesture-handling-scroll-warning:after,.leaflet-gesture-handling-touch-warning:after{-webkit-animation:leaflet-gestures-fadein .8s forwards;animation:leaflet-gestures-fadein .8s forwards}.leaflet-gesture-handling-touch-warning:after{content:attr(data-gesture-handling-touch-content)}.leaflet-gesture-handling-scroll-warning:after{content:attr(data-gesture-handling-scroll-content)}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/search-green.svg
New file
0,0 → 1,3
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<path id="Tracé_189" data-name="Tracé 189" d="M17.894.738A.38.38,0,0,1,18,1.02a.514.514,0,0,1-.105.316l-.809.773a.437.437,0,0,1-.316.141.334.334,0,0,1-.281-.141L12.2-2.145a.468.468,0,0,1-.105-.281v-.492A7.552,7.552,0,0,1,9.879-1.6a7.07,7.07,0,0,1-2.566.475,7.1,7.1,0,0,1-3.674-.984A7.388,7.388,0,0,1,.984-4.764,7.1,7.1,0,0,1,0-8.437a7.1,7.1,0,0,1,.984-3.674,7.388,7.388,0,0,1,2.654-2.654,7.1,7.1,0,0,1,3.674-.984,7.1,7.1,0,0,1,3.674.984,7.388,7.388,0,0,1,2.654,2.654,7.1,7.1,0,0,1,.984,3.674,7.07,7.07,0,0,1-.475,2.566,7.552,7.552,0,0,1-1.318,2.215h.492a.38.38,0,0,1,.281.105ZM7.312-2.812a5.5,5.5,0,0,0,2.812-.756,5.585,5.585,0,0,0,2.057-2.057,5.5,5.5,0,0,0,.756-2.812,5.5,5.5,0,0,0-.756-2.812,5.585,5.585,0,0,0-2.057-2.057,5.5,5.5,0,0,0-2.812-.756,5.5,5.5,0,0,0-2.812.756A5.585,5.585,0,0,0,2.443-11.25a5.5,5.5,0,0,0-.756,2.812,5.5,5.5,0,0,0,.756,2.812A5.585,5.585,0,0,0,4.5-3.568,5.5,5.5,0,0,0,7.312-2.812Z" transform="translate(0 15.75)" fill="#456d27"/>
</svg>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/cross-white.svg
New file
0,0 → 1,8
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="92px" height="92px" viewBox="0 0 92 92" enable-background="new 0 0 92 92" xml:space="preserve">
<path id="XMLID_732_" d="M70.7,64.3c1.8,1.8,1.8,4.6,0,6.4c-0.9,0.9-2,1.3-3.2,1.3c-1.2,0-2.3-0.4-3.2-1.3L46,52.4L27.7,70.7
c-0.9,0.9-2,1.3-3.2,1.3s-2.3-0.4-3.2-1.3c-1.8-1.8-1.8-4.6,0-6.4L39.6,46L21.3,27.7c-1.8-1.8-1.8-4.6,0-6.4c1.8-1.8,4.6-1.8,6.4,0
L46,39.6l18.3-18.3c1.8-1.8,4.6-1.8,6.4,0c1.8,1.8,1.8,4.6,0,6.4L52.4,46L70.7,64.3z" fill="#fff"/>
</svg>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/photo-aide-geoloc.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/photo-aide-geoloc.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Geoloc.js
New file
0,0 → 1,538
import {NOMINATIM_OSM_URL,TbPlaces} from "./modules/Locality.js";
 
const tileLayers = {
googleHybrid: [
'https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}',
{
attribution: '<a href="https://www.google.com" target="_blank">\xa9 Google Maps</a>',
subdomains: ["mt0","mt1","mt2","mt3"],
maxZoom: 20
}
],
osm: [
'https://osm.tela-botanica.org/tuiles/osmfr/{z}/{x}/{y}.png',
{
attribution: 'Data © <a href="http://osm.org/copyright">OpenStreetMap</a>',
maxZoom: 18
}
]
};
const defaultPosition = {
lat: 47.0504,
lng: 2.2347
};
const defaultCityZoom = 12;
const defaultZoom = 4;
const geometryFilterDefault = 'point';
const defaultMapIdAttr = 'tb-geolocation';
const markerImgBaseUrl = URL_BASE +'js/tb-geoloc/img/';
const markerIcon = L.Icon.extend({
options: {
shadowUrl: markerImgBaseUrl +'marker-shadow.png',
iconAnchor: new L.Point(12, 40),//correctly replaces the dot of the pointer
iconSize: new L.Point(24,40),
iconUrl: markerImgBaseUrl +'marker-icon.png',
}
});
const defaultPolylineOptions = {
shapeOptions: {
weight: 5
},
showLength: true,
repeatMode: false
};
 
const drawLocale = {
edit: {
handlers: {
edit: {
tooltip: {
subtext: 'Cliquer sur annuler pour supprimer les changements',
text: 'Déplacez les marqueurs pour modifier leur position'
}
},
remove: {
tooltip: {
text: 'cliquer sur une ligne pour supprimer'
}
}
},
toolbar: {
actions: {
cancel: {
text: 'Annuler',
title: 'Annuler'
},
clearAll: {
text: 'Effacer',
title: 'Tout effacer'
},
save: {
text: 'Sauvegarder',
title: 'Sauvegarder les changements'
}
},
buttons: {
edit: 'Editer',
editDisabled: 'Rien à editer',
remove: 'Supprimer',
removeDisabled: 'Rien à supprimer'
}
}
},
draw : {
toolbar: {
actions: {
text: 'Annuler',
title: 'Annuler'
},
buttons: {
polyline: 'Dessiner une ligne',
marker: 'Pointer une position'
},
finish: {
text: 'Terminer',
title: 'Terminer'
},
undo: {
text: 'Supprimer',
title: 'Supprimer le dernier point'
}
},
handlers: {
polyline: {
tooltip: {
start: 'Cliquer sur la carte pour placer le début de la ligne',
cont: 'Positionner le prochain point et cliquer',
end: 'Re-cliquer sur le dernier point pour finir la ligne'
}
},
marker: {
tooltip: {
start: 'Cliquer sur la carte pour placer le marqueur'
}
},
rectangle: {tooltip: {}},
simpleshape: {tooltip: {}},
circle: {tooltip: {}},
circlemarker: {tooltip: {}}
}
}
};
 
/***************************************************/
 
export function Geoloc() {
this.map = {};
this.coordinates = defaultPosition;
this.geojson = {};
this.editableLayers = {};
this.defaultDrawControlOptions = {};
this.drawControl = {};
this.defaultEditOptions = false;
this.layer = {};
};
 
Geoloc.prototype.init = function(suffix = '') {
this.mapIdAttr = defaultMapIdAttr + suffix;
this.geolocLabel = document.getElementById('geoloc-label' + suffix);
this.initForm();
this.initEvts();
};
 
Geoloc.prototype.initForm = function() {
this.mapEl = document.getElementById(this.mapIdAttr);
this.zoom = this.mapEl.dataset.zoom || defaultZoom;
this.geometryFilter = this.mapEl.dataset.typeLocalisation || geometryFilterDefault;
 
const formSuffix = this.mapEl.dataset.formSuffix;
 
this.latitudeEl = document.getElementById('latitude' + formSuffix);
this.longitudeEl = document.getElementById('longitude' + formSuffix);
};
 
Geoloc.prototype.initEvts = function() {
this.initMap();
this.handleCoordinates();
this.onCoordinates();
this.initSearchLocality();
};
 
Geoloc.prototype.initMap = function() {
this.map = this.createLocationMap();
 
// interactions with map
this.map.on(L.Draw.Event.CREATED, evt => {
this.layer = evt.layer;
 
// created marker or polyline with drawControl
// no more need this drawcontrol: remove
// (polyline: another one will be added with only edit toolbar)
this.map.removeControl(this.drawControl);
 
if ('marker' === evt.layerType) {
this.onMarkerCreated();
} else if ('polyline' === evt.layerType) {
this.handlePolylineEvents();
}
});
 
this.map.on(L.Draw.Event.EDITED, evt => {
const layers = evt.layers;
 
this.map.removeLayer(this.layer);
 
layers.eachLayer(layer => {
this.layer = layer;
this.handlePolylineEvents(false);
});
});
 
this.map.on(L.Draw.Event.DELETED, evt => {
this.reSetDrawControl();
});
};
 
 
Geoloc.prototype.reSetDrawControl = function() {
this.map.removeLayer(this.layer);
this.map.removeControl(this.drawControl);
this.setDrawControl(this.map);
};
 
Geoloc.prototype.createLocationMap = function() {
const lthis = this,
map = L.map(this.mapIdAttr, {zoomControl: true, gestureHandling: true}).setView([this.coordinates.lat, this.coordinates.lng], this.zoom),
tileLayer = this.mapEl.dataset.layer || 'osm';
 
L.tileLayer(...tileLayers[tileLayer]).addTo(map);
 
this.editableLayers = new L.FeatureGroup();
map.addLayer(this.editableLayers);
 
this.setDrawControl(map);
 
return map;
};
 
Geoloc.prototype.setDrawControl = function(map) {
this.defaultDrawControlOptions = this.generateDrawControlOptions();
this.drawControl = this.generateDrawControl(...Object.values(this.defaultDrawControlOptions));
map.addControl(this.drawControl);
};
 
Geoloc.prototype.generateDrawControlOptions = function() {
const options = {
editOptions: false,
markerOptions: false,
polylineOptions: false
};
 
this.defaultEditOptions = {
featureGroup: this.editableLayers,// REQUIRED!!
remove: true
}
 
switch (this.geometryFilter) {
case 'point':
options.markerOptions = {
icon: new markerIcon(),
repeatMode: false
};
break;
case 'rue':
options.polylineOptions = defaultPolylineOptions;
break;
default:
break;
}
 
return options;
};
 
Geoloc.prototype.generateDrawControl = function(
editOptions,
markerOptions = false,
polylineOptions = false
) {
L.drawLocal = drawLocale;
 
return new L.Control.Draw({
position: 'topleft',
draw: {
polyline: polylineOptions,
polygon: false,
circle: false,
rectangle: false,
marker: markerOptions,
circlemarker: false
},
edit: editOptions
});
};
 
Geoloc.prototype.onMarkerCreated = function() {
const coordinates = this.layer.getLatLng();
 
this.handleNewLocation(coordinates);
};
 
Geoloc.prototype.handleMarkerEvents = function() {
if(this.map) {
const lthis = this;
// move marker on click
$(this.map).off('click').on('click', function(evt) {
lthis.handleNewLocation(evt.originalEvent.latlng);
});
// move marker on drag
$(this.map.marker).off('dragend').on('dragend', function() {
lthis.handleNewLocation(lthis.map.marker.getLatLng());
});
}
};
 
Geoloc.prototype.handlePolylineEvents = function(requiresNewEditDrawControl = true) {
const latLngs = this.layer.getLatLngs(),
polyline = this.formatPolyline(latLngs),
coordinates = this.layer.getBounds().getCenter();
 
 
if (requiresNewEditDrawControl) {
this.drawControl = this.generateDrawControl(this.defaultEditOptions);
this.map.addControl(this.drawControl);
}
 
// make polyline removable
this.editableLayers.addLayer(L.polyline(latLngs));
 
this.map.addLayer(this.layer);
this.handleNewLocation(coordinates, polyline);
};
 
/**
* triggers location event
* @param coordinates.
* @param coordinates.lat latitude.
* @param coordinates.lng longitude.
* @param {array||null} polyline array of coordinates object
*/
Geoloc.prototype.handleNewLocation = function (coordinates, polyline = []) {
coordinates = this.formatCoordinates(coordinates);
 
if(!!coordinates && !!coordinates.lat && coordinates.lng) {
this.zoom = 20;
this.setMapCoordinates(coordinates);
 
if('point' === this.geometryFilter) {
this.createDraggableMarker();
this.handleMarkerEvents();
}
 
if (
('rue' === this.geometryFilter && 0 < polyline.length) ||
('point' === this.geometryFilter && 0 === polyline.length)
) {
this.getLocationInfo(coordinates, polyline);
}
}
};
 
Geoloc.prototype.formatCoordinates = function (coordinates) {
coordinates.lat = Number.parseFloat(coordinates.lat);
coordinates.lng = Number.parseFloat(coordinates.lng);
 
if(Number.isNaN(coordinates.lat) || Number.isNaN(coordinates.lng)) {
return null;
}
 
return coordinates;
};
 
Geoloc.prototype.formatPolyline = function (latLngs) {
const polyline = [];
 
latLngs.forEach(coordinates => polyline.push(Object.values(coordinates)));
 
return polyline;
};
 
Geoloc.prototype.setMapCoordinates = function (coordinates) {
this.coordinates = coordinates;
// updates map
this.map.setView(coordinates,this.zoom);
};
 
Geoloc.prototype.createDraggableMarker = function() {
if (undefined === this.map.marker) {
// after many attempts, did not manage
// to make marker from draw control draggable
// solution: replace it
if(this.layer) {
this.map.removeLayer(this.layer);
}
this.map.marker = new L.Marker(this.coordinates, {
draggable: true,
icon: new markerIcon()
});
this.layer = this.map.marker;
this.map.addLayer(this.map.marker);
if(this.drawControl) {
this.map.removeControl(this.drawControl);
}
}
 
this.map.marker.setLatLng(this.coordinates, {draggable: 'true'});
};
 
Geoloc.prototype.getLocationInfo = function(coordinates, polyline) {
const lthis = this,
url = NOMINATIM_OSM_URL+'reverse',
params = {
'format': 'json',
'lat': coordinates.lat,
'lon': coordinates.lng
};
 
this.geolocLabel.classList.add('loading');
 
$.ajax({
method: "GET",
url: url,
data: params,
success: function(locationData) {
lthis.loadGeolocation(coordinates,locationData,polyline);
},
error: (err) => {
console.warn(err);
lthis.geolocLabel.classList.remove('loading');
}
});
};
 
Geoloc.prototype.loadGeolocation = function(coordinates,locationData,polyline) {
const lthis = this,
query = {
'lat': coordinates.lat,
'lon': coordinates.lng
};
 
$.ajax({
method: "GET",
url: URL_GEOLOC_SERVICE,
data: query,
success: function (geoLocationData) {
lthis.triggerLocationEvent(
lthis.formatLocationEventObject(coordinates,geoLocationData,locationData,polyline)
);
lthis.geolocLabel.classList.remove('loading');
},
error: (err) => {
console.warn(err);
lthis.geolocLabel.classList.remove('loading');
}
});
};
 
Geoloc.prototype.triggerLocationEvent = function (locationDataObject) {
const location = new CustomEvent('location', {detail: locationDataObject});
 
this.mapEl.dispatchEvent(location);
};
 
Geoloc.prototype.formatLocationEventObject = function(coordinates,geoLocationData,locationData,polyline) {
const detail = {
centroid: {
type: 'Point',
coordinates: Object.values(coordinates)
},
elevation: geoLocationData.altitude,
inseeData: {
code: geoLocationData.code_zone,
nom: geoLocationData.nom
},
osmCountry: locationData.address.country,
osmCountryCode: geoLocationData.code_pays,
osmCounty: locationData.address.county,
osmPostcode:locationData.address.postcode,
locality: this.getLocalityFromData(locationData),
locality: geoLocationData.nom,
osmRoad: locationData.address.road,
osmState: locationData.address.state,
osmId: locationData.osm_id,
osmPlaceId: locationData.place_id
};
 
if (0 < polyline.length) {
detail.geometry = {
type: 'LineString',
coordinates: polyline
};
} else {
detail.geometry = detail.centroid;
}
 
return detail;
}
 
Geoloc.prototype.handleCoordinates = function() {
if (!!this.latitudeEl.value && !!this.longitudeEl.value) {
this.handleNewLocation({
'lat': this.latitudeEl.value,
'lng': this.longitudeEl.value
});
}
};
 
Geoloc.prototype.onCoordinates = function() {
[this.latitudeEl,this.longitudeEl].forEach(coordinate =>
coordinate.addEventListener('blur', function() {
this.handleCoordinates();
}.bind(this))
);
};
 
Geoloc.prototype.initSearchLocality = function() {
const placesZone = document.getElementById('tb-places-zone');
 
if(placesZone) {
placesZone.classList.remove('hidden');
this.tbPlaces = new TbPlaces(this.tbPlacesCallback.bind(this));
this.tbPlaces.init();
}
};
 
Geoloc.prototype.tbPlacesCallback = function(localityData) {
const locality = this.getLocalityFromData(localityData);
 
if(!!locality) {
const coordinates = {
'lat' : localityData.lat,
'lng' : localityData.lon
};
 
if ('point' === this.geometryFilter) {
this.map.removeControl(this.drawControl);
}
this.zoom = 18;
this.handleNewLocation(coordinates);
}
};
 
Geoloc.prototype.getLocalityFromData = function(localityData) {
const addressData = localityData.address,
locationNameType = ['village', 'city', 'locality', 'municipality', 'county'].find(locationNameType => addressData[locationNameType] !== undefined);
 
if (!locationNameType) {
return;
}
 
return addressData[locationNameType];
};
 
Geoloc.prototype.closeMap = function () {
// reset map
this.map = L.DomUtil.get(this.mapIdAttr);
if (this.map != null) {
this.map._leaflet_id = null;
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/parse-to-bool.js
New file
0,0 → 1,3
export const parseDatasetValToBool = val => {
return "boolean" === typeof val ? val : ['true', 1, "1"].includes(val);
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/debounce.js
New file
0,0 → 1,11
export function debounce (callback, delay) {
let timer;
return function(){
const args = arguments;
const context = this;
clearTimeout(timer);
timer = setTimeout(function(){
callback.apply(context, args);
}, delay)
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/html-entities-decode.js
New file
0,0 → 1,12
// Decode html entities
String.prototype.htmlEntitiesWidgets = function () {
const temp = document.createElement("div");
 
temp.innerHTML = this;
 
const result = temp.childNodes[0].nodeValue;
 
temp.removeChild(temp.firstChild);
 
return result;
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/scss/leaflet-gesture-handling.scss
New file
0,0 → 1,48
@keyframes leaflet-gestures-fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
 
.leaflet-container {
&:after {
animation: leaflet-gestures-fadein 0.8s backwards;
color: #fff;
font-family: "Roboto", Arial, sans-serif;
font-size: 22px;
justify-content: center;
display: flex;
align-items: center;
padding: 15px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 461;
pointer-events:none;
}
}
 
.leaflet-gesture-handling-touch-warning,
.leaflet-gesture-handling-scroll-warning {
&:after {
animation: leaflet-gestures-fadein 0.8s forwards;
}
}
 
.leaflet-gesture-handling-touch-warning {
&:after {
content: attr(data-gesture-handling-touch-content);
}
}
 
.leaflet-gesture-handling-scroll-warning {
&:after {
content: attr(data-gesture-handling-scroll-content);
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/js/leaflet-gesture-handling.js
New file
0,0 → 1,284
/*
* * Leaflet Gesture Handling **
* * Version 1.1.8
*/
import LanguageContent from "./language-content";
 
L.Map.mergeOptions({
gestureHandlingOptions: {
text: {},
duration: 1000
}
});
 
var draggingMap = false;
 
export var GestureHandling = L.Handler.extend({
addHooks: function() {
this._handleTouch = this._handleTouch.bind(this);
 
this._setupPluginOptions();
this._setLanguageContent();
this._disableInteractions();
 
//Uses native event listeners instead of L.DomEvent due to issues with Android touch events
//turning into pointer events
this._map._container.addEventListener("touchstart", this._handleTouch);
this._map._container.addEventListener("touchmove", this._handleTouch);
this._map._container.addEventListener("touchend", this._handleTouch);
this._map._container.addEventListener("touchcancel", this._handleTouch);
this._map._container.addEventListener("click", this._handleTouch);
 
L.DomEvent.on(
this._map._container,
"wheel",
this._handleScroll,
this
);
L.DomEvent.on(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.on(this._map, "mouseout", this._handleMouseOut, this);
 
// Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.
L.DomEvent.on(this._map, "movestart", this._handleDragging, this);
L.DomEvent.on(this._map, "move", this._handleDragging, this);
L.DomEvent.on(this._map, "moveend", this._handleDragging, this);
},
 
removeHooks: function() {
this._enableInteractions();
 
this._map._container.removeEventListener(
"touchstart",
this._handleTouch
);
this._map._container.removeEventListener(
"touchmove",
this._handleTouch
);
this._map._container.removeEventListener("touchend", this._handleTouch);
this._map._container.removeEventListener(
"touchcancel",
this._handleTouch
);
this._map._container.removeEventListener("click", this._handleTouch);
 
L.DomEvent.off(
this._map._container,
"wheel",
this._handleScroll,
this
);
L.DomEvent.off(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.off(this._map, "mouseout", this._handleMouseOut, this);
 
L.DomEvent.off(this._map, "movestart", this._handleDragging, this);
L.DomEvent.off(this._map, "move", this._handleDragging, this);
L.DomEvent.off(this._map, "moveend", this._handleDragging, this);
},
 
_handleDragging: function(e) {
if (e.type == "movestart" || e.type == "move") {
draggingMap = true;
} else if (e.type == "moveend") {
draggingMap = false;
}
},
 
_disableInteractions: function() {
this._map.dragging.disable();
this._map.scrollWheelZoom.disable();
if (this._map.tap) {
this._map.tap.disable();
}
},
 
_enableInteractions: function() {
this._map.dragging.enable();
this._map.scrollWheelZoom.enable();
if (this._map.tap) {
this._map.tap.enable();
}
},
 
_setupPluginOptions: function() {
//For backwards compatibility, merge gestureHandlingText into the new options object
if (this._map.options.gestureHandlingText) {
this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;
}
},
 
_setLanguageContent: function() {
var languageContent;
//If user has supplied custom language, use that
if (
this._map.options.gestureHandlingOptions &&
this._map.options.gestureHandlingOptions.text &&
this._map.options.gestureHandlingOptions.text.touch &&
this._map.options.gestureHandlingOptions.text.scroll &&
this._map.options.gestureHandlingOptions.text.scrollMac
) {
languageContent = this._map.options.gestureHandlingOptions.text;
} else {
//Otherwise auto set it from the language files
 
//Determine their language e.g fr or en-US
var lang = this._getUserLanguage();
 
//If we couldn't find it default to en
if (!lang) {
lang = "en";
}
 
//Lookup the appropriate language content
if (LanguageContent[lang]) {
languageContent = LanguageContent[lang];
}
 
//If no result, try searching by the first part only. e.g en-US just use en.
if (!languageContent && lang.indexOf("-") !== -1) {
lang = lang.split("-")[0];
languageContent = LanguageContent[lang];
}
 
if (!languageContent) {
// If still nothing, default to English
// console.log("No lang found for", lang);
lang = "en";
languageContent = LanguageContent[lang];
}
}
 
//TEST
// languageContent = LanguageContent["bg"];
 
//Check if they're on a mac for display of command instead of ctrl
var mac = false;
if (navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
mac = true;
}
 
var scrollContent = languageContent.scroll;
if (mac) {
scrollContent = languageContent.scrollMac;
}
 
this._map._container.setAttribute(
"data-gesture-handling-touch-content",
languageContent.touch
);
this._map._container.setAttribute(
"data-gesture-handling-scroll-content",
scrollContent
);
},
 
_getUserLanguage: function() {
var lang = navigator.languages
? navigator.languages[0]
: navigator.language || navigator.userLanguage;
return lang;
},
 
_handleTouch: function(e) {
//Disregard touch events on the minimap if present
var ignoreList = [
"leaflet-control-minimap",
"leaflet-interactive",
"leaflet-popup-content",
"leaflet-popup-content-wrapper",
"leaflet-popup-close-button",
"leaflet-control-zoom-in",
"leaflet-control-zoom-out"
];
 
var ignoreElement = false;
for (var i = 0; i < ignoreList.length; i++) {
if (L.DomUtil.hasClass(e.target, ignoreList[i])) {
ignoreElement = true;
}
}
 
if (ignoreElement) {
if (
L.DomUtil.hasClass(e.target, "leaflet-interactive") &&
e.type === "touchmove" &&
e.touches.length === 1
) {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
this._disableInteractions();
} else {
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
}
return;
}
// screenLog(e.type+' '+e.touches.length);
if (e.type !== "touchmove" && e.type !== "touchstart") {
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
return;
}
if (e.touches.length === 1) {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
this._disableInteractions();
} else {
this._enableInteractions();
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
}
},
 
_isScrolling: false,
 
_handleScroll: function(e) {
if (e.metaKey || e.ctrlKey) {
e.preventDefault();
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-scroll-warning"
);
this._map.scrollWheelZoom.enable();
} else {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-scroll-warning"
);
this._map.scrollWheelZoom.disable();
 
clearTimeout(this._isScrolling);
 
// Set a timeout to run after scrolling ends
this._isScrolling = setTimeout(function() {
// Run the callback
var warnings = document.getElementsByClassName(
"leaflet-gesture-handling-scroll-warning"
);
for (var i = 0; i < warnings.length; i++) {
L.DomUtil.removeClass(warnings[i],
"leaflet-gesture-handling-scroll-warning"
);
}
}, this._map.options.gestureHandlingOptions.duration);
}
},
 
_handleMouseOver: function(e) {
this._enableInteractions();
},
 
_handleMouseOut: function(e) {
if (!draggingMap) {
this._disableInteractions();
}
}
 
});
 
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
export default GestureHandling;
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/js/language-content.js
New file
0,0 → 1,423
export default {
//Arabic
ar: {
touch:
"\u0627\u0633\u062a\u062e\u062f\u0645 \u0625\u0635\u0628\u0639\u064a\u0646 \u0644\u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scroll:
"\u200f\u0627\u0633\u062a\u062e\u062f\u0645 ctrl + scroll \u0644\u062a\u0635\u063a\u064a\u0631/\u062a\u0643\u0628\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scrollMac:
"\u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u2318 + \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629"
},
//Bulgarian
bg: {
touch:
"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0432\u0430 \u043f\u0440\u044a\u0441\u0442\u0430, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scroll:
"\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 Ctrl \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scrollMac:
"\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 \u2318 \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430"
},
//Bengali
bn: {
touch:
"\u09ae\u09be\u09a8\u099a\u09bf\u09a4\u09cd\u09b0\u099f\u09bf\u0995\u09c7 \u09b8\u09b0\u09be\u09a4\u09c7 \u09a6\u09c1\u099f\u09bf \u0986\u0999\u09cd\u0997\u09c1\u09b2 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scroll:
"\u09ae\u09cd\u09af\u09be\u09aa \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 ctrl + scroll \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scrollMac:
"\u09ae\u09cd\u09af\u09be\u09aa\u09c7 \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 \u2318 \u09ac\u09cb\u09a4\u09be\u09ae \u099f\u09bf\u09aa\u09c7 \u09b8\u09cd\u0995\u09cd\u09b0\u09b2 \u0995\u09b0\u09c1\u09a8"
},
//Catalan
ca: {
touch: "Fes servir dos dits per moure el mapa",
scroll:
"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",
scrollMac:
"Prem la tecla \u2318 mentre et desplaces per apropar i allunyar el mapa"
},
//Czech
cs: {
touch: "K\u00a0posunut\u00ed mapy pou\u017eijte dva prsty",
scroll:
"Velikost zobrazen\u00ed mapy zm\u011b\u0148te podr\u017een\u00edm kl\u00e1vesy Ctrl a\u00a0posouv\u00e1n\u00edm kole\u010dka my\u0161i",
scrollMac:
"Velikost zobrazen\u00ed mapy zm\u011bn\u00edte podr\u017een\u00edm kl\u00e1vesy \u2318 a\u00a0posunut\u00edm kole\u010dka my\u0161i / touchpadu"
},
//Danish
da: {
touch: "Brug to fingre til at flytte kortet",
scroll:
"Brug ctrl + rullefunktionen til at zoome ind og ud p\u00e5 kortet",
scrollMac:
"Brug \u2318 + rullefunktionen til at zoome ind og ud p\u00e5 kortet"
},
//German
de: {
touch: "Verschieben der Karte mit zwei Fingern",
scroll: "Verwende Strg+Scrollen zum Zoomen der Karte",
scrollMac: "\u2318"
},
//Greek
el: {
touch:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03b4\u03cd\u03bf \u03b4\u03ac\u03c7\u03c4\u03c5\u03bb\u03b1 \u03b3\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scroll:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf Ctrl \u03ba\u03b1\u03b9 \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7, \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03b3\u03b5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scrollMac:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf \u2318 + \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b5\u03c3\u03c4\u03af\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7"
},
//English
en: {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Australian)
"en-AU": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Great Britain)
"en-GB": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//Spanish
es: {
touch: "Para mover el mapa, utiliza dos dedos",
scroll:
"Mant\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",
scrollMac:
"Mant\u00e9n pulsada la tecla \u2318 mientras te desplazas para acercar o alejar el mapa"
},
//Basque
eu: {
touch: "Erabili bi hatz mapa mugitzeko",
scroll: "Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",
scrollMac:
"Eduki sakatuta \u2318 eta egin gora eta behera mapa handitu eta txikitzeko"
},
//Farsi
fa: {
touch:
"\u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0632 \u062f\u0648 \u0627\u0646\u06af\u0634\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.",
scroll:
"\u200f\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647 \u0627\u0632 ctrl + scroll \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f",
scrollMac:
"\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647\u060c \u0627\u0632 \u2318 + \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f."
},
//Finnish
fi: {
touch: "Siirr\u00e4 karttaa kahdella sormella.",
scroll:
"Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\u00e4m\u00e4ll\u00e4.",
scrollMac:
"Zoomaa karttaa pit\u00e4m\u00e4ll\u00e4 painike \u2318 painettuna ja vieritt\u00e4m\u00e4ll\u00e4."
},
//Filipino
fil: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//French
fr: {
touch: "Utilisez deux\u00a0doigts pour d\u00e9placer la carte",
scroll:
"Vous pouvez zoomer sur la carte \u00e0 l'aide de CTRL+Molette de d\u00e9filement",
scrollMac:
"Vous pouvez zoomer sur la carte \u00e0 l'aide de \u2318+Molette de d\u00e9filement"
},
//Galician
gl: {
touch: "Utiliza dous dedos para mover o mapa",
scroll: "Preme Ctrl mentres te desprazas para ampliar o mapa",
scrollMac: "Preme \u2318 e despr\u00e1zate para ampliar o mapa"
},
//Gujarati
gu: {
touch:
"\u0aa8\u0a95\u0ab6\u0acb \u0a96\u0ab8\u0ac7\u0aa1\u0ab5\u0abe \u0aac\u0ac7 \u0a86\u0a82\u0a97\u0ab3\u0ac0\u0a93\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scroll:
"\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 ctrl + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scrollMac:
"\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u2318 + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb"
},
//Hindi
hi: {
touch:
"\u092e\u0948\u092a \u090f\u0915 \u091c\u0917\u0939 \u0938\u0947 \u0926\u0942\u0938\u0930\u0940 \u091c\u0917\u0939 \u0932\u0947 \u091c\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u094b \u0909\u0902\u0917\u0932\u093f\u092f\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902",
scroll:
"\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f ctrl + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902",
scrollMac:
"\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902"
},
//Croatian
hr: {
touch: "Pomi\u010dite kartu pomo\u0107u dva prsta",
scroll:
"Upotrijebite Ctrl i kliza\u010d mi\u0161a da biste zumirali kartu",
scrollMac:
"Upotrijebite gumb \u2318 dok se pomi\u010dete za zumiranje karte"
},
//Hungarian
hu: {
touch: "K\u00e9t ujjal mozgassa a t\u00e9rk\u00e9pet",
scroll:
"A t\u00e9rk\u00e9p a ctrl + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3",
scrollMac:
"A t\u00e9rk\u00e9p a \u2318 + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3"
},
//Indonesian
id: {
touch: "Gunakan dua jari untuk menggerakkan peta",
scroll: "Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",
scrollMac:
"Gunakan \u2318 + scroll untuk memperbesar atau memperkecil peta"
},
//Italian
it: {
touch: "Utilizza due dita per spostare la mappa",
scroll: "Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",
scrollMac:
"Utilizza \u2318 + scorrimento per eseguire lo zoom della mappa"
},
//Hebrew
iw: {
touch:
"\u05d4\u05d6\u05d6 \u05d0\u05ea \u05d4\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05ea\u05d9 \u05d0\u05e6\u05d1\u05e2\u05d5\u05ea",
scroll:
"\u200f\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 ctrl \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4",
scrollMac:
"\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 \u2318 \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4"
},
//Japanese
ja: {
touch:
"\u5730\u56f3\u3092\u79fb\u52d5\u3055\u305b\u308b\u306b\u306f\u6307 2 \u672c\u3067\u64cd\u4f5c\u3057\u307e\u3059",
scroll:
"\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044",
scrollMac:
"\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001\u2318 \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044"
},
//Kannada
kn: {
touch: "Use two fingers to move the map",
scroll: "Use Ctrl + scroll to zoom the map",
scrollMac: "Use ⌘ + scroll to zoom the map"
},
//Korean
ko: {
touch:
"\uc9c0\ub3c4\ub97c \uc6c0\uc9c1\uc774\ub824\uba74 \ub450 \uc190\uac00\ub77d\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.",
scroll:
"\uc9c0\ub3c4\ub97c \ud655\ub300/\ucd95\uc18c\ud558\ub824\uba74 Ctrl\uc744 \ub204\ub978 \ucc44 \uc2a4\ud06c\ub864\ud558\uc138\uc694.",
scrollMac:
"\uc9c0\ub3c4\ub97c \ud655\ub300\ud558\ub824\uba74 \u2318 + \uc2a4\ud06c\ub864 \uc0ac\uc6a9"
},
//Lithuanian
lt: {
touch: "Perkelkite \u017eem\u0117lap\u012f dviem pir\u0161tais",
scroll:
"Slinkite nuspaud\u0119 klavi\u0161\u0105 \u201eCtrl\u201c, kad pakeistum\u0117te \u017eem\u0117lapio mastel\u012f",
scrollMac:
"Paspauskite klavi\u0161\u0105 \u2318 ir slinkite, kad priartintum\u0117te \u017eem\u0117lap\u012f"
},
//Latvian
lv: {
touch: "Lai p\u0101rvietotu karti, b\u012bdiet to ar diviem pirkstiem",
scroll:
"Kartes t\u0101lummai\u0146ai izmantojiet ctrl + ritin\u0101\u0161anu",
scrollMac:
"Lai veiktu kartes t\u0101lummai\u0146u, izmantojiet \u2318 + ritin\u0101\u0161anu"
},
//Malayalam
ml: {
touch:
"\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d30\u0d23\u0d4d\u0d1f\u0d4d \u0d35\u0d3f\u0d30\u0d32\u0d41\u0d15\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
scroll:
"\u0d15\u0d7a\u0d1f\u0d4d\u0d30\u0d4b\u0d7e + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
scrollMac:
"\u2318 + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
},
//Marathi
mr: {
touch:
"\u0928\u0915\u093e\u0936\u093e \u0939\u0932\u0935\u093f\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0926\u094b\u0928 \u092c\u094b\u091f\u0947 \u0935\u093e\u092a\u0930\u093e",
scroll:
"\u0928\u0915\u093e\u0936\u093e \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 ctrl + scroll \u0935\u093e\u092a\u0930\u093e",
scrollMac:
"\u0928\u0915\u093e\u0936\u093e\u0935\u0930 \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0935\u093e\u092a\u0930\u093e"
},
//Dutch
nl: {
touch: "Gebruik twee vingers om de kaart te verplaatsen",
scroll: "Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",
scrollMac:
"Gebruik \u2318 + scrollen om in en uit te zoomen op de kaart"
},
//Norwegian
no: {
touch: "Bruk to fingre for \u00e5 flytte kartet",
scroll: "Hold ctrl-tasten inne og rull for \u00e5 zoome p\u00e5 kartet",
scrollMac:
"Hold inne \u2318-tasten og rull for \u00e5 zoome p\u00e5 kartet"
},
//Polish
pl: {
touch: "Przesu\u0144 map\u0119 dwoma palcami",
scroll:
"Naci\u015bnij CTRL i przewi\u0144, by przybli\u017cy\u0107 map\u0119",
scrollMac:
"Naci\u015bnij\u00a0\u2318 i przewi\u0144, by przybli\u017cy\u0107 map\u0119"
},
//Portuguese
pt: {
touch: "Use dois dedos para mover o mapa",
scroll:
"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac:
"Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Brazil)
"pt-BR": {
touch: "Use dois dedos para mover o mapa",
scroll:
"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac:
"Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Portugal
"pt-PT": {
touch: "Utilize dois dedos para mover o mapa",
scroll: "Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",
scrollMac:
"Utilize \u2318 + deslocar para aumentar/diminuir o zoom do mapa"
},
//Romanian
ro: {
touch: "Folosi\u021bi dou\u0103 degete pentru a deplasa harta",
scroll:
"Ap\u0103sa\u021bi tasta ctrl \u0219i derula\u021bi simultan pentru a m\u0103ri harta",
scrollMac:
"Folosi\u021bi \u2318 \u0219i derula\u021bi pentru a m\u0103ri/mic\u0219ora harta"
},
//Russian
ru: {
touch:
"\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443, \u043f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u0435\u0439 \u0434\u0432\u0443\u043c\u044f \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438",
scroll:
"\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443, \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0443 Ctrl.",
scrollMac:
"\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u2318\u00a0+ \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430"
},
//Slovak
sk: {
touch: "Mapu m\u00f4\u017eete posun\u00fa\u0165 dvoma prstami",
scroll:
"Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves ctrl a\u00a0pos\u00favajte",
scrollMac:
"Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves \u2318 a\u00a0pos\u00favajte kolieskom my\u0161i"
},
//Slovenian
sl: {
touch: "Premaknite zemljevid z dvema prstoma",
scroll:
"Zemljevid pove\u010date tako, da dr\u017eite tipko Ctrl in vrtite kolesce na mi\u0161ki",
scrollMac:
"Uporabite \u2318 + funkcijo pomika, da pove\u010date ali pomanj\u0161ate zemljevid"
},
//Serbian
sr: {
touch:
"\u041c\u0430\u043f\u0443 \u043f\u043e\u043c\u0435\u0440\u0430\u0458\u0442\u0435 \u043f\u043e\u043c\u043e\u045b\u0443 \u0434\u0432\u0430 \u043f\u0440\u0441\u0442\u0430",
scroll:
"\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 ctrl \u0442\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443",
scrollMac:
"\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u2318 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443"
},
//Swedish
sv: {
touch: "Anv\u00e4nd tv\u00e5 fingrar f\u00f6r att flytta kartan",
scroll: "Anv\u00e4nd ctrl + rulla f\u00f6r att zooma kartan",
scrollMac:
"Anv\u00e4nd \u2318 + rulla f\u00f6r att zooma p\u00e5 kartan"
},
//Tamil
ta: {
touch:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0ba8\u0b95\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4 \u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bc1 \u0bb5\u0bbf\u0bb0\u0bb2\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
scroll:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, ctrl \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
scrollMac:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, \u2318 \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
},
//Telugu
te: {
touch:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c30\u0c32\u0c3f\u0c02\u0c1a\u0c21\u0c02 \u0c15\u0c4b\u0c38\u0c02 \u0c30\u0c46\u0c02\u0c21\u0c41 \u0c35\u0c47\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
scroll:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f ctrl \u0c2c\u0c1f\u0c28\u0c4d\u200c\u0c28\u0c41 \u0c28\u0c4a\u0c15\u0c4d\u0c15\u0c3f \u0c09\u0c02\u0c1a\u0c3f, \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
scrollMac:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c02\u0c1f\u0c47 \u2318 + \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
},
//Thai
th: {
touch:
"\u0e43\u0e0a\u0e49 2 \u0e19\u0e34\u0e49\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scroll:
"\u0e01\u0e14 Ctrl \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scrollMac:
"\u0e01\u0e14 \u2318 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48"
},
//Tagalog
tl: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//Turkish
tr: {
touch:
"Haritada gezinmek i\u00e7in iki parma\u011f\u0131n\u0131z\u0131 kullan\u0131n",
scroll:
"Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in ctrl + kayd\u0131rma kombinasyonunu kullan\u0131n",
scrollMac:
"Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in \u2318 tu\u015funa bas\u0131p ekran\u0131 kayd\u0131r\u0131n"
},
//Ukrainian
uk: {
touch:
"\u041f\u0435\u0440\u0435\u043c\u0456\u0449\u0443\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443 \u0434\u0432\u043e\u043c\u0430 \u043f\u0430\u043b\u044c\u0446\u044f\u043c\u0438",
scroll:
"\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0439\u0442\u0435 \u043a\u043e\u043b\u0456\u0449\u0430\u0442\u043a\u043e \u043c\u0438\u0448\u0456, \u0443\u0442\u0440\u0438\u043c\u0443\u044e\u0447\u0438 \u043a\u043b\u0430\u0432\u0456\u0448\u0443 Ctrl",
scrollMac:
"\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u2318 + \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f"
},
//Vietnamese
vi: {
touch:
"S\u1eed d\u1ee5ng hai ng\u00f3n tay \u0111\u1ec3 di chuy\u1ec3n b\u1ea3n \u0111\u1ed3",
scroll:
"S\u1eed d\u1ee5ng ctrl + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3",
scrollMac:
"S\u1eed d\u1ee5ng \u2318 + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3"
},
//Chinese (Simplified)
"zh-CN": {
touch: "\u4f7f\u7528\u53cc\u6307\u79fb\u52a8\u5730\u56fe",
scroll:
"\u6309\u4f4f Ctrl \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe",
scrollMac:
"\u6309\u4f4f \u2318 \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe"
},
//Chinese (Traditional)
"zh-TW": {
touch: "\u540c\u6642\u4ee5\u5169\u6307\u79fb\u52d5\u5730\u5716",
scroll:
"\u6309\u4f4f ctrl \u9375\u52a0\u4e0a\u6372\u52d5\u6ed1\u9f20\u53ef\u4ee5\u7e2e\u653e\u5730\u5716",
scrollMac:
"\u6309 \u2318 \u52a0\u4e0a\u6efe\u52d5\u6372\u8ef8\u53ef\u4ee5\u7e2e\u653e\u5730\u5716"
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/package-lock.json
New file
0,0 → 1,4962
{
"name": "leaflet-gesture-handling",
"version": "1.2.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@gulp-sourcemaps/identity-map": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz",
"integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==",
"dev": true,
"requires": {
"acorn": "^5.0.3",
"css": "^2.2.1",
"normalize-path": "^2.1.1",
"source-map": "^0.6.0",
"through2": "^2.0.3"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"@gulp-sourcemaps/map-sources": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
"integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
"dev": true,
"requires": {
"normalize-path": "^2.0.1",
"through2": "^2.0.3"
}
},
"@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
"dev": true
},
"@types/node": {
"version": "10.5.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz",
"integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==",
"dev": true
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
"acorn": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
"integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
"dev": true
},
"ajv": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"requires": {
"co": "^4.6.0",
"json-stable-stringify": "^1.0.1"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
"requires": {
"ansi-wrap": "^0.1.0"
}
},
"ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
"dev": true,
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
"dev": true
},
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
"archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
"dev": true
},
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
"dev": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
"dev": true
},
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
"dev": true
},
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
"array-slice": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
"array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true
},
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"async-foreach": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
"integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
"dev": true
},
"autoprefixer": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.1.0.tgz",
"integrity": "sha512-b6mjq6VZ0guW6evRkKXL5sSSvIXICAE9dyWReZ3l/riidU7bVaJMe5cQ512SmaLA4Pvgnhi5MFsMs/Mvyh9//Q==",
"dev": true,
"requires": {
"browserslist": "^3.1.1",
"caniuse-lite": "^1.0.30000810",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^6.0.19",
"postcss-value-parser": "^3.2.3"
}
},
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
"aws4": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
"integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
"dev": true
},
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
"dev": true,
"requires": {
"chalk": "^1.1.3",
"esutils": "^2.0.2",
"js-tokens": "^3.0.2"
}
},
"babel-core": {
"version": "6.26.3",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
"dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
"babel-generator": "^6.26.0",
"babel-helpers": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-register": "^6.26.0",
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"convert-source-map": "^1.5.1",
"debug": "^2.6.9",
"json5": "^0.5.1",
"lodash": "^4.17.4",
"minimatch": "^3.0.4",
"path-is-absolute": "^1.0.1",
"private": "^0.1.8",
"slash": "^1.0.0",
"source-map": "^0.5.7"
}
},
"babel-generator": {
"version": "6.26.1",
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
"dev": true,
"requires": {
"babel-messages": "^6.23.0",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"detect-indent": "^4.0.0",
"jsesc": "^1.3.0",
"lodash": "^4.17.4",
"source-map": "^0.5.7",
"trim-right": "^1.0.1"
}
},
"babel-helpers": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
"dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-template": "^6.24.1"
}
},
"babel-messages": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
"dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
},
"babel-register": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
"dev": true,
"requires": {
"babel-core": "^6.26.0",
"babel-runtime": "^6.26.0",
"core-js": "^2.5.0",
"home-or-tmp": "^2.0.0",
"lodash": "^4.17.4",
"mkdirp": "^0.5.1",
"source-map-support": "^0.4.15"
}
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
}
},
"babel-template": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"lodash": "^4.17.4"
}
},
"babel-traverse": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
"babel-messages": "^6.23.0",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"debug": "^2.6.8",
"globals": "^9.18.0",
"invariant": "^2.2.2",
"lodash": "^4.17.4"
}
},
"babel-types": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"esutils": "^2.0.2",
"lodash": "^4.17.4",
"to-fast-properties": "^1.0.3"
}
},
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
"dev": true
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
"component-emitter": "^1.2.1",
"define-property": "^1.0.0",
"isobject": "^3.0.1",
"mixin-deep": "^1.2.0",
"pascalcase": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
}
},
"beeper": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
"dev": true
},
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true,
"requires": {
"inherits": "~2.0.0"
}
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
"hoek": "2.x.x"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
"extend-shallow": "^2.0.1",
"fill-range": "^4.0.0",
"isobject": "^3.0.1",
"repeat-element": "^1.1.2",
"snapdragon": "^0.8.1",
"snapdragon-node": "^2.0.1",
"split-string": "^3.0.2",
"to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"browserslist": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.1.2.tgz",
"integrity": "sha512-iO5MiK7MZXejqfnCK8onktxxb+mcW+KMiL/5gGF/UCWvVgPzbgbkA5cyYfqj/IIHHo7X1z0znrSHPw9AIfpvrw==",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30000813",
"electron-to-chromium": "^1.3.36"
}
},
"bufferstreams": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz",
"integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=",
"dev": true,
"requires": {
"readable-stream": "^1.0.33"
}
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
"get-value": "^2.0.6",
"has-value": "^1.0.0",
"isobject": "^3.0.1",
"set-value": "^2.0.0",
"to-object-path": "^0.3.0",
"union-value": "^1.0.0",
"unset-value": "^1.0.0"
}
},
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
"dev": true
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
"camelcase": "^2.0.0",
"map-obj": "^1.0.0"
}
},
"caniuse-lite": {
"version": "1.0.30000815",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000815.tgz",
"integrity": "sha512-PGSOPK6gFe5fWd+eD0u2bG0aOsN1qC4B1E66tl3jOsIoKkTIcBYAc2+O6AeNzKW8RsFykWgnhkTlfOyuTzgI9A==",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
"isobject": "^3.0.0",
"static-extend": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"clean-css": {
"version": "3.4.28",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
"integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
"dev": true,
"requires": {
"commander": "2.8.x",
"source-map": "0.4.x"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
}
},
"clone": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
"integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
},
"clone-buffer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
"dev": true
},
"clone-stats": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"cloneable-readable": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
"integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"process-nextick-args": "^2.0.0",
"readable-stream": "^2.3.5"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
}
},
"color-convert": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
"dev": true,
"requires": {
"color-name": "^1.1.1"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true
},
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
"dev": true,
"requires": {
"graceful-readlink": ">= 1.0.0"
}
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-with-sourcemaps": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
"integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
"dev": true,
"requires": {
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"convert-source-map": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
"integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
"dev": true
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"core-js": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
"integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cross-spawn": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
"dev": true,
"requires": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
}
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
"boom": "2.x.x"
}
},
"css": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz",
"integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"source-map": "^0.1.38",
"source-map-resolve": "^0.5.1",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
"array-find-index": "^1.0.1"
}
},
"d": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"dev": true,
"requires": {
"es5-ext": "^0.10.9"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"dateformat": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
"dev": true
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"debug-fabulous": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
"integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
"dev": true,
"requires": {
"debug": "3.X",
"memoizee": "0.4.X",
"object-assign": "4.X"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
"requires": {
"clone": "^1.0.2"
}
},
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
},
"dependencies": {
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true
},
"deprecated": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
"dev": true
},
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
"dev": true
},
"detect-indent": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
"dev": true,
"requires": {
"repeating": "^2.0.0"
}
},
"detect-newline": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
"dev": true
},
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
"dev": true,
"requires": {
"readable-stream": "~1.1.9"
}
},
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0"
}
},
"electron-to-chromium": {
"version": "1.3.37",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.37.tgz",
"integrity": "sha1-SpJzTgBEyM8LFVO+V+riGkxuX6s=",
"dev": true
},
"end-of-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
"dev": true,
"requires": {
"once": "~1.3.0"
}
},
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
"requires": {
"is-arrayish": "^0.2.1"
}
},
"es5-ext": {
"version": "0.10.45",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
"integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
"dev": true,
"requires": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.1",
"next-tick": "1"
}
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-symbol": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"es6-weak-map": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.14",
"es6-iterator": "^2.0.1",
"es6-symbol": "^3.1.1"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"estree-walker": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz",
"integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=",
"dev": true
},
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"posix-character-classes": "^0.1.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
"dev": true,
"requires": {
"homedir-polyfill": "^1.0.1"
}
},
"extend": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
"expand-brackets": "^2.1.4",
"extend-shallow": "^2.0.1",
"fragment-cache": "^0.2.1",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"fancy-log": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
"dev": true,
"requires": {
"ansi-gray": "^0.1.1",
"color-support": "^1.1.3",
"time-stamp": "^1.0.0"
}
},
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
"repeat-string": "^1.6.1",
"to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"find-index": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
"dev": true
},
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
"path-exists": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
"findup-sync": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"dev": true,
"requires": {
"detect-file": "^1.0.0",
"is-glob": "^3.1.0",
"micromatch": "^3.0.4",
"resolve-dir": "^1.0.1"
}
},
"fined": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"is-plain-object": "^2.0.3",
"object.defaults": "^1.1.0",
"object.pick": "^1.2.0",
"parse-filepath": "^1.0.1"
}
},
"first-chunk-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
"dev": true
},
"flagged-respawn": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
"integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
"dev": true
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
"dev": true,
"requires": {
"for-in": "^1.0.1"
}
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.5",
"mime-types": "^2.1.12"
}
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
"map-cache": "^0.2.2"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fstream": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
},
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
"has-unicode": "^2.0.0",
"object-assign": "^4.1.0",
"signal-exit": "^3.0.0",
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wide-align": "^1.1.0"
},
"dependencies": {
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"gaze": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
"dev": true,
"requires": {
"globule": "^1.0.0"
}
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
"dev": true
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"glob-stream": {
"version": "3.1.18",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
"dev": true,
"requires": {
"glob": "^4.3.1",
"glob2base": "^0.0.12",
"minimatch": "^2.0.1",
"ordered-read-streams": "^0.1.0",
"through2": "^0.6.1",
"unique-stream": "^1.0.0"
},
"dependencies": {
"glob": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
"dev": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^2.0.1",
"once": "^1.3.0"
}
},
"minimatch": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
"dev": true,
"requires": {
"brace-expansion": "^1.0.0"
}
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
}
}
}
},
"glob-watcher": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
"dev": true,
"requires": {
"gaze": "^0.5.1"
},
"dependencies": {
"gaze": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
"dev": true,
"requires": {
"globule": "~0.1.0"
}
},
"glob": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
"dev": true,
"requires": {
"graceful-fs": "~1.2.0",
"inherits": "1",
"minimatch": "~0.2.11"
}
},
"globule": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"dev": true,
"requires": {
"glob": "~3.1.21",
"lodash": "~1.0.1",
"minimatch": "~0.2.11"
}
},
"graceful-fs": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
"dev": true
},
"inherits": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
"dev": true
},
"lodash": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
"dev": true
},
"lru-cache": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"dev": true
},
"minimatch": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
"dev": true,
"requires": {
"lru-cache": "2",
"sigmund": "~1.0.0"
}
}
}
},
"glob2base": {
"version": "0.0.12",
"resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
"dev": true,
"requires": {
"find-index": "^0.1.1"
}
},
"global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
"dev": true,
"requires": {
"global-prefix": "^1.0.1",
"is-windows": "^1.0.1",
"resolve-dir": "^1.0.0"
}
},
"global-prefix": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"homedir-polyfill": "^1.0.1",
"ini": "^1.3.4",
"is-windows": "^1.0.1",
"which": "^1.2.14"
}
},
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
"integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
"dev": true
},
"globule": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
"dev": true,
"requires": {
"glob": "~7.1.1",
"lodash": "~4.17.10",
"minimatch": "~3.0.2"
}
},
"glogg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
"integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
"dev": true,
"requires": {
"sparkles": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
"gulp": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
"requires": {
"archy": "^1.0.0",
"chalk": "^1.0.0",
"deprecated": "^0.0.1",
"gulp-util": "^3.0.0",
"interpret": "^1.0.0",
"liftoff": "^2.1.0",
"minimist": "^1.1.0",
"orchestrator": "^0.3.0",
"pretty-hrtime": "^1.0.0",
"semver": "^4.1.0",
"tildify": "^1.0.0",
"v8flags": "^2.0.2",
"vinyl-fs": "^0.3.0"
}
},
"gulp-autoprefixer": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-5.0.0.tgz",
"integrity": "sha1-gjfCeKaXdScKHK/n1vEBz81YVUQ=",
"dev": true,
"requires": {
"autoprefixer": "^8.0.0",
"fancy-log": "^1.3.2",
"plugin-error": "^1.0.1",
"postcss": "^6.0.1",
"through2": "^2.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
}
},
"gulp-better-rollup": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/gulp-better-rollup/-/gulp-better-rollup-3.3.0.tgz",
"integrity": "sha512-mTvQeLwTuZCU8+jrFFBXwFj/W2BMABru9v1IKjVe7Xz4OK0UFqQvBQurH0uOoYmWM/u815/GJ/juqjybtBHOBg==",
"dev": true,
"requires": {
"lodash.camelcase": "^4.3.0",
"plugin-error": "^1.0.1",
"rollup": "^0.60.2",
"vinyl": "^2.1.0",
"vinyl-sourcemaps-apply": "^0.2.1"
},
"dependencies": {
"clone": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"vinyl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
"integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
}
}
},
"gulp-concat": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
"dev": true,
"requires": {
"concat-with-sourcemaps": "^1.0.0",
"through2": "^2.0.0",
"vinyl": "^2.0.0"
},
"dependencies": {
"clone": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"vinyl": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
"integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
}
}
},
"gulp-minify-css": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz",
"integrity": "sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=",
"dev": true,
"requires": {
"clean-css": "^3.3.3",
"gulp-util": "^3.0.5",
"object-assign": "^4.0.1",
"readable-stream": "^2.0.0",
"vinyl-bufferstream": "^1.0.1",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"gulp-rename": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.3.tgz",
"integrity": "sha512-CmdPM0BjJ105QCX1fk+j7NGhiN/1rCl9HLGss+KllBS/tdYadpjTxqdKyh/5fNV+M3yjT1MFz5z93bXdrTyzAw==",
"dev": true
},
"gulp-sass": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.1.tgz",
"integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
"dev": true,
"requires": {
"chalk": "^2.3.0",
"lodash.clonedeep": "^4.3.2",
"node-sass": "^4.8.3",
"plugin-error": "^1.0.1",
"replace-ext": "^1.0.0",
"strip-ansi": "^4.0.0",
"through2": "^2.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"gulp-sourcemaps": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
"integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
"dev": true,
"requires": {
"@gulp-sourcemaps/identity-map": "1.X",
"@gulp-sourcemaps/map-sources": "1.X",
"acorn": "5.X",
"convert-source-map": "1.X",
"css": "2.X",
"debug-fabulous": "1.X",
"detect-newline": "2.X",
"graceful-fs": "4.X",
"source-map": "~0.6.0",
"strip-bom-string": "1.X",
"through2": "2.X"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"gulp-uglify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
"integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=",
"dev": true,
"requires": {
"gulplog": "^1.0.0",
"has-gulplog": "^0.1.0",
"lodash": "^4.13.1",
"make-error-cause": "^1.1.1",
"through2": "^2.0.0",
"uglify-js": "^3.0.5",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"lodash": {
"version": "4.17.5",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
"dev": true
}
}
},
"gulp-util": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"dev": true,
"requires": {
"array-differ": "^1.0.0",
"array-uniq": "^1.0.2",
"beeper": "^1.0.0",
"chalk": "^1.0.0",
"dateformat": "^2.0.0",
"fancy-log": "^1.1.0",
"gulplog": "^1.0.0",
"has-gulplog": "^0.1.0",
"lodash._reescape": "^3.0.0",
"lodash._reevaluate": "^3.0.0",
"lodash._reinterpolate": "^3.0.0",
"lodash.template": "^3.0.0",
"minimist": "^1.1.0",
"multipipe": "^0.1.2",
"object-assign": "^3.0.0",
"replace-ext": "0.0.1",
"through2": "^2.0.0",
"vinyl": "^0.5.0"
}
},
"gulplog": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
"dev": true,
"requires": {
"glogg": "^1.0.0"
}
},
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true
},
"har-validator": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"requires": {
"ajv": "^4.9.1",
"har-schema": "^1.0.5"
}
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-gulplog": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
"dev": true,
"requires": {
"sparkles": "^1.0.0"
}
},
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
"isobject": "^3.0.0"
}
},
"has-values": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
},
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
"boom": "2.x.x",
"cryptiles": "2.x.x",
"hoek": "2.x.x",
"sntp": "1.x.x"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"home-or-tmp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.1"
}
},
"homedir-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
"dev": true,
"requires": {
"parse-passwd": "^1.0.0"
}
},
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
"dev": true
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"requires": {
"assert-plus": "^0.2.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"in-publish": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
"integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
"dev": true
},
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
"repeating": "^2.0.0"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
},
"interpret": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
},
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
"requires": {
"is-relative": "^1.0.0",
"is-windows": "^1.0.1"
}
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
"kind-of": "^5.0.0"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
"dev": true
}
}
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
},
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-odd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
"dev": true,
"requires": {
"is-number": "^4.0.0"
},
"dependencies": {
"is-number": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
"integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
"dev": true
}
}
},
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
"is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"requires": {
"is-unc-path": "^1.0.0"
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-unc-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"requires": {
"unc-path-regex": "^0.1.2"
}
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"js-base64": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
"integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==",
"dev": true
},
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsesc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"requires": {
"jsonify": "~0.0.0"
}
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"requires": {
"invert-kv": "^1.0.0"
}
},
"liftoff": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
"dev": true,
"requires": {
"extend": "^3.0.0",
"findup-sync": "^2.0.0",
"fined": "^1.0.1",
"flagged-respawn": "^1.0.0",
"is-plain-object": "^2.0.4",
"object.map": "^1.0.0",
"rechoir": "^0.6.2",
"resolve": "^1.1.7"
}
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0",
"strip-bom": "^2.0.0"
},
"dependencies": {
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
"is-utf8": "^0.2.0"
}
}
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"dev": true
},
"lodash._basecopy": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basetostring": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
"dev": true
},
"lodash._basevalues": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
"dev": true
},
"lodash._getnative": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._isiterateecall": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash._reescape": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
"dev": true
},
"lodash._reevaluate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
"dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash._root": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
"dev": true
},
"lodash.assign": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
"dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.escape": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
"dev": true,
"requires": {
"lodash._root": "^3.0.0"
}
},
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.keys": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
"lodash._getnative": "^3.0.0",
"lodash.isarguments": "^3.0.0",
"lodash.isarray": "^3.0.0"
}
},
"lodash.mergewith": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
"integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
"dev": true
},
"lodash.restparam": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
"dev": true
},
"lodash.template": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
"dev": true,
"requires": {
"lodash._basecopy": "^3.0.0",
"lodash._basetostring": "^3.0.0",
"lodash._basevalues": "^3.0.0",
"lodash._isiterateecall": "^3.0.0",
"lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0",
"lodash.keys": "^3.0.0",
"lodash.restparam": "^3.0.0",
"lodash.templatesettings": "^3.0.0"
}
},
"lodash.templatesettings": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0"
}
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"loud-rejection": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
"currently-unhandled": "^0.4.1",
"signal-exit": "^3.0.0"
}
},
"lru-cache": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"lru-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
"integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
"dev": true,
"requires": {
"es5-ext": "~0.10.2"
}
},
"make-error": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
"integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
"dev": true
},
"make-error-cause": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
"integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
"dev": true,
"requires": {
"make-error": "^1.2.0"
}
},
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
}
},
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
"object-visit": "^1.0.0"
}
},
"memoizee": {
"version": "0.4.12",
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz",
"integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg==",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.30",
"es6-weak-map": "^2.0.2",
"event-emitter": "^0.3.5",
"is-promise": "^2.1",
"lru-queue": "0.1",
"next-tick": "1",
"timers-ext": "^0.1.2"
}
},
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
"camelcase-keys": "^2.0.0",
"decamelize": "^1.1.2",
"loud-rejection": "^1.0.0",
"map-obj": "^1.0.1",
"minimist": "^1.1.3",
"normalize-package-data": "^2.3.4",
"object-assign": "^4.0.1",
"read-pkg-up": "^1.0.1",
"redent": "^1.0.0",
"trim-newlines": "^1.0.0"
},
"dependencies": {
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"braces": "^2.3.1",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"extglob": "^2.0.4",
"fragment-cache": "^0.2.1",
"kind-of": "^6.0.2",
"nanomatch": "^1.2.9",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.2"
}
},
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
"dev": true
},
"mime-types": {
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true,
"requires": {
"mime-db": "~1.33.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"mixin-deep": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
},
"dependencies": {
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"multipipe": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
"requires": {
"duplexer2": "0.0.2"
}
},
"nan": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
"integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
"dev": true
},
"nanomatch": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"fragment-cache": "^0.2.1",
"is-odd": "^2.0.0",
"is-windows": "^1.0.2",
"kind-of": "^6.0.2",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
}
},
"natives": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz",
"integrity": "sha512-BZGSYV4YOLxzoTK73l0/s/0sH9l8SHs2ocReMH1f8JYSh5FUWu4ZrKCpJdRkWXV6HFR/pZDz7bwWOVAY07q77g==",
"dev": true
},
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
"dev": true
},
"node-gyp": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz",
"integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==",
"dev": true,
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
"graceful-fs": "^4.1.2",
"mkdirp": "^0.5.0",
"nopt": "2 || 3",
"npmlog": "0 || 1 || 2 || 3 || 4",
"osenv": "0",
"request": ">=2.9.0 <2.82.0",
"rimraf": "2",
"semver": "~5.3.0",
"tar": "^2.0.0",
"which": "1"
},
"dependencies": {
"request": {
"version": "2.81.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"requires": {
"aws-sign2": "~0.6.0",
"aws4": "^1.2.1",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.0",
"forever-agent": "~0.6.1",
"form-data": "~2.1.1",
"har-validator": "~4.2.1",
"hawk": "~3.1.3",
"http-signature": "~1.1.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.7",
"oauth-sign": "~0.8.1",
"performance-now": "^0.2.0",
"qs": "~6.4.0",
"safe-buffer": "^5.0.1",
"stringstream": "~0.0.4",
"tough-cookie": "~2.3.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.0.0"
}
},
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"node-sass": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz",
"integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==",
"dev": true,
"requires": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
"cross-spawn": "^3.0.0",
"gaze": "^1.0.0",
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"in-publish": "^2.0.0",
"lodash.assign": "^4.2.0",
"lodash.clonedeep": "^4.3.2",
"lodash.mergewith": "^4.6.0",
"meow": "^3.7.0",
"mkdirp": "^0.5.1",
"nan": "^2.10.0",
"node-gyp": "^3.3.1",
"npmlog": "^4.0.0",
"request": "2.87.0",
"sass-graph": "^2.2.4",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
}
},
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"dev": true,
"requires": {
"abbrev": "1"
}
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
},
"normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"npmlog": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
"gauge": "~2.7.3",
"set-blocking": "~2.0.0"
}
},
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true
},
"object-assign": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
"dev": true
},
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
"kind-of": "^3.0.3"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
"isobject": "^3.0.0"
}
},
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
"dev": true,
"requires": {
"array-each": "^1.0.1",
"array-slice": "^1.0.0",
"for-own": "^1.0.0",
"isobject": "^3.0.0"
}
},
"object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
"dev": true,
"requires": {
"for-own": "^1.0.0",
"make-iterator": "^1.0.0"
}
},
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"once": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"orchestrator": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"dev": true,
"requires": {
"end-of-stream": "~0.1.5",
"sequencify": "~0.0.7",
"stream-consume": "~0.1.0"
}
},
"ordered-read-streams": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
"dev": true
},
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
"lcid": "^1.0.0"
}
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"osenv": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
}
},
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
"dev": true,
"requires": {
"is-absolute": "^1.0.0",
"map-cache": "^0.2.0",
"path-root": "^0.1.1"
}
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
"error-ex": "^1.2.0"
}
},
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
"pinkie-promise": "^2.0.0"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-parse": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
"path-root": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
"dev": true,
"requires": {
"path-root-regex": "^0.1.0"
}
},
"path-root-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
"dev": true
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
"pinkie": "^2.0.0"
}
},
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"requires": {
"ansi-colors": "^1.0.1",
"arr-diff": "^4.0.0",
"arr-union": "^3.1.0",
"extend-shallow": "^3.0.2"
}
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
"postcss": {
"version": "6.0.19",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz",
"integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==",
"dev": true,
"requires": {
"chalk": "^2.3.1",
"source-map": "^0.6.1",
"supports-color": "^5.2.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
"integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
"integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-value-parser": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
"integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
"dev": true
},
"prettier": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz",
"integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==",
"dev": true
},
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"qs": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true
},
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^1.0.0"
}
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
}
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": {
"resolve": "^1.1.6"
}
},
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
"indent-string": "^2.1.0",
"strip-indent": "^1.0.1"
}
},
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
"dev": true
},
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
}
},
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
"dev": true
},
"repeat-element": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
"is-finite": "^1.0.0"
}
},
"replace-ext": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"request": {
"version": "2.87.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
"integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.6.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.1",
"forever-agent": "~0.6.1",
"form-data": "~2.3.1",
"har-validator": "~5.0.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.17",
"oauth-sign": "~0.8.2",
"performance-now": "^2.1.0",
"qs": "~6.5.1",
"safe-buffer": "^5.1.1",
"tough-cookie": "~2.3.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.1.0"
},
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.3.0"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"mime-types": "^2.1.12"
}
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
},
"har-validator": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"dev": true,
"requires": {
"ajv": "^5.1.0",
"har-schema": "^2.0.0"
}
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
}
}
},
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
"resolve": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
"dev": true,
"requires": {
"path-parse": "^1.0.5"
}
},
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.0",
"global-modules": "^1.0.0"
}
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"requires": {
"glob": "^7.0.5"
}
},
"rollup": {
"version": "0.60.7",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-0.60.7.tgz",
"integrity": "sha512-Uj5I1A2PnDgA79P+v1dsNs1IHVydNgeJdKWRfoEJJdNMmyx07TRYqUtPUINaZ/gDusncFy1SZsT3lJnBBI8CGw==",
"dev": true,
"requires": {
"@types/estree": "0.0.39",
"@types/node": "*"
}
},
"rollup-plugin-babel": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz",
"integrity": "sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==",
"dev": true,
"requires": {
"rollup-pluginutils": "^1.5.0"
}
},
"rollup-pluginutils": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
"integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
"dev": true,
"requires": {
"estree-walker": "^0.2.1",
"minimatch": "^3.0.2"
}
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true
},
"safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
"ret": "~0.1.10"
}
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"sass-graph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
"integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
"dev": true,
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
"scss-tokenizer": "^0.2.3",
"yargs": "^7.0.0"
}
},
"scss-tokenizer": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
"integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
"dev": true,
"requires": {
"js-base64": "^2.1.8",
"source-map": "^0.4.2"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"semver": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"sequencify": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
"dev": true
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.3",
"split-string": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"map-cache": "^0.2.2",
"source-map": "^0.5.6",
"source-map-resolve": "^0.5.0",
"use": "^3.1.0"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"snapdragon-node": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
"snapdragon-util": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"snapdragon-util": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
"kind-of": "^3.2.0"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"sntp": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
"hoek": "2.x.x"
}
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-resolve": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"dev": true,
"requires": {
"atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
"source-map-support": {
"version": "0.4.18",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"dev": true,
"requires": {
"source-map": "^0.5.6"
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
"sparkles": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
"integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
"dev": true
},
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-exceptions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
"integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
"dev": true
},
"spdx-expression-parse": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-license-ids": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
"integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"dev": true
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"requires": {
"extend-shallow": "^3.0.0"
}
},
"sshpk": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"stdout-stream": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
"integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
"dev": true,
"requires": {
"readable-stream": "^2.0.1"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"stream-consume": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
"dev": true
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"stringstream": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
"integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
"dev": true
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"strip-bom": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
"dev": true,
"requires": {
"first-chunk-stream": "^1.0.0",
"is-utf8": "^0.2.0"
}
},
"strip-bom-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
"dev": true
},
"strip-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
"get-stdin": "^4.0.1"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
"tar": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
"inherits": "2"
}
},
"through2": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"dev": true,
"requires": {
"readable-stream": "^2.1.5",
"xtend": "~4.0.1"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"tildify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
"dev": true,
"requires": {
"os-homedir": "^1.0.0"
}
},
"time-stamp": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
"dev": true
},
"timers-ext": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz",
"integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==",
"dev": true,
"requires": {
"es5-ext": "~0.10.14",
"next-tick": "1"
}
},
"to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"to-regex": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
"dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"regex-not": "^1.0.2",
"safe-regex": "^1.1.0"
}
},
"to-regex-range": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
}
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true,
"requires": {
"punycode": "^1.4.1"
}
},
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
"true-case-path": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
"integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
"dev": true,
"requires": {
"glob": "^6.0.4"
},
"dependencies": {
"glob": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"dev": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "2 || 3",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"uglify-js": {
"version": "3.3.15",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.15.tgz",
"integrity": "sha512-bqtBCAINYXX/OkdnqMGpbXr+OPWc00hsozRpk+dAtfnbdk2jjKiLmyOkQ7zamg648lVMnzATL8JrSN6LmaVpYA==",
"dev": true,
"requires": {
"commander": "~2.15.0",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz",
"integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
"is-extendable": "^0.1.1",
"set-value": "^0.4.3"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"set-value": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.1",
"to-object-path": "^0.3.0"
}
}
}
},
"unique-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
"dev": true
},
"unset-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
},
"dependencies": {
"has-value": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
"isobject": "^2.0.0"
},
"dependencies": {
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
"requires": {
"isarray": "1.0.0"
}
}
}
},
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
"dev": true
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
}
}
},
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
"use": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
"integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
}
},
"user-home": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
"dev": true
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true
},
"v8flags": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
"dev": true,
"requires": {
"user-home": "^1.1.1"
}
},
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"vinyl": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
"dev": true,
"requires": {
"clone": "^1.0.0",
"clone-stats": "^0.0.1",
"replace-ext": "0.0.1"
}
},
"vinyl-bufferstream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
"integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=",
"dev": true,
"requires": {
"bufferstreams": "1.0.1"
}
},
"vinyl-fs": {
"version": "0.3.14",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
"dev": true,
"requires": {
"defaults": "^1.0.0",
"glob-stream": "^3.1.5",
"glob-watcher": "^0.0.6",
"graceful-fs": "^3.0.0",
"mkdirp": "^0.5.0",
"strip-bom": "^1.0.0",
"through2": "^0.6.1",
"vinyl": "^0.4.0"
},
"dependencies": {
"clone": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
"dev": true
},
"graceful-fs": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
"dev": true,
"requires": {
"natives": "^1.1.0"
}
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
}
},
"vinyl": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
"dev": true,
"requires": {
"clone": "^0.2.0",
"clone-stats": "^0.0.1"
}
}
}
},
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
"requires": {
"source-map": "^0.5.1"
}
},
"which": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
"which-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
"integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
"dev": true,
"requires": {
"camelcase": "^3.0.0",
"cliui": "^3.2.0",
"decamelize": "^1.1.1",
"get-caller-file": "^1.0.1",
"os-locale": "^1.4.0",
"read-pkg-up": "^1.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^1.0.1",
"set-blocking": "^2.0.0",
"string-width": "^1.0.2",
"which-module": "^1.0.0",
"y18n": "^3.2.1",
"yargs-parser": "^5.0.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
}
}
},
"yargs-parser": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
"integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
"dev": true,
"requires": {
"camelcase": "^3.0.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
}
}
}
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/README.md
New file
0,0 → 1,147
# Leaflet.GestureHandling
 
Version 1.2.1
 
Brings the basic functionality of [Google Maps Gesture Handling](https://developers.google.com/maps/documentation/javascript/examples/interaction-cooperative) into Leaflet.
 
Prevents users from getting trapped on the map when scrolling a long page.
 
**On Desktop**
 
![alt text](https://elmarquis.github.io/Leaflet.GestureHandling/examples/images/desktop.png "Desktop")
 
- The map ignores the mouse scroll wheel.
- The user is prompted to use ctrl+scroll to zoom the map.
 
**On Mobile / Touch devices**
 
![alt text](https://elmarquis.github.io/Leaflet.GestureHandling/examples/images/mobile.png "Mobile")
 
- The map ignores single fingered dragging.
- The user is prompted to use two fingers to pan the map.
 
## Demo
 
[View demo](https://elmarquis.github.io/Leaflet.GestureHandling/examples/)
 
## Install
 
The latest leaflet-gesture-handling can be downloaded from the dist folder.
 
## Usage
 
Include the css and js file after leaflet.js.
 
```html
<link rel="stylesheet" href="css/leaflet-gesture-handling.min.css" type="text/css">
<script src="js/leaflet-gesture-handling.min.js"></script>
```
 
Or load this directly from [UNPKG](https://unpkg.com):
 
```html
<link rel="stylesheet" href="//unpkg.com/leaflet-gesture-handling/dist/leaflet-gesture-handling.min.css" type="text/css">
<script src="//unpkg.com/leaflet-gesture-handling"></script>
```
 
Set **gestureHandling: true** in your map initialization script.
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true
});
```
 
Or you can enable and disable this dynamically on an existing map with `map.gestureHandling.enable()` and `map.gestureHandling.disable()`.
 
### Use as a module
 
If you are using a bundler such as Webpack or Parcel, you can load the library as a module. First install the module with:
 
```sh
npm install leaflet-gesture-handling
```
 
Then include the module and CSS in your source:
 
```js
import * as L from "leaflet";
import { GestureHandling } from "leaflet-gesture-handling";
 
import "leaflet/dist/leaflet.css";
import "leaflet-gesture-handling/dist/leaflet-gesture-handling.css";
```
 
Then attach it as a handler to the map:
 
```js
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
const map = L.map("map", {
center: [50.36, -4.747],
zoom: 3,
gestureHandling: true
});
```
 
## Multi Language and Custom Text
 
The plugin will auto detect a users language from the browser setting and show the appropriate translation. 52 languages are supported without you needing to do anything.
 
However if you wish to override this, you can set your own text by supplying **gestureHandlingOptions** and a **text** option as shown below. You must specify text for touch, scroll and scrollMac.
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true,
gestureHandlingOptions: {
text: {
touch: "Hey bro, use two fingers to move the map",
scroll: "Hey bro, use ctrl + scroll to zoom the map",
scrollMac: "Hey bro, use \u2318 + scroll to zoom the map"
}
}
});
```
 
*Note: Earlier versions used a property called gestureHandlingText for this which still works.
 
## Other Options
 
To pass in options use the property: **gestureHandlingOptions**.
 
- **duration** : (int) time in ms before the message should disappear. default: 1000 (1 sec)
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true,
gestureHandlingOptions: {
duration: 5000 //5 secs
}
});
```
 
## Useful info
 
GestureHandling disables the following map attributes.
 
- dragging
- tap
- scrollWheelZoom
 
They are temporarily enabled for the duration the user scrolls with ctrl+mousewheel or uses two fingers to pan the map on mobile.
 
## Compatibility with other plugins
 
I have added compatibility with [Leaflet-MiniMap](https://github.com/Norkart/Leaflet-MiniMap). It allows the user to still pan around the minimap with a single finger.
 
If there's any other plugins you'd like this to work with, let me know or submit a pull request.
 
## License
 
MIT
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/index.html
New file
0,0 → 1,110
<!DOCTYPE html>
<html lang="en">
 
<head>
 
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
 
<title>Leaflet.GestureHandling Example</title>
 
<!-- Leaflet -->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<!-- Leaflet Gesture Handling -->
<link rel="stylesheet" href="../dist/leaflet-gesture-handling.css" type="text/css">
<script src="../dist/leaflet-gesture-handling.js"></script>
 
<style>
html, body {
padding:0;
margin:0;
}
body {
font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
background-color: #fff;
color: #222;
}
.content {
padding:20px;
}
header, .arrows {
text-align: center;
}
 
#map {
width:100%;
height:600px;
}
</style>
</head>
 
<body>
<header>
<h1>Leaflet.GestureHandling</h1>
</header>
<div class="content">
<p>Try scrolling down the page.</p>
<p>Normally you'd get to the map then find the map starts zooming or panning.</p>
<p>If there's nothing outside the map to get a grip on you could find yourself trapped in the map, unable to scroll the page up or down.</p>
<div class="arrows">
<br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>
</div>
</div>
<div id="map"></div>
<div class="content">
<p>But Leaflet.GestureHandling prevented that from happening.</p>
<b>On Desktop</b>
<ul>
<li>The map ignores the mouse scroll wheel.</li>
<li>The user is prompted to use ctrl+scroll to zoom the map.</li>
</ul>
 
<b>On Mobile/Touch enabled devices</b>
<ul>
<li>The map ignores single fingered dragging. </li>
<li>The user is prompted to use two fingers to pan the map.</li>
</ul>
 
<p>It brings the basic functionality of <a href="https://developers.google.com/maps/documentation/javascript/examples/interaction-cooperative">Google Maps Gesture Handling</a> into Leaflet.</p>
</div>
<hr/>
<div class="content">
<div class="arrows">
<p>
<a href="https://github.com/elmarquis/Leaflet.GestureHandling/">View this project on Github</a>
</p>
<br/>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>
</div>
</div>
 
</ul>
</body>
 
<script>
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true
});
 
var OpenStreetMap_Mapnik = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
 
//Add markers
var marker = new L.marker([-25.2702, 134.2798])
.bindPopup("Example Popup")
.addTo(map);
 
</script>
 
</html>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/mobile.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/mobile.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/desktop.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/desktop.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/yarn.lock
New file
0,0 → 1,3431
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
 
 
"@gulp-sourcemaps/identity-map@1.X":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz#1e6fe5d8027b1f285dc0d31762f566bccd73d5a9"
integrity sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==
dependencies:
acorn "^5.0.3"
css "^2.2.1"
normalize-path "^2.1.1"
source-map "^0.6.0"
through2 "^2.0.3"
 
"@gulp-sourcemaps/map-sources@1.X":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o=
dependencies:
normalize-path "^2.0.1"
through2 "^2.0.3"
 
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
 
"@types/node@*":
version "14.11.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.1.tgz#56af902ad157e763f9ba63d671c39cda3193c835"
integrity sha512-oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==
 
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
 
acorn@5.X, acorn@^5.0.3:
version "5.7.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
 
ajv@^6.12.3:
version "6.12.5"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da"
integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
 
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
 
ansi-colors@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==
dependencies:
ansi-wrap "^0.1.0"
 
ansi-gray@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
dependencies:
ansi-wrap "0.1.0"
 
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
 
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
 
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
 
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
 
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
 
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
 
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
 
archy@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
 
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
 
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
 
arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
 
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
 
array-differ@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
 
array-each@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
 
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
 
array-slice@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
 
array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
 
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
 
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
dependencies:
safer-buffer "~2.1.0"
 
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
 
async-foreach@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
 
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
 
atob@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
 
autoprefixer@^8.0.0:
version "8.6.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9"
integrity sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==
dependencies:
browserslist "^3.2.8"
caniuse-lite "^1.0.30000864"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^6.0.23"
postcss-value-parser "^3.2.3"
 
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
 
aws4@^1.8.0:
version "1.10.1"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
 
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
js-tokens "^3.0.2"
 
babel-core@^6.26.0, babel-core@^6.26.3:
version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
babel-helpers "^6.24.1"
babel-messages "^6.23.0"
babel-register "^6.26.0"
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
convert-source-map "^1.5.1"
debug "^2.6.9"
json5 "^0.5.1"
lodash "^4.17.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
private "^0.1.8"
slash "^1.0.0"
source-map "^0.5.7"
 
babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.17.4"
source-map "^0.5.7"
trim-right "^1.0.1"
 
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
 
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
dependencies:
babel-runtime "^6.22.0"
 
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
core-js "^2.5.0"
home-or-tmp "^2.0.0"
lodash "^4.17.4"
mkdirp "^0.5.1"
source-map-support "^0.4.15"
 
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
 
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
lodash "^4.17.4"
 
babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
debug "^2.6.8"
globals "^9.18.0"
invariant "^2.2.2"
lodash "^4.17.4"
 
babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
 
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
 
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
 
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
component-emitter "^1.2.1"
define-property "^1.0.0"
isobject "^3.0.1"
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
 
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
dependencies:
tweetnacl "^0.14.3"
 
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=
 
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
dependencies:
inherits "~2.0.0"
 
brace-expansion@^1.0.0, brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
 
braces@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
extend-shallow "^2.0.1"
fill-range "^4.0.0"
isobject "^3.0.1"
repeat-element "^1.1.2"
snapdragon "^0.8.1"
snapdragon-node "^2.0.1"
split-string "^3.0.2"
to-regex "^3.0.1"
 
browserslist@^3.2.8:
version "3.2.8"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6"
integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==
dependencies:
caniuse-lite "^1.0.30000844"
electron-to-chromium "^1.3.47"
 
bufferstreams@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-1.0.1.tgz#cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a"
integrity sha1-z7GtlWjTujz+k1upq92VLeiKqyo=
dependencies:
readable-stream "^1.0.33"
 
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
get-value "^2.0.6"
has-value "^1.0.0"
isobject "^3.0.1"
set-value "^2.0.0"
to-object-path "^0.3.0"
union-value "^1.0.0"
unset-value "^1.0.0"
 
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
dependencies:
camelcase "^2.0.0"
map-obj "^1.0.0"
 
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
 
camelcase@^5.0.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864:
version "1.0.30001133"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001133.tgz#ec564c5495311299eb05245e252d589a84acd95e"
integrity sha512-s3XAUFaC/ntDb1O3lcw9K8MPeOW7KO3z9+GzAoBxfz1B0VdacXPMKgFUtG4KIsgmnbexmi013s9miVu4h+qMHw==
 
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
 
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
 
chalk@^2.3.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
 
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
isobject "^3.0.0"
static-extend "^0.1.1"
 
clean-css@^3.3.3:
version "3.4.28"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
integrity sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=
dependencies:
commander "2.8.x"
source-map "0.4.x"
 
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
dependencies:
string-width "^3.1.0"
strip-ansi "^5.2.0"
wrap-ansi "^5.1.0"
 
clone-buffer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
 
clone-stats@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
 
clone-stats@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
 
clone@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=
 
clone@^1.0.0, clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
 
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
 
cloneable-readable@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
dependencies:
inherits "^2.0.1"
process-nextick-args "^2.0.0"
readable-stream "^2.3.5"
 
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
 
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
 
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"
 
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
 
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
 
commander@2.8.x:
version "2.8.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=
dependencies:
graceful-readlink ">= 1.0.0"
 
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
 
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 
concat-with-sourcemaps@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e"
integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==
dependencies:
source-map "^0.6.1"
 
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
 
convert-source-map@1.X, convert-source-map@^1.5.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
dependencies:
safe-buffer "~5.1.1"
 
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
 
core-js@^2.4.0, core-js@^2.5.0:
version "2.6.11"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
 
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
cross-spawn@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
dependencies:
lru-cache "^4.0.1"
which "^1.2.9"
 
css@2.X, css@^2.2.1:
version "2.2.4"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
dependencies:
inherits "^2.0.3"
source-map "^0.6.1"
source-map-resolve "^0.5.2"
urix "^0.1.0"
 
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
dependencies:
array-find-index "^1.0.1"
 
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
dependencies:
es5-ext "^0.10.50"
type "^1.0.1"
 
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
dependencies:
assert-plus "^1.0.0"
 
dateformat@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
 
debug-fabulous@1.X:
version "1.1.0"
resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e"
integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==
dependencies:
debug "3.X"
memoizee "0.4.X"
object-assign "4.X"
 
debug@3.X:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
dependencies:
ms "^2.1.1"
 
debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
 
decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
 
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
 
defaults@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
dependencies:
clone "^1.0.2"
 
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
is-descriptor "^0.1.0"
 
define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
is-descriptor "^1.0.0"
 
define-property@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
dependencies:
is-descriptor "^1.0.2"
isobject "^3.0.1"
 
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
deprecated@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"
integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=
 
detect-file@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
 
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
dependencies:
repeating "^2.0.0"
 
detect-newline@2.X:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
 
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
dependencies:
readable-stream "~1.1.9"
 
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
dependencies:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
 
electron-to-chromium@^1.3.47:
version "1.3.570"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.570.tgz#3f5141cc39b4e3892a276b4889980dabf1d29c7f"
integrity sha512-Y6OCoVQgFQBP5py6A/06+yWxUZHDlNr/gNDGatjH8AZqXl8X0tE4LfjLJsXGz/JmWJz8a6K7bR1k+QzZ+k//fg==
 
emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
 
end-of-stream@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf"
integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8=
dependencies:
once "~1.3.0"
 
error-ex@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
 
es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
version "0.10.53"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.3"
next-tick "~1.0.0"
 
es6-iterator@^2.0.3, es6-iterator@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
dependencies:
d "1"
es5-ext "^0.10.35"
es6-symbol "^3.1.1"
 
es6-symbol@^3.1.1, es6-symbol@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
dependencies:
d "^1.0.1"
ext "^1.1.2"
 
es6-weak-map@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
dependencies:
d "1"
es5-ext "^0.10.46"
es6-iterator "^2.0.3"
es6-symbol "^3.1.1"
 
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 
estree-walker@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4=
 
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 
event-emitter@^0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
dependencies:
d "1"
es5-ext "~0.10.14"
 
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
extend-shallow "^2.0.1"
posix-character-classes "^0.1.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
dependencies:
homedir-polyfill "^1.0.1"
 
ext@^1.1.2:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
dependencies:
type "^2.0.0"
 
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
 
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
 
extend@^3.0.0, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
 
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
dependencies:
array-unique "^0.3.2"
define-property "^1.0.0"
expand-brackets "^2.1.4"
extend-shallow "^2.0.1"
fragment-cache "^0.2.1"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
 
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
 
fancy-log@^1.1.0, fancy-log@^1.3.2:
version "1.3.3"
resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7"
integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==
dependencies:
ansi-gray "^0.1.1"
color-support "^1.1.3"
parse-node-version "^1.0.0"
time-stamp "^1.0.0"
 
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
 
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
extend-shallow "^2.0.1"
is-number "^3.0.0"
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
 
find-index@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=
 
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
dependencies:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
 
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
 
findup-sync@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
dependencies:
detect-file "^1.0.0"
is-glob "^3.1.0"
micromatch "^3.0.4"
resolve-dir "^1.0.1"
 
fined@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b"
integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==
dependencies:
expand-tilde "^2.0.2"
is-plain-object "^2.0.3"
object.defaults "^1.1.0"
object.pick "^1.2.0"
parse-filepath "^1.0.1"
 
first-chunk-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
 
flagged-respawn@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
 
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
 
for-own@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
dependencies:
for-in "^1.0.1"
 
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
 
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.6"
mime-types "^2.1.12"
 
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
map-cache "^0.2.2"
 
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
fstream@^1.0.0, fstream@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
dependencies:
graceful-fs "^4.1.2"
inherits "~2.0.0"
mkdirp ">=0.5 0"
rimraf "2"
 
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
has-unicode "^2.0.0"
object-assign "^4.1.0"
signal-exit "^3.0.0"
string-width "^1.0.1"
strip-ansi "^3.0.1"
wide-align "^1.1.0"
 
gaze@^0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=
dependencies:
globule "~0.1.0"
 
gaze@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
dependencies:
globule "^1.0.0"
 
get-caller-file@^2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
 
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
 
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
dependencies:
assert-plus "^1.0.0"
 
glob-stream@^3.1.5:
version "3.1.18"
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=
dependencies:
glob "^4.3.1"
glob2base "^0.0.12"
minimatch "^2.0.1"
ordered-read-streams "^0.1.0"
through2 "^0.6.1"
unique-stream "^1.0.0"
 
glob-watcher@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=
dependencies:
gaze "^0.5.1"
 
glob2base@^0.0.12:
version "0.0.12"
resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=
dependencies:
find-index "^0.1.1"
 
glob@^4.3.1:
version "4.5.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "^2.0.1"
once "^1.3.0"
 
glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
 
glob@~3.1.21:
version "3.1.21"
resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=
dependencies:
graceful-fs "~1.2.0"
inherits "1"
minimatch "~0.2.11"
 
global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
dependencies:
global-prefix "^1.0.1"
is-windows "^1.0.1"
resolve-dir "^1.0.0"
 
global-prefix@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
dependencies:
expand-tilde "^2.0.2"
homedir-polyfill "^1.0.1"
ini "^1.3.4"
is-windows "^1.0.1"
which "^1.2.14"
 
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
globule@^1.0.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4"
integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==
dependencies:
glob "~7.1.1"
lodash "~4.17.10"
minimatch "~3.0.2"
 
globule@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=
dependencies:
glob "~3.1.21"
lodash "~1.0.1"
minimatch "~0.2.11"
 
glogg@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f"
integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==
dependencies:
sparkles "^1.0.0"
 
graceful-fs@4.X, graceful-fs@^4.1.2:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
 
graceful-fs@^3.0.0:
version "3.0.12"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz#0034947ce9ed695ec8ab0b854bc919e82b1ffaef"
integrity sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==
dependencies:
natives "^1.1.3"
 
graceful-fs@~1.2.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
 
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
 
gulp-autoprefixer@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-5.0.0.tgz#8237c278a69775270a1cafe7d6f101cfcd585544"
integrity sha1-gjfCeKaXdScKHK/n1vEBz81YVUQ=
dependencies:
autoprefixer "^8.0.0"
fancy-log "^1.3.2"
plugin-error "^1.0.1"
postcss "^6.0.1"
through2 "^2.0.0"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-better-rollup@^3.3.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/gulp-better-rollup/-/gulp-better-rollup-3.4.0.tgz#a66094de51044e73472639e6d7c84e70a71fdfac"
integrity sha512-x43aG/5jj26qJdfvvCFJ1R+w6oNEuiTxmxkTiq0Oh3jpO0DsoF6c4t0L7oyyNQ6avlDxPRj8QQF+Lwj6YAIPXQ==
dependencies:
lodash.camelcase "^4.3.0"
plugin-error "^1.0.1"
rollup "^0.66.0"
vinyl "^2.1.0"
vinyl-sourcemaps-apply "^0.2.1"
 
gulp-concat@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353"
integrity sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=
dependencies:
concat-with-sourcemaps "^1.0.0"
through2 "^2.0.0"
vinyl "^2.0.0"
 
gulp-minify-css@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz#b6164957602ea27f9e5ad88227695dd205778c06"
integrity sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=
dependencies:
clean-css "^3.3.3"
gulp-util "^3.0.5"
object-assign "^4.0.1"
readable-stream "^2.0.0"
vinyl-bufferstream "^1.0.1"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-rename@^1.2.3:
version "1.4.0"
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd"
integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==
 
gulp-sass@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.1.0.tgz#486d7443c32d42bf31a6b1573ebbdaa361de7427"
integrity sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==
dependencies:
chalk "^2.3.0"
lodash "^4.17.11"
node-sass "^4.8.3"
plugin-error "^1.0.1"
replace-ext "^1.0.0"
strip-ansi "^4.0.0"
through2 "^2.0.0"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-sourcemaps@^2.6.4:
version "2.6.5"
resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz#a3f002d87346d2c0f3aec36af7eb873f23de8ae6"
integrity sha512-SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==
dependencies:
"@gulp-sourcemaps/identity-map" "1.X"
"@gulp-sourcemaps/map-sources" "1.X"
acorn "5.X"
convert-source-map "1.X"
css "2.X"
debug-fabulous "1.X"
detect-newline "2.X"
graceful-fs "4.X"
source-map "~0.6.0"
strip-bom-string "1.X"
through2 "2.X"
 
gulp-uglify@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-3.0.2.tgz#5f5b2e8337f879ca9dec971feb1b82a5a87850b0"
integrity sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==
dependencies:
array-each "^1.0.1"
extend-shallow "^3.0.2"
gulplog "^1.0.0"
has-gulplog "^0.1.0"
isobject "^3.0.1"
make-error-cause "^1.1.1"
safe-buffer "^5.1.2"
through2 "^2.0.0"
uglify-js "^3.0.5"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-util@^3.0.0, gulp-util@^3.0.5:
version "3.0.8"
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08=
dependencies:
array-differ "^1.0.0"
array-uniq "^1.0.2"
beeper "^1.0.0"
chalk "^1.0.0"
dateformat "^2.0.0"
fancy-log "^1.1.0"
gulplog "^1.0.0"
has-gulplog "^0.1.0"
lodash._reescape "^3.0.0"
lodash._reevaluate "^3.0.0"
lodash._reinterpolate "^3.0.0"
lodash.template "^3.0.0"
minimist "^1.1.0"
multipipe "^0.1.2"
object-assign "^3.0.0"
replace-ext "0.0.1"
through2 "^2.0.0"
vinyl "^0.5.0"
 
gulp@^3.9.1:
version "3.9.1"
resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4"
integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=
dependencies:
archy "^1.0.0"
chalk "^1.0.0"
deprecated "^0.0.1"
gulp-util "^3.0.0"
interpret "^1.0.0"
liftoff "^2.1.0"
minimist "^1.1.0"
orchestrator "^0.3.0"
pretty-hrtime "^1.0.0"
semver "^4.1.0"
tildify "^1.0.0"
v8flags "^2.0.2"
vinyl-fs "^0.3.0"
 
gulplog@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U=
dependencies:
glogg "^1.0.0"
 
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
 
har-validator@~5.1.3:
version "5.1.5"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
dependencies:
ajv "^6.12.3"
har-schema "^2.0.0"
 
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
ansi-regex "^2.0.0"
 
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 
has-gulplog@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=
dependencies:
sparkles "^1.0.0"
 
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
 
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
get-value "^2.0.3"
has-values "^0.1.4"
isobject "^2.0.0"
 
has-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
get-value "^2.0.6"
has-values "^1.0.0"
isobject "^3.0.0"
 
has-values@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
 
has-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
 
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
 
homedir-polyfill@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
dependencies:
parse-passwd "^1.0.0"
 
hosted-git-info@^2.1.4:
version "2.8.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
 
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
 
in-publish@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==
 
indent-string@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
dependencies:
repeating "^2.0.0"
 
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
 
inherits@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=
 
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
ini@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
 
interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
 
invariant@^2.2.2:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
 
is-absolute@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
dependencies:
is-relative "^1.0.0"
is-windows "^1.0.1"
 
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
kind-of "^3.0.2"
 
is-accessor-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
dependencies:
kind-of "^6.0.0"
 
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
 
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
kind-of "^3.0.2"
 
is-data-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
kind-of "^6.0.0"
 
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
dependencies:
is-accessor-descriptor "^0.1.6"
is-data-descriptor "^0.1.4"
kind-of "^5.0.0"
 
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
dependencies:
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
 
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
 
is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
dependencies:
is-plain-object "^2.0.4"
 
is-extglob@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
 
is-finite@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
 
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
 
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
 
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
 
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
 
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
dependencies:
isobject "^3.0.1"
 
is-promise@^2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
 
is-relative@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
dependencies:
is-unc-path "^1.0.0"
 
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
 
is-unc-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
dependencies:
unc-path-regex "^0.1.2"
 
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
 
is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
 
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
 
isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
 
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
 
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
 
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
 
js-base64@^2.1.8:
version "2.6.4"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
 
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
 
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
 
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
 
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
 
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
 
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
 
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
json-schema "0.2.3"
verror "1.10.0"
 
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
is-buffer "^1.1.5"
 
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
is-buffer "^1.1.5"
 
kind-of@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
 
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
 
liftoff@^2.1.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=
dependencies:
extend "^3.0.0"
findup-sync "^2.0.0"
fined "^1.0.1"
flagged-respawn "^1.0.0"
is-plain-object "^2.0.4"
object.map "^1.0.0"
rechoir "^0.6.2"
resolve "^1.1.7"
 
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
dependencies:
graceful-fs "^4.1.2"
parse-json "^2.2.0"
pify "^2.0.0"
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
 
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
dependencies:
p-locate "^3.0.0"
path-exists "^3.0.0"
 
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=
 
lodash._basetostring@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=
 
lodash._basevalues@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=
 
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
 
lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=
 
lodash._reescape@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=
 
lodash._reevaluate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=
 
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
 
lodash._root@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
 
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
 
lodash.escape@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=
dependencies:
lodash._root "^3.0.0"
 
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
 
lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
 
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
dependencies:
lodash._getnative "^3.0.0"
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
 
lodash.restparam@^3.0.0:
version "3.6.1"
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
 
lodash.template@^3.0.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=
dependencies:
lodash._basecopy "^3.0.0"
lodash._basetostring "^3.0.0"
lodash._basevalues "^3.0.0"
lodash._isiterateecall "^3.0.0"
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
lodash.keys "^3.0.0"
lodash.restparam "^3.0.0"
lodash.templatesettings "^3.0.0"
 
lodash.templatesettings@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
dependencies:
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
 
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.4, lodash@~4.17.10:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
 
lodash@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=
 
loose-envify@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
 
loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
dependencies:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
 
lru-cache@2:
version "2.7.3"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=
 
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
 
lru-queue@0.1:
version "0.1.0"
resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
dependencies:
es5-ext "~0.10.2"
 
make-error-cause@^1.1.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
integrity sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=
dependencies:
make-error "^1.2.0"
 
make-error@^1.2.0:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
 
make-iterator@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
dependencies:
kind-of "^6.0.2"
 
map-cache@^0.2.0, map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
 
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
 
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
 
memoizee@0.4.X:
version "0.4.14"
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
dependencies:
d "1"
es5-ext "^0.10.45"
es6-weak-map "^2.0.2"
event-emitter "^0.3.5"
is-promise "^2.1"
lru-queue "0.1"
next-tick "1"
timers-ext "^0.1.5"
 
meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
dependencies:
camelcase-keys "^2.0.0"
decamelize "^1.1.2"
loud-rejection "^1.0.0"
map-obj "^1.0.1"
minimist "^1.1.3"
normalize-package-data "^2.3.4"
object-assign "^4.0.1"
read-pkg-up "^1.0.1"
redent "^1.0.0"
trim-newlines "^1.0.0"
 
micromatch@^3.0.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
braces "^2.3.1"
define-property "^2.0.2"
extend-shallow "^3.0.2"
extglob "^2.0.4"
fragment-cache "^0.2.1"
kind-of "^6.0.2"
nanomatch "^1.2.9"
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.2"
 
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
 
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
dependencies:
mime-db "1.44.0"
 
minimatch@^2.0.1:
version "2.0.10"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=
dependencies:
brace-expansion "^1.0.0"
 
minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
 
minimatch@~0.2.11:
version "0.2.14"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
integrity sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=
dependencies:
lru-cache "2"
sigmund "~1.0.0"
 
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
 
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
 
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
minimist "^1.2.5"
 
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
 
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
multipipe@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=
dependencies:
duplexer2 "0.0.2"
 
nan@^2.13.2:
version "2.14.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
 
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
define-property "^2.0.2"
extend-shallow "^3.0.2"
fragment-cache "^0.2.1"
is-windows "^1.0.2"
kind-of "^6.0.2"
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
natives@^1.1.3:
version "1.1.6"
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
 
next-tick@1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
 
next-tick@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
 
node-gyp@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
dependencies:
fstream "^1.0.0"
glob "^7.0.3"
graceful-fs "^4.1.2"
mkdirp "^0.5.0"
nopt "2 || 3"
npmlog "0 || 1 || 2 || 3 || 4"
osenv "0"
request "^2.87.0"
rimraf "2"
semver "~5.3.0"
tar "^2.0.0"
which "1"
 
node-sass@^4.8.3:
version "4.14.1"
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==
dependencies:
async-foreach "^0.1.3"
chalk "^1.1.1"
cross-spawn "^3.0.0"
gaze "^1.0.0"
get-stdin "^4.0.1"
glob "^7.0.3"
in-publish "^2.0.0"
lodash "^4.17.15"
meow "^3.7.0"
mkdirp "^0.5.1"
nan "^2.13.2"
node-gyp "^3.8.0"
npmlog "^4.0.0"
request "^2.88.0"
sass-graph "2.2.5"
stdout-stream "^1.4.0"
"true-case-path" "^1.0.2"
 
"nopt@2 || 3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
dependencies:
abbrev "1"
 
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
dependencies:
hosted-git-info "^2.1.4"
resolve "^1.10.0"
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
 
normalize-path@^2.0.1, normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
 
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
 
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
gauge "~2.7.3"
set-blocking "~2.0.0"
 
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
 
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
 
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 
object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
 
object-assign@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=
 
object-copy@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
copy-descriptor "^0.1.0"
define-property "^0.2.5"
kind-of "^3.0.3"
 
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
isobject "^3.0.0"
 
object.defaults@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
dependencies:
array-each "^1.0.1"
array-slice "^1.0.0"
for-own "^1.0.0"
isobject "^3.0.0"
 
object.map@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
dependencies:
for-own "^1.0.0"
make-iterator "^1.0.0"
 
object.pick@^1.2.0, object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
isobject "^3.0.1"
 
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
 
once@~1.3.0:
version "1.3.3"
resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=
dependencies:
wrappy "1"
 
orchestrator@^0.3.0:
version "0.3.8"
resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e"
integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=
dependencies:
end-of-stream "~0.1.5"
sequencify "~0.0.7"
stream-consume "~0.1.0"
 
ordered-read-streams@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=
 
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
 
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
 
osenv@0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
 
p-limit@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
 
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
dependencies:
p-limit "^2.0.0"
 
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
 
parse-filepath@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
dependencies:
is-absolute "^1.0.0"
map-cache "^0.2.0"
path-root "^0.1.1"
 
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
dependencies:
error-ex "^1.2.0"
 
parse-node-version@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==
 
parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
 
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
 
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
dependencies:
pinkie-promise "^2.0.0"
 
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
 
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
 
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
 
path-root-regex@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=
 
path-root@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=
dependencies:
path-root-regex "^0.1.0"
 
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
dependencies:
graceful-fs "^4.1.2"
pify "^2.0.0"
pinkie-promise "^2.0.0"
 
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
 
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
dependencies:
pinkie "^2.0.0"
 
pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
 
plugin-error@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==
dependencies:
ansi-colors "^1.0.1"
arr-diff "^4.0.0"
arr-union "^3.1.0"
extend-shallow "^3.0.2"
 
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
 
postcss-value-parser@^3.2.3:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
 
postcss@^6.0.1, postcss@^6.0.23:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
dependencies:
chalk "^2.4.1"
source-map "^0.6.1"
supports-color "^5.4.0"
 
prettier@^1.14.0:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
 
pretty-hrtime@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
 
private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
 
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
 
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
 
psl@^1.1.28:
version "1.8.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
 
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
 
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
dependencies:
find-up "^1.0.0"
read-pkg "^1.0.0"
 
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
dependencies:
load-json-file "^1.0.0"
normalize-package-data "^2.3.2"
path-type "^1.0.0"
 
"readable-stream@>=1.0.33-1 <1.1.0-0":
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
 
readable-stream@^1.0.33, readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
 
readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.3.5, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
 
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
dependencies:
resolve "^1.1.6"
 
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
dependencies:
indent-string "^2.1.0"
strip-indent "^1.0.1"
 
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
 
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
dependencies:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
 
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
 
repeat-element@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
 
repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
 
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
is-finite "^1.0.0"
 
replace-ext@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
 
replace-ext@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a"
integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==
 
request@^2.87.0, request@^2.88.0:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.8.0"
caseless "~0.12.0"
combined-stream "~1.0.6"
extend "~3.0.2"
forever-agent "~0.6.1"
form-data "~2.3.2"
har-validator "~5.1.3"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.19"
oauth-sign "~0.9.0"
performance-now "^2.1.0"
qs "~6.5.2"
safe-buffer "^5.1.2"
tough-cookie "~2.5.0"
tunnel-agent "^0.6.0"
uuid "^3.3.2"
 
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
 
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
 
resolve-dir@^1.0.0, resolve-dir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
dependencies:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
 
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
dependencies:
path-parse "^1.0.6"
 
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
 
rimraf@2:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
 
rollup-plugin-babel@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz#5b13611f1ab8922497e9d15197ae5d8a23fe3b1e"
integrity sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==
dependencies:
rollup-pluginutils "^1.5.0"
 
rollup-pluginutils@^1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=
dependencies:
estree-walker "^0.2.1"
minimatch "^3.0.2"
 
rollup@^0.66.0:
version "0.66.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.66.6.tgz#ce7d6185beb7acea644ce220c25e71ae03275482"
integrity sha512-J7/SWanrcb83vfIHqa8+aVVGzy457GcjA6GVZEnD0x2u4OnOd0Q1pCrEoNe8yLwM6z6LZP02zBT2uW0yh5TqOw==
dependencies:
"@types/estree" "0.0.39"
"@types/node" "*"
 
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
ret "~0.1.10"
 
safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
sass-graph@2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
dependencies:
glob "^7.0.0"
lodash "^4.0.0"
scss-tokenizer "^0.2.3"
yargs "^13.3.2"
 
scss-tokenizer@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
dependencies:
js-base64 "^2.1.8"
source-map "^0.4.2"
 
"semver@2 || 3 || 4 || 5":
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
 
semver@^4.1.0:
version "4.3.6"
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
 
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
 
sequencify@~0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=
 
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
 
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
is-plain-object "^2.0.3"
split-string "^3.0.1"
 
sigmund@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=
 
signal-exit@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
 
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
 
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
dependencies:
define-property "^1.0.0"
isobject "^3.0.0"
snapdragon-util "^3.0.1"
 
snapdragon-util@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
dependencies:
kind-of "^3.2.0"
 
snapdragon@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
dependencies:
base "^0.11.1"
debug "^2.2.0"
define-property "^0.2.5"
extend-shallow "^2.0.1"
map-cache "^0.2.2"
source-map "^0.5.6"
source-map-resolve "^0.5.0"
use "^3.1.0"
 
source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
dependencies:
atob "^2.1.2"
decode-uri-component "^0.2.0"
resolve-url "^0.2.1"
source-map-url "^0.4.0"
urix "^0.1.0"
 
source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
dependencies:
source-map "^0.5.6"
 
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
 
source-map@0.4.x, source-map@^0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
dependencies:
amdefine ">=0.0.4"
 
source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
 
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
 
sparkles@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c"
integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==
 
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
 
spdx-exceptions@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
 
spdx-expression-parse@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
 
spdx-license-ids@^3.0.0:
version "3.0.6"
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce"
integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==
 
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
dependencies:
extend-shallow "^3.0.0"
 
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
bcrypt-pbkdf "^1.0.0"
dashdash "^1.12.0"
ecc-jsbn "~0.1.1"
getpass "^0.1.1"
jsbn "~0.1.0"
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
 
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
define-property "^0.2.5"
object-copy "^0.1.0"
 
stdout-stream@^1.4.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
dependencies:
readable-stream "^2.0.1"
 
stream-consume@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"
integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==
 
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
 
"string-width@^1.0.2 || 2":
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
 
string-width@^3.0.0, string-width@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
dependencies:
emoji-regex "^7.0.1"
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
 
string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
 
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
 
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
 
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
dependencies:
ansi-regex "^3.0.0"
 
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
 
strip-bom-string@1.X:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
 
strip-bom@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=
dependencies:
first-chunk-stream "^1.0.0"
is-utf8 "^0.2.0"
 
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
dependencies:
is-utf8 "^0.2.0"
 
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
dependencies:
get-stdin "^4.0.1"
 
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
 
supports-color@^5.3.0, supports-color@^5.4.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
 
tar@^2.0.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
dependencies:
block-stream "*"
fstream "^1.0.12"
inherits "2"
 
through2@2.X, through2@^2.0.0, through2@^2.0.3:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
dependencies:
readable-stream "~2.3.6"
xtend "~4.0.1"
 
through2@^0.6.1:
version "0.6.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
dependencies:
readable-stream ">=1.0.33-1 <1.1.0-0"
xtend ">=4.0.0 <4.1.0-0"
 
tildify@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=
dependencies:
os-homedir "^1.0.0"
 
time-stamp@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=
 
timers-ext@^0.1.5:
version "0.1.7"
resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
dependencies:
es5-ext "~0.10.46"
next-tick "1"
 
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
 
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
 
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
is-number "^3.0.0"
repeat-string "^1.6.1"
 
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
dependencies:
define-property "^2.0.2"
extend-shallow "^3.0.2"
regex-not "^1.0.2"
safe-regex "^1.1.0"
 
tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
dependencies:
psl "^1.1.28"
punycode "^2.1.1"
 
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
 
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
 
"true-case-path@^1.0.2":
version "1.0.3"
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
dependencies:
glob "^7.1.2"
 
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
dependencies:
safe-buffer "^5.0.1"
 
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
 
type@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
 
type@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
 
uglify-js@^3.0.5:
version "3.10.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb"
integrity sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==
 
unc-path-regex@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
 
union-value@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
is-extendable "^0.1.1"
set-value "^2.0.1"
 
unique-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=
 
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
has-value "^0.3.1"
isobject "^3.0.0"
 
uri-js@^4.2.2:
version "4.4.0"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
dependencies:
punycode "^2.1.0"
 
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
 
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
 
user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA=
 
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
 
uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
 
v8flags@^2.0.2:
version "2.1.1"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=
dependencies:
user-home "^1.1.1"
 
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
 
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
extsprintf "^1.2.0"
 
vinyl-bufferstream@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz#0537869f580effa4ca45acb47579e4b9fe63081a"
integrity sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=
dependencies:
bufferstreams "1.0.1"
 
vinyl-fs@^0.3.0:
version "0.3.14"
resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=
dependencies:
defaults "^1.0.0"
glob-stream "^3.1.5"
glob-watcher "^0.0.6"
graceful-fs "^3.0.0"
mkdirp "^0.5.0"
strip-bom "^1.0.0"
through2 "^0.6.1"
vinyl "^0.4.0"
 
vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=
dependencies:
source-map "^0.5.1"
 
vinyl@^0.4.0:
version "0.4.6"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc=
dependencies:
clone "^0.2.0"
clone-stats "^0.0.1"
 
vinyl@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
replace-ext "0.0.1"
 
vinyl@^2.0.0, vinyl@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
dependencies:
clone "^2.1.1"
clone-buffer "^1.0.0"
clone-stats "^1.0.0"
cloneable-readable "^1.0.0"
remove-trailing-separator "^1.0.1"
replace-ext "^1.0.0"
 
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
 
which@1, which@^1.2.14, which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
 
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
dependencies:
string-width "^1.0.2 || 2"
 
wrap-ansi@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
dependencies:
ansi-styles "^3.2.0"
string-width "^3.0.0"
strip-ansi "^5.0.0"
 
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
 
"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
 
y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
 
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
 
yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
 
yargs@^13.3.2:
version "13.3.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
dependencies:
cliui "^5.0.0"
find-up "^3.0.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^3.0.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^13.1.2"
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/.prettierrc
New file
0,0 → 1,0
tabWidth: 4
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/LICENSE
New file
0,0 → 1,21
MIT License
 
Copyright (c) 2018 elmarquis
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/gulpfile.js
New file
0,0 → 1,54
var gulp = require("gulp"),
minifyCSS = require("gulp-minify-css"),
concat = require("gulp-concat"),
uglify = require("gulp-uglify"),
prefix = require("gulp-autoprefixer"),
sass = require("gulp-sass"),
sourcemaps = require("gulp-sourcemaps"),
rename = require("gulp-rename"),
rollup = require("gulp-better-rollup"),
babel = require("rollup-plugin-babel");
 
gulp.task("js", function() {
return gulp
.src("src/js/leaflet-gesture-handling.js")
.pipe(sourcemaps.init())
.pipe(
rollup(
{ plugins: [babel()] },
{
file: "dist/leaflet-gesture-handling.js",
format: "umd"
}
)
)
.pipe(gulp.dest("dist/"))
.pipe(uglify())
.pipe(rename({ extname: ".min.js" }))
.pipe(sourcemaps.write(""))
.pipe(gulp.dest("dist/"));
});
 
gulp.task("styles", function() {
return gulp
.src("src/scss/**/*.scss")
.pipe(sass())
.pipe(prefix("last 2 versions"))
.pipe(concat("leaflet-gesture-handling.css"))
.pipe(gulp.dest("dist/"))
.pipe(minifyCSS())
.pipe(rename({ extname: ".min.css" }))
.pipe(gulp.dest("dist/"));
});
 
gulp.task("dev", function() {
gulp.run("styles");
gulp.run("js");
gulp.watch("src/scss/*.scss", ["styles"]);
gulp.watch("src/js/*.js", ["js"]);
});
 
gulp.task("build", function() {
gulp.run("styles");
gulp.run("js");
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.css
New file
0,0 → 1,0
@-webkit-keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}@keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}.leaflet-container:after{-webkit-animation:leaflet-gestures-fadein .8s backwards;animation:leaflet-gestures-fadein .8s backwards;color:#fff;font-family:Roboto,Arial,sans-serif;font-size:22px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:461;pointer-events:none}.leaflet-gesture-handling-scroll-warning:after,.leaflet-gesture-handling-touch-warning:after{-webkit-animation:leaflet-gestures-fadein .8s forwards;animation:leaflet-gestures-fadein .8s forwards}.leaflet-gesture-handling-touch-warning:after{content:attr(data-gesture-handling-touch-content)}.leaflet-gesture-handling-scroll-warning:after{content:attr(data-gesture-handling-scroll-content)}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.js.map
New file
0,0 → 1,0
{"version":3,"sources":["../src/js/language-content.js","../src/js/leaflet-gesture-handling.js"],"names":["LanguageContent","ar","touch","scroll","scrollMac","bg","bn","ca","cs","da","de","el","en","en-AU","en-GB","es","eu","fa","fi","fil","fr","gl","gu","hi","hr","hu","id","it","iw","ja","kn","ko","lt","lv","ml","mr","nl","no","pl","pt","pt-BR","pt-PT","ro","ru","sk","sl","sr","sv","ta","te","th","tl","tr","uk","vi","zh-CN","zh-TW","L","Map","mergeOptions","gestureHandlingOptions","text","duration","draggingMap","GestureHandling","Handler","extend","addHooks","this","_handleTouch","bind","_setupPluginOptions","_setLanguageContent","_disableInteractions","_map","_container","addEventListener","DomEvent","on","_handleScroll","_handleMouseOver","_handleMouseOut","_handleDragging","removeHooks","_enableInteractions","removeEventListener","off","e","type","dragging","disable","scrollWheelZoom","tap","enable","options","gestureHandlingText","lang","languageContent","_getUserLanguage","indexOf","split","mac","navigator","platform","toUpperCase","scrollContent","setAttribute","languages","language","userLanguage","ignoreList","ignoreElement","i","length","DomUtil","hasClass","target","touches","addClass","removeClass","_isScrolling","metaKey","ctrlKey","preventDefault","clearTimeout","setTimeout","warnings","document","getElementsByClassName","addInitHook"],"mappings":"kOAAA,IAAAA,EAAe,CAEXC,GAAI,CACAC,MACI,+BACJC,OACI,6CACJC,UACI,kDAGRC,GAAI,CACAH,MACI,mDACJC,OACI,sFACJC,UACI,oFAGRE,GAAI,CACAJ,MACI,8CACJC,OACI,4CACJC,UACI,4CAGRG,GAAI,CACAL,MAAO,wCACPC,OACI,2EACJC,UACI,sEAGRI,GAAI,CACAN,MAAO,qCACPC,OACI,kFACJC,UACI,4FAGRK,GAAI,CACAP,MAAO,sCACPC,OACI,+DACJC,UACI,6DAGRM,GAAI,CACAR,MAAO,yCACPC,OAAQ,8CACRC,UAAW,KAGfO,GAAI,CACAT,MACI,uDACJC,OACI,yEACJC,UACI,+DAGRQ,GAAI,CACAV,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfS,QAAS,CACLX,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfU,QAAS,CACLZ,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfW,GAAI,CACAb,MAAO,wCACPC,OACI,mFACJC,UACI,iFAGRY,GAAI,CACAd,MAAO,iCACPC,OAAQ,gEACRC,UACI,yEAGRa,GAAI,CACAf,MACI,gDACJC,OACI,sDACJC,UACI,qDAGRc,GAAI,CACAhB,MAAO,oCACPC,OACI,8DACJC,UACI,mEAGRe,IAAK,CACDjB,MAAO,kDACPC,OAAQ,kDACRC,UAAW,gDAGfgB,GAAI,CACAlB,MAAO,8CACPC,OACI,yEACJC,UACI,uEAGRiB,GAAI,CACAnB,MAAO,uCACPC,OAAQ,sDACRC,UAAW,4CAGfkB,GAAI,CACApB,MACI,oCACJC,OACI,kDACJC,UACI,2CAGRmB,GAAI,CACArB,MACI,sEACJC,OACI,uDACJC,UACI,qDAGRoB,GAAI,CACAtB,MAAO,kCACPC,OACI,0DACJC,UACI,0DAGRqB,GAAI,CACAvB,MAAO,gCACPC,OACI,sDACJC,UACI,oDAGRsB,GAAI,CACAxB,MAAO,2CACPC,OAAQ,gEACRC,UACI,8DAGRuB,GAAI,CACAzB,MAAO,0CACPC,OAAQ,+DACRC,UACI,6DAGRwB,GAAI,CACA1B,MACI,iCACJC,OACI,0DACJC,UACI,uDAGRyB,GAAI,CACA3B,MACI,wBACJC,OACI,sCACJC,UACI,oCAGR0B,GAAI,CACA5B,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGf2B,GAAI,CACA7B,MACI,0BACJC,OACI,kCACJC,UACI,wBAGR4B,GAAI,CACA9B,MAAO,qCACPC,OACI,uEACJC,UACI,kEAGR6B,GAAI,CACA/B,MAAO,sDACPC,OACI,mDACJC,UACI,4DAGR8B,GAAI,CACAhC,MACI,2CACJC,OACI,qDACJC,UACI,gDAGR+B,GAAI,CACAjC,MACI,oCACJC,OACI,2CACJC,UACI,4CAGRgC,GAAI,CACAlC,MAAO,kDACPC,OAAQ,8DACRC,UACI,2DAGRiC,GAAI,CACAnC,MAAO,qCACPC,OAAQ,sDACRC,UACI,oDAGRkC,GAAI,CACApC,MAAO,6BACPC,OACI,8CACJC,UACI,4CAGRmC,GAAI,CACArC,MAAO,mCACPC,OACI,yEACJC,UACI,iEAGRoC,QAAS,CACLtC,MAAO,mCACPC,OACI,yEACJC,UACI,iEAGRqC,QAAS,CACLvC,MAAO,uCACPC,OAAQ,+DACRC,UACI,8DAGRsC,GAAI,CACAxC,MAAO,8CACPC,OACI,8DACJC,UACI,sDAGRuC,GAAI,CACAzC,MACI,2DACJC,OACI,uEACJC,UACI,iDAGRwC,GAAI,CACA1C,MAAO,oCACPC,OACI,4DACJC,UACI,yEAGRyC,GAAI,CACA3C,MAAO,uCACPC,OACI,2EACJC,UACI,uEAGR0C,GAAI,CACA5C,MACI,kCACJC,OACI,6DACJC,UACI,2DAGR2C,GAAI,CACA7C,MAAO,2CACPC,OAAQ,2CACRC,UACI,4CAGR4C,GAAI,CACA9C,MACI,kDACJC,OACI,iGACJC,UACI,+FAGR6C,GAAI,CACA/C,MACI,oDACJC,OACI,qEACJC,UACI,iDAGR8C,GAAI,CACAhD,MACI,8BACJC,OACI,iDACJC,UACI,uCAGR+C,GAAI,CACAjD,MAAO,kDACPC,OAAQ,kDACRC,UAAW,gDAGfgD,GAAI,CACAlD,MACI,kDACJC,OACI,uEACJC,UACI,+DAGRiD,GAAI,C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","file":"leaflet-gesture-handling.min.js","sourcesContent":["export default {\r\n //Arabic\r\n ar: {\r\n touch:\r\n \"\\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0625\\u0635\\u0628\\u0639\\u064a\\u0646 \\u0644\\u062a\\u062d\\u0631\\u064a\\u0643 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\",\r\n scroll:\r\n \"\\u200f\\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 ctrl + scroll \\u0644\\u062a\\u0635\\u063a\\u064a\\u0631/\\u062a\\u0643\\u0628\\u064a\\u0631 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\",\r\n scrollMac:\r\n \"\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u2318 + \\u0627\\u0644\\u062a\\u0645\\u0631\\u064a\\u0631 \\u0644\\u062a\\u0643\\u0628\\u064a\\u0631/\\u062a\\u0635\\u063a\\u064a\\u0631 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\"\r\n },\r\n //Bulgarian\r\n bg: {\r\n touch:\r\n \"\\u0418\\u0437\\u043f\\u043e\\u043b\\u0437\\u0432\\u0430\\u0439\\u0442\\u0435 \\u0434\\u0432\\u0430 \\u043f\\u0440\\u044a\\u0441\\u0442\\u0430, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u0435\\u043c\\u0435\\u0441\\u0442\\u0438\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\",\r\n scroll:\r\n \"\\u0417\\u0430\\u0434\\u0440\\u044a\\u0436\\u0442\\u0435 \\u0431\\u0443\\u0442\\u043e\\u043d\\u0430 Ctrl \\u043d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0430\\u0442, \\u0434\\u043e\\u043a\\u0430\\u0442\\u043e \\u043f\\u0440\\u0435\\u0432\\u044a\\u0440\\u0442\\u0430\\u0442\\u0435, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u043e\\u043c\\u0435\\u043d\\u0438\\u0442\\u0435 \\u043c\\u0430\\u0449\\u0430\\u0431\\u0430 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\",\r\n scrollMac:\r\n \"\\u0417\\u0430\\u0434\\u0440\\u044a\\u0436\\u0442\\u0435 \\u0431\\u0443\\u0442\\u043e\\u043d\\u0430 \\u2318 \\u043d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0430\\u0442, \\u0434\\u043e\\u043a\\u0430\\u0442\\u043e \\u043f\\u0440\\u0435\\u0432\\u044a\\u0440\\u0442\\u0430\\u0442\\u0435, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u043e\\u043c\\u0435\\u043d\\u0438\\u0442\\u0435 \\u043c\\u0430\\u0449\\u0430\\u0431\\u0430 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\"\r\n },\r\n //Bengali\r\n bn: {\r\n touch:\r\n \"\\u09ae\\u09be\\u09a8\\u099a\\u09bf\\u09a4\\u09cd\\u09b0\\u099f\\u09bf\\u0995\\u09c7 \\u09b8\\u09b0\\u09be\\u09a4\\u09c7 \\u09a6\\u09c1\\u099f\\u09bf \\u0986\\u0999\\u09cd\\u0997\\u09c1\\u09b2 \\u09ac\\u09cd\\u09af\\u09ac\\u09b9\\u09be\\u09b0 \\u0995\\u09b0\\u09c1\\u09a8\",\r\n scroll:\r\n \"\\u09ae\\u09cd\\u09af\\u09be\\u09aa \\u099c\\u09c1\\u09ae \\u0995\\u09b0\\u09a4\\u09c7 ctrl + scroll \\u09ac\\u09cd\\u09af\\u09ac\\u09b9\\u09be\\u09b0 \\u0995\\u09b0\\u09c1\\u09a8\",\r\n scrollMac:\r\n \"\\u09ae\\u09cd\\u09af\\u09be\\u09aa\\u09c7 \\u099c\\u09c1\\u09ae \\u0995\\u09b0\\u09a4\\u09c7 \\u2318 \\u09ac\\u09cb\\u09a4\\u09be\\u09ae \\u099f\\u09bf\\u09aa\\u09c7 \\u09b8\\u09cd\\u0995\\u09cd\\u09b0\\u09b2 \\u0995\\u09b0\\u09c1\\u09a8\"\r\n },\r\n //Catalan\r\n ca: {\r\n touch: \"Fes servir dos dits per moure el mapa\",\r\n scroll:\r\n \"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa\",\r\n scrollMac:\r\n \"Prem la tecla \\u2318 mentre et desplaces per apropar i allunyar el mapa\"\r\n },\r\n //Czech\r\n cs: {\r\n touch: \"K\\u00a0posunut\\u00ed mapy pou\\u017eijte dva prsty\",\r\n scroll:\r\n \"Velikost zobrazen\\u00ed mapy zm\\u011b\\u0148te podr\\u017een\\u00edm kl\\u00e1vesy Ctrl a\\u00a0posouv\\u00e1n\\u00edm kole\\u010dka my\\u0161i\",\r\n scrollMac:\r\n \"Velikost zobrazen\\u00ed mapy zm\\u011bn\\u00edte podr\\u017een\\u00edm kl\\u00e1vesy \\u2318 a\\u00a0posunut\\u00edm kole\\u010dka my\\u0161i / touchpadu\"\r\n },\r\n //Danish\r\n da: {\r\n touch: \"Brug to fingre til at flytte kortet\",\r\n scroll:\r\n \"Brug ctrl + rullefunktionen til at zoome ind og ud p\\u00e5 kortet\",\r\n scrollMac:\r\n \"Brug \\u2318 + rullefunktionen til at zoome ind og ud p\\u00e5 kortet\"\r\n },\r\n //German\r\n de: {\r\n touch: \"Verschieben der Karte mit zwei Fingern\",\r\n scroll: \"Verwende Strg+Scrollen zum Zoomen der Karte\",\r\n scrollMac: \"\\u2318\"\r\n },\r\n //Greek\r\n el: {\r\n touch:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03b4\\u03cd\\u03bf \\u03b4\\u03ac\\u03c7\\u03c4\\u03c5\\u03bb\\u03b1 \\u03b3\\u03b9\\u03b1 \\u03bc\\u03b5\\u03c4\\u03b1\\u03ba\\u03af\\u03bd\\u03b7\\u03c3\\u03b7 \\u03c3\\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\",\r\n scroll:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03c4\\u03bf \\u03c0\\u03bb\\u03ae\\u03ba\\u03c4\\u03c1\\u03bf Ctrl \\u03ba\\u03b1\\u03b9 \\u03ba\\u03cd\\u03bb\\u03b9\\u03c3\\u03b7, \\u03b3\\u03b9\\u03b1 \\u03bd\\u03b1 \\u03bc\\u03b5\\u03b3\\u03b5\\u03b8\\u03cd\\u03bd\\u03b5\\u03c4\\u03b5 \\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\",\r\n scrollMac:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03c4\\u03bf \\u03c0\\u03bb\\u03ae\\u03ba\\u03c4\\u03c1\\u03bf \\u2318 + \\u03ba\\u03cd\\u03bb\\u03b9\\u03c3\\u03b7 \\u03b3\\u03b9\\u03b1 \\u03b5\\u03c3\\u03c4\\u03af\\u03b1\\u03c3\\u03b7 \\u03c3\\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\"\r\n },\r\n //English\r\n en: {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //English (Australian)\r\n \"en-AU\": {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //English (Great Britain)\r\n \"en-GB\": {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //Spanish\r\n es: {\r\n touch: \"Para mover el mapa, utiliza dos dedos\",\r\n scroll:\r\n \"Mant\\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa\",\r\n scrollMac:\r\n \"Mant\\u00e9n pulsada la tecla \\u2318 mientras te desplazas para acercar o alejar el mapa\"\r\n },\r\n //Basque\r\n eu: {\r\n touch: \"Erabili bi hatz mapa mugitzeko\",\r\n scroll: \"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera\",\r\n scrollMac:\r\n \"Eduki sakatuta \\u2318 eta egin gora eta behera mapa handitu eta txikitzeko\"\r\n },\r\n //Farsi\r\n fa: {\r\n touch:\r\n \"\\u0628\\u0631\\u0627\\u06cc \\u062d\\u0631\\u06a9\\u062a \\u062f\\u0627\\u062f\\u0646 \\u0646\\u0642\\u0634\\u0647 \\u0627\\u0632 \\u062f\\u0648 \\u0627\\u0646\\u06af\\u0634\\u062a \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f.\",\r\n scroll:\r\n \"\\u200f\\u0628\\u0631\\u0627\\u06cc \\u0628\\u0632\\u0631\\u06af\\u200c\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0646\\u0642\\u0634\\u0647 \\u0627\\u0632 ctrl + scroll \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f\",\r\n scrollMac:\r\n \"\\u0628\\u0631\\u0627\\u06cc \\u0628\\u0632\\u0631\\u06af\\u200c\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0646\\u0642\\u0634\\u0647\\u060c \\u0627\\u0632 \\u2318 + \\u067e\\u06cc\\u0645\\u0627\\u06cc\\u0634 \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f.\"\r\n },\r\n //Finnish\r\n fi: {\r\n touch: \"Siirr\\u00e4 karttaa kahdella sormella.\",\r\n scroll:\r\n \"Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\\u00e4m\\u00e4ll\\u00e4.\",\r\n scrollMac:\r\n \"Zoomaa karttaa pit\\u00e4m\\u00e4ll\\u00e4 painike \\u2318 painettuna ja vieritt\\u00e4m\\u00e4ll\\u00e4.\"\r\n },\r\n //Filipino\r\n fil: {\r\n touch: \"Gumamit ng dalawang daliri upang iusog ang mapa\",\r\n scroll: \"Gamitin ang ctrl + scroll upang i-zoom ang mapa\",\r\n scrollMac: \"Gamitin ang \\u2318 + scroll upang i-zoom ang mapa\"\r\n },\r\n //French\r\n fr: {\r\n touch: \"Utilisez deux\\u00a0doigts pour d\\u00e9placer la carte\",\r\n scroll:\r\n \"Vous pouvez zoomer sur la carte \\u00e0 l'aide de CTRL+Molette de d\\u00e9filement\",\r\n scrollMac:\r\n \"Vous pouvez zoomer sur la carte \\u00e0 l'aide de \\u2318+Molette de d\\u00e9filement\"\r\n },\r\n //Galician\r\n gl: {\r\n touch: \"Utiliza dous dedos para mover o mapa\",\r\n scroll: \"Preme Ctrl mentres te desprazas para ampliar o mapa\",\r\n scrollMac: \"Preme \\u2318 e despr\\u00e1zate para ampliar o mapa\"\r\n },\r\n //Gujarati\r\n gu: {\r\n touch:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0acb \\u0a96\\u0ab8\\u0ac7\\u0aa1\\u0ab5\\u0abe \\u0aac\\u0ac7 \\u0a86\\u0a82\\u0a97\\u0ab3\\u0ac0\\u0a93\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\",\r\n scroll:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0abe\\u0aa8\\u0ac7 \\u0a9d\\u0ac2\\u0aae \\u0a95\\u0ab0\\u0ab5\\u0abe \\u0aae\\u0abe\\u0a9f\\u0ac7 ctrl + \\u0ab8\\u0acd\\u0a95\\u0acd\\u0ab0\\u0acb\\u0ab2\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\",\r\n scrollMac:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0abe\\u0aa8\\u0ac7 \\u0a9d\\u0ac2\\u0aae \\u0a95\\u0ab0\\u0ab5\\u0abe \\u2318 + \\u0ab8\\u0acd\\u0a95\\u0acd\\u0ab0\\u0acb\\u0ab2\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\"\r\n },\r\n //Hindi\r\n hi: {\r\n touch:\r\n \"\\u092e\\u0948\\u092a \\u090f\\u0915 \\u091c\\u0917\\u0939 \\u0938\\u0947 \\u0926\\u0942\\u0938\\u0930\\u0940 \\u091c\\u0917\\u0939 \\u0932\\u0947 \\u091c\\u093e\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f \\u0926\\u094b \\u0909\\u0902\\u0917\\u0932\\u093f\\u092f\\u094b\\u0902 \\u0915\\u093e \\u0907\\u0938\\u094d\\u0924\\u0947\\u092e\\u093e\\u0932 \\u0915\\u0930\\u0947\\u0902\",\r\n scroll:\r\n \"\\u092e\\u0948\\u092a \\u0915\\u094b \\u091c\\u093c\\u0942\\u092e \\u0915\\u0930\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f ctrl + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0915\\u093e \\u0909\\u092a\\u092f\\u094b\\u0917 \\u0915\\u0930\\u0947\\u0902\",\r\n scrollMac:\r\n \"\\u092e\\u0948\\u092a \\u0915\\u094b \\u091c\\u093c\\u0942\\u092e \\u0915\\u0930\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f \\u2318 + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0915\\u093e \\u0909\\u092a\\u092f\\u094b\\u0917 \\u0915\\u0930\\u0947\\u0902\"\r\n },\r\n //Croatian\r\n hr: {\r\n touch: \"Pomi\\u010dite kartu pomo\\u0107u dva prsta\",\r\n scroll:\r\n \"Upotrijebite Ctrl i kliza\\u010d mi\\u0161a da biste zumirali kartu\",\r\n scrollMac:\r\n \"Upotrijebite gumb \\u2318 dok se pomi\\u010dete za zumiranje karte\"\r\n },\r\n //Hungarian\r\n hu: {\r\n touch: \"K\\u00e9t ujjal mozgassa a t\\u00e9rk\\u00e9pet\",\r\n scroll:\r\n \"A t\\u00e9rk\\u00e9p a ctrl + g\\u00f6rget\\u00e9s haszn\\u00e1lat\\u00e1val nagy\\u00edthat\\u00f3\",\r\n scrollMac:\r\n \"A t\\u00e9rk\\u00e9p a \\u2318 + g\\u00f6rget\\u00e9s haszn\\u00e1lat\\u00e1val nagy\\u00edthat\\u00f3\"\r\n },\r\n //Indonesian\r\n id: {\r\n touch: \"Gunakan dua jari untuk menggerakkan peta\",\r\n scroll: \"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta\",\r\n scrollMac:\r\n \"Gunakan \\u2318 + scroll untuk memperbesar atau memperkecil peta\"\r\n },\r\n //Italian\r\n it: {\r\n touch: \"Utilizza due dita per spostare la mappa\",\r\n scroll: \"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa\",\r\n scrollMac:\r\n \"Utilizza \\u2318 + scorrimento per eseguire lo zoom della mappa\"\r\n },\r\n //Hebrew\r\n iw: {\r\n touch:\r\n \"\\u05d4\\u05d6\\u05d6 \\u05d0\\u05ea \\u05d4\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05e9\\u05ea\\u05d9 \\u05d0\\u05e6\\u05d1\\u05e2\\u05d5\\u05ea\",\r\n scroll:\r\n \"\\u200f\\u05d0\\u05e4\\u05e9\\u05e8 \\u05dc\\u05e9\\u05e0\\u05d5\\u05ea \\u05d0\\u05ea \\u05de\\u05e8\\u05d7\\u05e7 \\u05d4\\u05ea\\u05e6\\u05d5\\u05d2\\u05d4 \\u05d1\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05de\\u05e7\\u05e9 ctrl \\u05d5\\u05d2\\u05dc\\u05d9\\u05dc\\u05d4\",\r\n scrollMac:\r\n \"\\u05d0\\u05e4\\u05e9\\u05e8 \\u05dc\\u05e9\\u05e0\\u05d5\\u05ea \\u05d0\\u05ea \\u05de\\u05e8\\u05d7\\u05e7 \\u05d4\\u05ea\\u05e6\\u05d5\\u05d2\\u05d4 \\u05d1\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05de\\u05e7\\u05e9 \\u2318 \\u05d5\\u05d2\\u05dc\\u05d9\\u05dc\\u05d4\"\r\n },\r\n //Japanese\r\n ja: {\r\n touch:\r\n \"\\u5730\\u56f3\\u3092\\u79fb\\u52d5\\u3055\\u305b\\u308b\\u306b\\u306f\\u6307 2 \\u672c\\u3067\\u64cd\\u4f5c\\u3057\\u307e\\u3059\",\r\n scroll:\r\n \"\\u5730\\u56f3\\u3092\\u30ba\\u30fc\\u30e0\\u3059\\u308b\\u306b\\u306f\\u3001Ctrl \\u30ad\\u30fc\\u3092\\u62bc\\u3057\\u306a\\u304c\\u3089\\u30b9\\u30af\\u30ed\\u30fc\\u30eb\\u3057\\u3066\\u304f\\u3060\\u3055\\u3044\",\r\n scrollMac:\r\n \"\\u5730\\u56f3\\u3092\\u30ba\\u30fc\\u30e0\\u3059\\u308b\\u306b\\u306f\\u3001\\u2318 \\u30ad\\u30fc\\u3092\\u62bc\\u3057\\u306a\\u304c\\u3089\\u30b9\\u30af\\u30ed\\u30fc\\u30eb\\u3057\\u3066\\u304f\\u3060\\u3055\\u3044\"\r\n },\r\n //Kannada\r\n kn: {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use Ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use ⌘ + scroll to zoom the map\"\r\n },\r\n //Korean\r\n ko: {\r\n touch:\r\n \"\\uc9c0\\ub3c4\\ub97c \\uc6c0\\uc9c1\\uc774\\ub824\\uba74 \\ub450 \\uc190\\uac00\\ub77d\\uc744 \\uc0ac\\uc6a9\\ud558\\uc138\\uc694.\",\r\n scroll:\r\n \"\\uc9c0\\ub3c4\\ub97c \\ud655\\ub300/\\ucd95\\uc18c\\ud558\\ub824\\uba74 Ctrl\\uc744 \\ub204\\ub978 \\ucc44 \\uc2a4\\ud06c\\ub864\\ud558\\uc138\\uc694.\",\r\n scrollMac:\r\n \"\\uc9c0\\ub3c4\\ub97c \\ud655\\ub300\\ud558\\ub824\\uba74 \\u2318 + \\uc2a4\\ud06c\\ub864 \\uc0ac\\uc6a9\"\r\n },\r\n //Lithuanian\r\n lt: {\r\n touch: \"Perkelkite \\u017eem\\u0117lap\\u012f dviem pir\\u0161tais\",\r\n scroll:\r\n \"Slinkite nuspaud\\u0119 klavi\\u0161\\u0105 \\u201eCtrl\\u201c, kad pakeistum\\u0117te \\u017eem\\u0117lapio mastel\\u012f\",\r\n scrollMac:\r\n \"Paspauskite klavi\\u0161\\u0105 \\u2318 ir slinkite, kad priartintum\\u0117te \\u017eem\\u0117lap\\u012f\"\r\n },\r\n //Latvian\r\n lv: {\r\n touch: \"Lai p\\u0101rvietotu karti, b\\u012bdiet to ar diviem pirkstiem\",\r\n scroll:\r\n \"Kartes t\\u0101lummai\\u0146ai izmantojiet ctrl + ritin\\u0101\\u0161anu\",\r\n scrollMac:\r\n \"Lai veiktu kartes t\\u0101lummai\\u0146u, izmantojiet \\u2318 + ritin\\u0101\\u0161anu\"\r\n },\r\n //Malayalam\r\n ml: {\r\n touch:\r\n \"\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u0d28\\u0d40\\u0d15\\u0d4d\\u0d15\\u0d3e\\u0d7b \\u0d30\\u0d23\\u0d4d\\u0d1f\\u0d4d \\u0d35\\u0d3f\\u0d30\\u0d32\\u0d41\\u0d15\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d15\\u0d4d\\u0d15\\u0d41\\u0d15\",\r\n scroll:\r\n \"\\u0d15\\u0d7a\\u0d1f\\u0d4d\\u0d30\\u0d4b\\u0d7e + \\u0d38\\u0d4d\\u200c\\u0d15\\u0d4d\\u0d30\\u0d4b\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d1a\\u0d4d\\u0d1a\\u0d4d \\u200c\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u200c\\u0d38\\u0d42\\u0d02 \\u0d1a\\u0d46\\u0d2f\\u0d4d\\u0d2f\\u0d41\\u0d15\",\r\n scrollMac:\r\n \"\\u2318 + \\u0d38\\u0d4d\\u200c\\u0d15\\u0d4d\\u0d30\\u0d4b\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d1a\\u0d4d\\u0d1a\\u0d4d \\u200c\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u200c\\u0d38\\u0d42\\u0d02 \\u0d1a\\u0d46\\u0d2f\\u0d4d\\u0d2f\\u0d41\\u0d15\"\r\n },\r\n //Marathi\r\n mr: {\r\n touch:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e \\u0939\\u0932\\u0935\\u093f\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 \\u0926\\u094b\\u0928 \\u092c\\u094b\\u091f\\u0947 \\u0935\\u093e\\u092a\\u0930\\u093e\",\r\n scroll:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e \\u091d\\u0942\\u092e \\u0915\\u0930\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 ctrl + scroll \\u0935\\u093e\\u092a\\u0930\\u093e\",\r\n scrollMac:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e\\u0935\\u0930 \\u091d\\u0942\\u092e \\u0915\\u0930\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 \\u2318 + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0935\\u093e\\u092a\\u0930\\u093e\"\r\n },\r\n //Dutch\r\n nl: {\r\n touch: \"Gebruik twee vingers om de kaart te verplaatsen\",\r\n scroll: \"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart\",\r\n scrollMac:\r\n \"Gebruik \\u2318 + scrollen om in en uit te zoomen op de kaart\"\r\n },\r\n //Norwegian\r\n no: {\r\n touch: \"Bruk to fingre for \\u00e5 flytte kartet\",\r\n scroll: \"Hold ctrl-tasten inne og rull for \\u00e5 zoome p\\u00e5 kartet\",\r\n scrollMac:\r\n \"Hold inne \\u2318-tasten og rull for \\u00e5 zoome p\\u00e5 kartet\"\r\n },\r\n //Polish\r\n pl: {\r\n touch: \"Przesu\\u0144 map\\u0119 dwoma palcami\",\r\n scroll:\r\n \"Naci\\u015bnij CTRL i przewi\\u0144, by przybli\\u017cy\\u0107 map\\u0119\",\r\n scrollMac:\r\n \"Naci\\u015bnij\\u00a0\\u2318 i przewi\\u0144, by przybli\\u017cy\\u0107 map\\u0119\"\r\n },\r\n //Portuguese\r\n pt: {\r\n touch: \"Use dois dedos para mover o mapa\",\r\n scroll:\r\n \"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa\",\r\n scrollMac:\r\n \"Use \\u2318 e role a tela simultaneamente para aplicar zoom no mapa\"\r\n },\r\n //Portuguese (Brazil)\r\n \"pt-BR\": {\r\n touch: \"Use dois dedos para mover o mapa\",\r\n scroll:\r\n \"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa\",\r\n scrollMac:\r\n \"Use \\u2318 e role a tela simultaneamente para aplicar zoom no mapa\"\r\n },\r\n //Portuguese (Portugal\r\n \"pt-PT\": {\r\n touch: \"Utilize dois dedos para mover o mapa\",\r\n scroll: \"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa\",\r\n scrollMac:\r\n \"Utilize \\u2318 + deslocar para aumentar/diminuir o zoom do mapa\"\r\n },\r\n //Romanian\r\n ro: {\r\n touch: \"Folosi\\u021bi dou\\u0103 degete pentru a deplasa harta\",\r\n scroll:\r\n \"Ap\\u0103sa\\u021bi tasta ctrl \\u0219i derula\\u021bi simultan pentru a m\\u0103ri harta\",\r\n scrollMac:\r\n \"Folosi\\u021bi \\u2318 \\u0219i derula\\u021bi pentru a m\\u0103ri/mic\\u0219ora harta\"\r\n },\r\n //Russian\r\n ru: {\r\n touch:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u043f\\u0435\\u0440\\u0435\\u043c\\u0435\\u0441\\u0442\\u0438\\u0442\\u044c \\u043a\\u0430\\u0440\\u0442\\u0443, \\u043f\\u0440\\u043e\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043f\\u043e \\u043d\\u0435\\u0439 \\u0434\\u0432\\u0443\\u043c\\u044f \\u043f\\u0430\\u043b\\u044c\\u0446\\u0430\\u043c\\u0438\",\r\n scroll:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431, \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0438\\u0432\\u0430\\u0439\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0443, \\u0443\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044f \\u043a\\u043b\\u0430\\u0432\\u0438\\u0448\\u0443 Ctrl.\",\r\n scrollMac:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431, \\u043d\\u0430\\u0436\\u043c\\u0438\\u0442\\u0435 \\u2318\\u00a0+ \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0442\\u043a\\u0430\"\r\n },\r\n //Slovak\r\n sk: {\r\n touch: \"Mapu m\\u00f4\\u017eete posun\\u00fa\\u0165 dvoma prstami\",\r\n scroll:\r\n \"Ak chcete pribl\\u00ed\\u017ei\\u0165 mapu, stla\\u010dte kl\\u00e1ves ctrl a\\u00a0pos\\u00favajte\",\r\n scrollMac:\r\n \"Ak chcete pribl\\u00ed\\u017ei\\u0165 mapu, stla\\u010dte kl\\u00e1ves \\u2318 a\\u00a0pos\\u00favajte kolieskom my\\u0161i\"\r\n },\r\n //Slovenian\r\n sl: {\r\n touch: \"Premaknite zemljevid z dvema prstoma\",\r\n scroll:\r\n \"Zemljevid pove\\u010date tako, da dr\\u017eite tipko Ctrl in vrtite kolesce na mi\\u0161ki\",\r\n scrollMac:\r\n \"Uporabite \\u2318 + funkcijo pomika, da pove\\u010date ali pomanj\\u0161ate zemljevid\"\r\n },\r\n //Serbian\r\n sr: {\r\n touch:\r\n \"\\u041c\\u0430\\u043f\\u0443 \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0458\\u0442\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 \\u0434\\u0432\\u0430 \\u043f\\u0440\\u0441\\u0442\\u0430\",\r\n scroll:\r\n \"\\u041f\\u0440\\u0438\\u0442\\u0438\\u0441\\u043d\\u0438\\u0442\\u0435 ctrl \\u0442\\u0430\\u0441\\u0442\\u0435\\u0440 \\u0434\\u043e\\u043a \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0442\\u0435 \\u0434\\u0430 \\u0431\\u0438\\u0441\\u0442\\u0435 \\u0437\\u0443\\u043c\\u0438\\u0440\\u0430\\u043b\\u0438 \\u043c\\u0430\\u043f\\u0443\",\r\n scrollMac:\r\n \"\\u041f\\u0440\\u0438\\u0442\\u0438\\u0441\\u043d\\u0438\\u0442\\u0435 \\u0442\\u0430\\u0441\\u0442\\u0435\\u0440 \\u2318 \\u0434\\u043e\\u043a \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0442\\u0435 \\u0434\\u0430 \\u0431\\u0438\\u0441\\u0442\\u0435 \\u0437\\u0443\\u043c\\u0438\\u0440\\u0430\\u043b\\u0438 \\u043c\\u0430\\u043f\\u0443\"\r\n },\r\n //Swedish\r\n sv: {\r\n touch: \"Anv\\u00e4nd tv\\u00e5 fingrar f\\u00f6r att flytta kartan\",\r\n scroll: \"Anv\\u00e4nd ctrl + rulla f\\u00f6r att zooma kartan\",\r\n scrollMac:\r\n \"Anv\\u00e4nd \\u2318 + rulla f\\u00f6r att zooma p\\u00e5 kartan\"\r\n },\r\n //Tamil\r\n ta: {\r\n touch:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0ba8\\u0b95\\u0bb0\\u0bcd\\u0ba4\\u0bcd\\u0ba4 \\u0b87\\u0bb0\\u0ba3\\u0bcd\\u0b9f\\u0bc1 \\u0bb5\\u0bbf\\u0bb0\\u0bb2\\u0bcd\\u0b95\\u0bb3\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0baf\\u0ba9\\u0bcd\\u0baa\\u0b9f\\u0bc1\\u0ba4\\u0bcd\\u0ba4\\u0bb5\\u0bc1\\u0bae\\u0bcd\",\r\n scroll:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0baa\\u0bc6\\u0bb0\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf/\\u0b9a\\u0bbf\\u0bb1\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0baa\\u0bcd \\u0baa\\u0bbe\\u0bb0\\u0bcd\\u0b95\\u0bcd\\u0b95, ctrl \\u0baa\\u0b9f\\u0bcd\\u0b9f\\u0ba9\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0bbf\\u0b9f\\u0bbf\\u0ba4\\u0bcd\\u0ba4\\u0baa\\u0b9f\\u0bbf, \\u0bae\\u0bc7\\u0bb2\\u0bc7/\\u0b95\\u0bc0\\u0bb4\\u0bc7 \\u0bb8\\u0bcd\\u0b95\\u0bcd\\u0bb0\\u0bbe\\u0bb2\\u0bcd \\u0b9a\\u0bc6\\u0baf\\u0bcd\\u0baf\\u0bb5\\u0bc1\\u0bae\\u0bcd\",\r\n scrollMac:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0baa\\u0bc6\\u0bb0\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf/\\u0b9a\\u0bbf\\u0bb1\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0baa\\u0bcd \\u0baa\\u0bbe\\u0bb0\\u0bcd\\u0b95\\u0bcd\\u0b95, \\u2318 \\u0baa\\u0b9f\\u0bcd\\u0b9f\\u0ba9\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0bbf\\u0b9f\\u0bbf\\u0ba4\\u0bcd\\u0ba4\\u0baa\\u0b9f\\u0bbf, \\u0bae\\u0bc7\\u0bb2\\u0bc7/\\u0b95\\u0bc0\\u0bb4\\u0bc7 \\u0bb8\\u0bcd\\u0b95\\u0bcd\\u0bb0\\u0bbe\\u0bb2\\u0bcd \\u0b9a\\u0bc6\\u0baf\\u0bcd\\u0baf\\u0bb5\\u0bc1\\u0bae\\u0bcd\"\r\n },\r\n //Telugu\r\n te: {\r\n touch:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d\\u200c\\u0c28\\u0c3f \\u0c24\\u0c30\\u0c32\\u0c3f\\u0c02\\u0c1a\\u0c21\\u0c02 \\u0c15\\u0c4b\\u0c38\\u0c02 \\u0c30\\u0c46\\u0c02\\u0c21\\u0c41 \\u0c35\\u0c47\\u0c33\\u0c4d\\u0c32\\u0c28\\u0c41 \\u0c09\\u0c2a\\u0c2f\\u0c4b\\u0c17\\u0c3f\\u0c02\\u0c1a\\u0c02\\u0c21\\u0c3f\",\r\n scroll:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d\\u200c\\u0c28\\u0c3f \\u0c1c\\u0c42\\u0c2e\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c21\\u0c3e\\u0c28\\u0c3f\\u0c15\\u0c3f ctrl \\u0c2c\\u0c1f\\u0c28\\u0c4d\\u200c\\u0c28\\u0c41 \\u0c28\\u0c4a\\u0c15\\u0c4d\\u0c15\\u0c3f \\u0c09\\u0c02\\u0c1a\\u0c3f, \\u0c38\\u0c4d\\u0c15\\u0c4d\\u0c30\\u0c4b\\u0c32\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c02\\u0c21\\u0c3f\",\r\n scrollMac:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d \\u0c1c\\u0c42\\u0c2e\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c3e\\u0c32\\u0c02\\u0c1f\\u0c47 \\u2318 + \\u0c38\\u0c4d\\u0c15\\u0c4d\\u0c30\\u0c4b\\u0c32\\u0c4d \\u0c09\\u0c2a\\u0c2f\\u0c4b\\u0c17\\u0c3f\\u0c02\\u0c1a\\u0c02\\u0c21\\u0c3f\"\r\n },\r\n //Thai\r\n th: {\r\n touch:\r\n \"\\u0e43\\u0e0a\\u0e49 2 \\u0e19\\u0e34\\u0e49\\u0e27\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\",\r\n scroll:\r\n \"\\u0e01\\u0e14 Ctrl \\u0e04\\u0e49\\u0e32\\u0e07\\u0e44\\u0e27\\u0e49 \\u0e41\\u0e25\\u0e49\\u0e27\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e2b\\u0e19\\u0e49\\u0e32\\u0e08\\u0e2d\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e0b\\u0e39\\u0e21\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\",\r\n scrollMac:\r\n \"\\u0e01\\u0e14 \\u2318 \\u0e41\\u0e25\\u0e49\\u0e27\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e2b\\u0e19\\u0e49\\u0e32\\u0e08\\u0e2d\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e0b\\u0e39\\u0e21\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\"\r\n },\r\n //Tagalog\r\n tl: {\r\n touch: \"Gumamit ng dalawang daliri upang iusog ang mapa\",\r\n scroll: \"Gamitin ang ctrl + scroll upang i-zoom ang mapa\",\r\n scrollMac: \"Gamitin ang \\u2318 + scroll upang i-zoom ang mapa\"\r\n },\r\n //Turkish\r\n tr: {\r\n touch:\r\n \"Haritada gezinmek i\\u00e7in iki parma\\u011f\\u0131n\\u0131z\\u0131 kullan\\u0131n\",\r\n scroll:\r\n \"Haritay\\u0131 yak\\u0131nla\\u015ft\\u0131rmak i\\u00e7in ctrl + kayd\\u0131rma kombinasyonunu kullan\\u0131n\",\r\n scrollMac:\r\n \"Haritay\\u0131 yak\\u0131nla\\u015ft\\u0131rmak i\\u00e7in \\u2318 tu\\u015funa bas\\u0131p ekran\\u0131 kayd\\u0131r\\u0131n\"\r\n },\r\n //Ukrainian\r\n uk: {\r\n touch:\r\n \"\\u041f\\u0435\\u0440\\u0435\\u043c\\u0456\\u0449\\u0443\\u0439\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0443 \\u0434\\u0432\\u043e\\u043c\\u0430 \\u043f\\u0430\\u043b\\u044c\\u0446\\u044f\\u043c\\u0438\",\r\n scroll:\r\n \"\\u0429\\u043e\\u0431 \\u0437\\u043c\\u0456\\u043d\\u044e\\u0432\\u0430\\u0442\\u0438 \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431 \\u043a\\u0430\\u0440\\u0442\\u0438, \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0443\\u0439\\u0442\\u0435 \\u043a\\u043e\\u043b\\u0456\\u0449\\u0430\\u0442\\u043a\\u043e \\u043c\\u0438\\u0448\\u0456, \\u0443\\u0442\\u0440\\u0438\\u043c\\u0443\\u044e\\u0447\\u0438 \\u043a\\u043b\\u0430\\u0432\\u0456\\u0448\\u0443 Ctrl\",\r\n scrollMac:\r\n \"\\u0429\\u043e\\u0431 \\u0437\\u043c\\u0456\\u043d\\u0438\\u0442\\u0438 \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431 \\u043a\\u0430\\u0440\\u0442\\u0438, \\u0432\\u0438\\u043a\\u043e\\u0440\\u0438\\u0441\\u0442\\u043e\\u0432\\u0443\\u0439\\u0442\\u0435 \\u2318 + \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f\"\r\n },\r\n //Vietnamese\r\n vi: {\r\n touch:\r\n \"S\\u1eed d\\u1ee5ng hai ng\\u00f3n tay \\u0111\\u1ec3 di chuy\\u1ec3n b\\u1ea3n \\u0111\\u1ed3\",\r\n scroll:\r\n \"S\\u1eed d\\u1ee5ng ctrl + cu\\u1ed9n \\u0111\\u1ec3 thu ph\\u00f3ng b\\u1ea3n \\u0111\\u1ed3\",\r\n scrollMac:\r\n \"S\\u1eed d\\u1ee5ng \\u2318 + cu\\u1ed9n \\u0111\\u1ec3 thu ph\\u00f3ng b\\u1ea3n \\u0111\\u1ed3\"\r\n },\r\n //Chinese (Simplified)\r\n \"zh-CN\": {\r\n touch: \"\\u4f7f\\u7528\\u53cc\\u6307\\u79fb\\u52a8\\u5730\\u56fe\",\r\n scroll:\r\n \"\\u6309\\u4f4f Ctrl \\u5e76\\u6eda\\u52a8\\u9f20\\u6807\\u6eda\\u8f6e\\u624d\\u53ef\\u7f29\\u653e\\u5730\\u56fe\",\r\n scrollMac:\r\n \"\\u6309\\u4f4f \\u2318 \\u5e76\\u6eda\\u52a8\\u9f20\\u6807\\u6eda\\u8f6e\\u624d\\u53ef\\u7f29\\u653e\\u5730\\u56fe\"\r\n },\r\n //Chinese (Traditional)\r\n \"zh-TW\": {\r\n touch: \"\\u540c\\u6642\\u4ee5\\u5169\\u6307\\u79fb\\u52d5\\u5730\\u5716\",\r\n scroll:\r\n \"\\u6309\\u4f4f ctrl \\u9375\\u52a0\\u4e0a\\u6372\\u52d5\\u6ed1\\u9f20\\u53ef\\u4ee5\\u7e2e\\u653e\\u5730\\u5716\",\r\n scrollMac:\r\n \"\\u6309 \\u2318 \\u52a0\\u4e0a\\u6efe\\u52d5\\u6372\\u8ef8\\u53ef\\u4ee5\\u7e2e\\u653e\\u5730\\u5716\"\r\n }\r\n};\r\n","/*\r\n* * Leaflet Gesture Handling **\r\n* * Version 1.1.8\r\n*/\r\nimport LanguageContent from \"./language-content\";\r\n\r\nL.Map.mergeOptions({\r\n gestureHandlingOptions: {\r\n text: {},\r\n duration: 1000\r\n }\r\n});\r\n\r\nvar draggingMap = false;\r\n\r\nexport var GestureHandling = L.Handler.extend({\r\n addHooks: function() {\r\n this._handleTouch = this._handleTouch.bind(this);\r\n\r\n this._setupPluginOptions();\r\n this._setLanguageContent();\r\n this._disableInteractions();\r\n\r\n //Uses native event listeners instead of L.DomEvent due to issues with Android touch events\r\n //turning into pointer events\r\n this._map._container.addEventListener(\"touchstart\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchmove\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchend\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchcancel\", this._handleTouch);\r\n this._map._container.addEventListener(\"click\", this._handleTouch);\r\n\r\n L.DomEvent.on(\r\n this._map._container,\r\n \"wheel\",\r\n this._handleScroll,\r\n this\r\n );\r\n L.DomEvent.on(this._map, \"mouseover\", this._handleMouseOver, this);\r\n L.DomEvent.on(this._map, \"mouseout\", this._handleMouseOut, this);\r\n\r\n // Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.\r\n L.DomEvent.on(this._map, \"movestart\", this._handleDragging, this);\r\n L.DomEvent.on(this._map, \"move\", this._handleDragging, this);\r\n L.DomEvent.on(this._map, \"moveend\", this._handleDragging, this);\r\n },\r\n\r\n removeHooks: function() {\r\n this._enableInteractions();\r\n\r\n this._map._container.removeEventListener(\r\n \"touchstart\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\r\n \"touchmove\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\"touchend\", this._handleTouch);\r\n this._map._container.removeEventListener(\r\n \"touchcancel\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\"click\", this._handleTouch);\r\n\r\n L.DomEvent.off(\r\n this._map._container,\r\n \"wheel\",\r\n this._handleScroll,\r\n this\r\n );\r\n L.DomEvent.off(this._map, \"mouseover\", this._handleMouseOver, this);\r\n L.DomEvent.off(this._map, \"mouseout\", this._handleMouseOut, this);\r\n\r\n L.DomEvent.off(this._map, \"movestart\", this._handleDragging, this);\r\n L.DomEvent.off(this._map, \"move\", this._handleDragging, this);\r\n L.DomEvent.off(this._map, \"moveend\", this._handleDragging, this);\r\n },\r\n\r\n _handleDragging: function(e) {\r\n if (e.type == \"movestart\" || e.type == \"move\") {\r\n draggingMap = true;\r\n } else if (e.type == \"moveend\") {\r\n draggingMap = false;\r\n }\r\n },\r\n\r\n _disableInteractions: function() {\r\n this._map.dragging.disable();\r\n this._map.scrollWheelZoom.disable();\r\n if (this._map.tap) {\r\n this._map.tap.disable();\r\n }\r\n },\r\n\r\n _enableInteractions: function() {\r\n this._map.dragging.enable();\r\n this._map.scrollWheelZoom.enable();\r\n if (this._map.tap) {\r\n this._map.tap.enable();\r\n }\r\n },\r\n\r\n _setupPluginOptions: function() {\r\n //For backwards compatibility, merge gestureHandlingText into the new options object\r\n if (this._map.options.gestureHandlingText) {\r\n this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;\r\n }\r\n },\r\n\r\n _setLanguageContent: function() {\r\n var languageContent;\r\n //If user has supplied custom language, use that\r\n if (\r\n this._map.options.gestureHandlingOptions &&\r\n this._map.options.gestureHandlingOptions.text &&\r\n this._map.options.gestureHandlingOptions.text.touch &&\r\n this._map.options.gestureHandlingOptions.text.scroll &&\r\n this._map.options.gestureHandlingOptions.text.scrollMac\r\n ) {\r\n languageContent = this._map.options.gestureHandlingOptions.text;\r\n } else {\r\n //Otherwise auto set it from the language files\r\n\r\n //Determine their language e.g fr or en-US\r\n var lang = this._getUserLanguage();\r\n\r\n //If we couldn't find it default to en\r\n if (!lang) {\r\n lang = \"en\";\r\n }\r\n\r\n //Lookup the appropriate language content\r\n if (LanguageContent[lang]) {\r\n languageContent = LanguageContent[lang];\r\n }\r\n\r\n //If no result, try searching by the first part only. e.g en-US just use en.\r\n if (!languageContent && lang.indexOf(\"-\") !== -1) {\r\n lang = lang.split(\"-\")[0];\r\n languageContent = LanguageContent[lang];\r\n }\r\n\r\n if (!languageContent) {\r\n // If still nothing, default to English\r\n // console.log(\"No lang found for\", lang);\r\n lang = \"en\";\r\n languageContent = LanguageContent[lang];\r\n }\r\n }\r\n\r\n //TEST\r\n // languageContent = LanguageContent[\"bg\"];\r\n\r\n //Check if they're on a mac for display of command instead of ctrl\r\n var mac = false;\r\n if (navigator.platform.toUpperCase().indexOf(\"MAC\") >= 0) {\r\n mac = true;\r\n }\r\n\r\n var scrollContent = languageContent.scroll;\r\n if (mac) {\r\n scrollContent = languageContent.scrollMac;\r\n }\r\n\r\n this._map._container.setAttribute(\r\n \"data-gesture-handling-touch-content\",\r\n languageContent.touch\r\n );\r\n this._map._container.setAttribute(\r\n \"data-gesture-handling-scroll-content\",\r\n scrollContent\r\n );\r\n },\r\n\r\n _getUserLanguage: function() {\r\n var lang = navigator.languages\r\n ? navigator.languages[0]\r\n : navigator.language || navigator.userLanguage;\r\n return lang;\r\n },\r\n\r\n _handleTouch: function(e) {\r\n //Disregard touch events on the minimap if present\r\n var ignoreList = [\r\n \"leaflet-control-minimap\",\r\n \"leaflet-interactive\",\r\n \"leaflet-popup-content\",\r\n \"leaflet-popup-content-wrapper\",\r\n \"leaflet-popup-close-button\",\r\n \"leaflet-control-zoom-in\",\r\n \"leaflet-control-zoom-out\"\r\n ];\r\n\r\n var ignoreElement = false;\r\n for (var i = 0; i < ignoreList.length; i++) {\r\n if (L.DomUtil.hasClass(e.target, ignoreList[i])) {\r\n ignoreElement = true;\r\n }\r\n }\r\n\r\n if (ignoreElement) {\r\n if (\r\n L.DomUtil.hasClass(e.target, \"leaflet-interactive\") &&\r\n e.type === \"touchmove\" &&\r\n e.touches.length === 1\r\n ) {\r\n L.DomUtil.addClass(this._map._container,\r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n this._disableInteractions();\r\n } else {\r\n L.DomUtil.removeClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n }\r\n return;\r\n }\r\n // screenLog(e.type+' '+e.touches.length);\r\n if (e.type !== \"touchmove\" && e.type !== \"touchstart\") {\r\n L.DomUtil.removeClass(this._map._container,\r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n return;\r\n }\r\n if (e.touches.length === 1) {\r\n L.DomUtil.addClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n this._disableInteractions();\r\n } else {\r\n this._enableInteractions();\r\n L.DomUtil.removeClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n }\r\n },\r\n\r\n _isScrolling: false,\r\n\r\n _handleScroll: function(e) {\r\n if (e.metaKey || e.ctrlKey) {\r\n e.preventDefault();\r\n L.DomUtil.removeClass(this._map._container,\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n this._map.scrollWheelZoom.enable();\r\n } else {\r\n L.DomUtil.addClass(this._map._container,\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n this._map.scrollWheelZoom.disable();\r\n\r\n clearTimeout(this._isScrolling);\r\n\r\n // Set a timeout to run after scrolling ends\r\n this._isScrolling = setTimeout(function() {\r\n // Run the callback\r\n var warnings = document.getElementsByClassName(\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n for (var i = 0; i < warnings.length; i++) {\r\n L.DomUtil.removeClass(warnings[i],\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n }\r\n }, this._map.options.gestureHandlingOptions.duration);\r\n }\r\n },\r\n\r\n _handleMouseOver: function(e) {\r\n this._enableInteractions();\r\n },\r\n\r\n _handleMouseOut: function(e) {\r\n if (!draggingMap) {\r\n this._disableInteractions();\r\n }\r\n }\r\n\r\n});\r\n\r\nL.Map.addInitHook(\"addHandler\", \"gestureHandling\", GestureHandling);\r\n\r\nexport default GestureHandling;\r\n"]}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.js
New file
0,0 → 1,552
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define('leafletGestureHandling', ['exports'], factory) :
(factory((global.leafletGestureHandling = {})));
}(this, (function (exports) { 'use strict';
 
var LanguageContent = {
//Arabic
ar: {
touch: "\u0627\u0633\u062a\u062e\u062f\u0645 \u0625\u0635\u0628\u0639\u064a\u0646 \u0644\u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scroll: "\u200f\u0627\u0633\u062a\u062e\u062f\u0645 ctrl + scroll \u0644\u062a\u0635\u063a\u064a\u0631/\u062a\u0643\u0628\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scrollMac: "\u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u2318 + \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629"
},
//Bulgarian
bg: {
touch: "\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0432\u0430 \u043f\u0440\u044a\u0441\u0442\u0430, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scroll: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 Ctrl \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scrollMac: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 \u2318 \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430"
},
//Bengali
bn: {
touch: "\u09ae\u09be\u09a8\u099a\u09bf\u09a4\u09cd\u09b0\u099f\u09bf\u0995\u09c7 \u09b8\u09b0\u09be\u09a4\u09c7 \u09a6\u09c1\u099f\u09bf \u0986\u0999\u09cd\u0997\u09c1\u09b2 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scroll: "\u09ae\u09cd\u09af\u09be\u09aa \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 ctrl + scroll \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scrollMac: "\u09ae\u09cd\u09af\u09be\u09aa\u09c7 \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 \u2318 \u09ac\u09cb\u09a4\u09be\u09ae \u099f\u09bf\u09aa\u09c7 \u09b8\u09cd\u0995\u09cd\u09b0\u09b2 \u0995\u09b0\u09c1\u09a8"
},
//Catalan
ca: {
touch: "Fes servir dos dits per moure el mapa",
scroll: "Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",
scrollMac: "Prem la tecla \u2318 mentre et desplaces per apropar i allunyar el mapa"
},
//Czech
cs: {
touch: "K\u00a0posunut\u00ed mapy pou\u017eijte dva prsty",
scroll: "Velikost zobrazen\u00ed mapy zm\u011b\u0148te podr\u017een\u00edm kl\u00e1vesy Ctrl a\u00a0posouv\u00e1n\u00edm kole\u010dka my\u0161i",
scrollMac: "Velikost zobrazen\u00ed mapy zm\u011bn\u00edte podr\u017een\u00edm kl\u00e1vesy \u2318 a\u00a0posunut\u00edm kole\u010dka my\u0161i / touchpadu"
},
//Danish
da: {
touch: "Brug to fingre til at flytte kortet",
scroll: "Brug ctrl + rullefunktionen til at zoome ind og ud p\u00e5 kortet",
scrollMac: "Brug \u2318 + rullefunktionen til at zoome ind og ud p\u00e5 kortet"
},
//German
de: {
touch: "Verschieben der Karte mit zwei Fingern",
scroll: "Verwende Strg+Scrollen zum Zoomen der Karte",
scrollMac: "\u2318"
},
//Greek
el: {
touch: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03b4\u03cd\u03bf \u03b4\u03ac\u03c7\u03c4\u03c5\u03bb\u03b1 \u03b3\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scroll: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf Ctrl \u03ba\u03b1\u03b9 \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7, \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03b3\u03b5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scrollMac: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf \u2318 + \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b5\u03c3\u03c4\u03af\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7"
},
//English
en: {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Australian)
"en-AU": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Great Britain)
"en-GB": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//Spanish
es: {
touch: "Para mover el mapa, utiliza dos dedos",
scroll: "Mant\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",
scrollMac: "Mant\u00e9n pulsada la tecla \u2318 mientras te desplazas para acercar o alejar el mapa"
},
//Basque
eu: {
touch: "Erabili bi hatz mapa mugitzeko",
scroll: "Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",
scrollMac: "Eduki sakatuta \u2318 eta egin gora eta behera mapa handitu eta txikitzeko"
},
//Farsi
fa: {
touch: "\u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0632 \u062f\u0648 \u0627\u0646\u06af\u0634\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.",
scroll: "\u200f\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647 \u0627\u0632 ctrl + scroll \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f",
scrollMac: "\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647\u060c \u0627\u0632 \u2318 + \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f."
},
//Finnish
fi: {
touch: "Siirr\u00e4 karttaa kahdella sormella.",
scroll: "Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\u00e4m\u00e4ll\u00e4.",
scrollMac: "Zoomaa karttaa pit\u00e4m\u00e4ll\u00e4 painike \u2318 painettuna ja vieritt\u00e4m\u00e4ll\u00e4."
},
//Filipino
fil: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//French
fr: {
touch: "Utilisez deux\u00a0doigts pour d\u00e9placer la carte",
scroll: "Vous pouvez zoomer sur la carte \u00e0 l'aide de CTRL+Molette de d\u00e9filement",
scrollMac: "Vous pouvez zoomer sur la carte \u00e0 l'aide de \u2318+Molette de d\u00e9filement"
},
//Galician
gl: {
touch: "Utiliza dous dedos para mover o mapa",
scroll: "Preme Ctrl mentres te desprazas para ampliar o mapa",
scrollMac: "Preme \u2318 e despr\u00e1zate para ampliar o mapa"
},
//Gujarati
gu: {
touch: "\u0aa8\u0a95\u0ab6\u0acb \u0a96\u0ab8\u0ac7\u0aa1\u0ab5\u0abe \u0aac\u0ac7 \u0a86\u0a82\u0a97\u0ab3\u0ac0\u0a93\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scroll: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 ctrl + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scrollMac: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u2318 + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb"
},
//Hindi
hi: {
touch: "\u092e\u0948\u092a \u090f\u0915 \u091c\u0917\u0939 \u0938\u0947 \u0926\u0942\u0938\u0930\u0940 \u091c\u0917\u0939 \u0932\u0947 \u091c\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u094b \u0909\u0902\u0917\u0932\u093f\u092f\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902",
scroll: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f ctrl + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902",
scrollMac: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902"
},
//Croatian
hr: {
touch: "Pomi\u010dite kartu pomo\u0107u dva prsta",
scroll: "Upotrijebite Ctrl i kliza\u010d mi\u0161a da biste zumirali kartu",
scrollMac: "Upotrijebite gumb \u2318 dok se pomi\u010dete za zumiranje karte"
},
//Hungarian
hu: {
touch: "K\u00e9t ujjal mozgassa a t\u00e9rk\u00e9pet",
scroll: "A t\u00e9rk\u00e9p a ctrl + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3",
scrollMac: "A t\u00e9rk\u00e9p a \u2318 + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3"
},
//Indonesian
id: {
touch: "Gunakan dua jari untuk menggerakkan peta",
scroll: "Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",
scrollMac: "Gunakan \u2318 + scroll untuk memperbesar atau memperkecil peta"
},
//Italian
it: {
touch: "Utilizza due dita per spostare la mappa",
scroll: "Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",
scrollMac: "Utilizza \u2318 + scorrimento per eseguire lo zoom della mappa"
},
//Hebrew
iw: {
touch: "\u05d4\u05d6\u05d6 \u05d0\u05ea \u05d4\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05ea\u05d9 \u05d0\u05e6\u05d1\u05e2\u05d5\u05ea",
scroll: "\u200f\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 ctrl \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4",
scrollMac: "\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 \u2318 \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4"
},
//Japanese
ja: {
touch: "\u5730\u56f3\u3092\u79fb\u52d5\u3055\u305b\u308b\u306b\u306f\u6307 2 \u672c\u3067\u64cd\u4f5c\u3057\u307e\u3059",
scroll: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044",
scrollMac: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001\u2318 \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044"
},
//Kannada
kn: {
touch: "Use two fingers to move the map",
scroll: "Use Ctrl + scroll to zoom the map",
scrollMac: "Use ⌘ + scroll to zoom the map"
},
//Korean
ko: {
touch: "\uc9c0\ub3c4\ub97c \uc6c0\uc9c1\uc774\ub824\uba74 \ub450 \uc190\uac00\ub77d\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.",
scroll: "\uc9c0\ub3c4\ub97c \ud655\ub300/\ucd95\uc18c\ud558\ub824\uba74 Ctrl\uc744 \ub204\ub978 \ucc44 \uc2a4\ud06c\ub864\ud558\uc138\uc694.",
scrollMac: "\uc9c0\ub3c4\ub97c \ud655\ub300\ud558\ub824\uba74 \u2318 + \uc2a4\ud06c\ub864 \uc0ac\uc6a9"
},
//Lithuanian
lt: {
touch: "Perkelkite \u017eem\u0117lap\u012f dviem pir\u0161tais",
scroll: "Slinkite nuspaud\u0119 klavi\u0161\u0105 \u201eCtrl\u201c, kad pakeistum\u0117te \u017eem\u0117lapio mastel\u012f",
scrollMac: "Paspauskite klavi\u0161\u0105 \u2318 ir slinkite, kad priartintum\u0117te \u017eem\u0117lap\u012f"
},
//Latvian
lv: {
touch: "Lai p\u0101rvietotu karti, b\u012bdiet to ar diviem pirkstiem",
scroll: "Kartes t\u0101lummai\u0146ai izmantojiet ctrl + ritin\u0101\u0161anu",
scrollMac: "Lai veiktu kartes t\u0101lummai\u0146u, izmantojiet \u2318 + ritin\u0101\u0161anu"
},
//Malayalam
ml: {
touch: "\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d30\u0d23\u0d4d\u0d1f\u0d4d \u0d35\u0d3f\u0d30\u0d32\u0d41\u0d15\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
scroll: "\u0d15\u0d7a\u0d1f\u0d4d\u0d30\u0d4b\u0d7e + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
scrollMac: "\u2318 + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
},
//Marathi
mr: {
touch: "\u0928\u0915\u093e\u0936\u093e \u0939\u0932\u0935\u093f\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0926\u094b\u0928 \u092c\u094b\u091f\u0947 \u0935\u093e\u092a\u0930\u093e",
scroll: "\u0928\u0915\u093e\u0936\u093e \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 ctrl + scroll \u0935\u093e\u092a\u0930\u093e",
scrollMac: "\u0928\u0915\u093e\u0936\u093e\u0935\u0930 \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0935\u093e\u092a\u0930\u093e"
},
//Dutch
nl: {
touch: "Gebruik twee vingers om de kaart te verplaatsen",
scroll: "Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",
scrollMac: "Gebruik \u2318 + scrollen om in en uit te zoomen op de kaart"
},
//Norwegian
no: {
touch: "Bruk to fingre for \u00e5 flytte kartet",
scroll: "Hold ctrl-tasten inne og rull for \u00e5 zoome p\u00e5 kartet",
scrollMac: "Hold inne \u2318-tasten og rull for \u00e5 zoome p\u00e5 kartet"
},
//Polish
pl: {
touch: "Przesu\u0144 map\u0119 dwoma palcami",
scroll: "Naci\u015bnij CTRL i przewi\u0144, by przybli\u017cy\u0107 map\u0119",
scrollMac: "Naci\u015bnij\u00a0\u2318 i przewi\u0144, by przybli\u017cy\u0107 map\u0119"
},
//Portuguese
pt: {
touch: "Use dois dedos para mover o mapa",
scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Brazil)
"pt-BR": {
touch: "Use dois dedos para mover o mapa",
scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Portugal
"pt-PT": {
touch: "Utilize dois dedos para mover o mapa",
scroll: "Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",
scrollMac: "Utilize \u2318 + deslocar para aumentar/diminuir o zoom do mapa"
},
//Romanian
ro: {
touch: "Folosi\u021bi dou\u0103 degete pentru a deplasa harta",
scroll: "Ap\u0103sa\u021bi tasta ctrl \u0219i derula\u021bi simultan pentru a m\u0103ri harta",
scrollMac: "Folosi\u021bi \u2318 \u0219i derula\u021bi pentru a m\u0103ri/mic\u0219ora harta"
},
//Russian
ru: {
touch: "\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443, \u043f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u0435\u0439 \u0434\u0432\u0443\u043c\u044f \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438",
scroll: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443, \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0443 Ctrl.",
scrollMac: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u2318\u00a0+ \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430"
},
//Slovak
sk: {
touch: "Mapu m\u00f4\u017eete posun\u00fa\u0165 dvoma prstami",
scroll: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves ctrl a\u00a0pos\u00favajte",
scrollMac: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves \u2318 a\u00a0pos\u00favajte kolieskom my\u0161i"
},
//Slovenian
sl: {
touch: "Premaknite zemljevid z dvema prstoma",
scroll: "Zemljevid pove\u010date tako, da dr\u017eite tipko Ctrl in vrtite kolesce na mi\u0161ki",
scrollMac: "Uporabite \u2318 + funkcijo pomika, da pove\u010date ali pomanj\u0161ate zemljevid"
},
//Serbian
sr: {
touch: "\u041c\u0430\u043f\u0443 \u043f\u043e\u043c\u0435\u0440\u0430\u0458\u0442\u0435 \u043f\u043e\u043c\u043e\u045b\u0443 \u0434\u0432\u0430 \u043f\u0440\u0441\u0442\u0430",
scroll: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 ctrl \u0442\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443",
scrollMac: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u2318 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443"
},
//Swedish
sv: {
touch: "Anv\u00e4nd tv\u00e5 fingrar f\u00f6r att flytta kartan",
scroll: "Anv\u00e4nd ctrl + rulla f\u00f6r att zooma kartan",
scrollMac: "Anv\u00e4nd \u2318 + rulla f\u00f6r att zooma p\u00e5 kartan"
},
//Tamil
ta: {
touch: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0ba8\u0b95\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4 \u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bc1 \u0bb5\u0bbf\u0bb0\u0bb2\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
scroll: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, ctrl \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
scrollMac: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, \u2318 \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
},
//Telugu
te: {
touch: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c30\u0c32\u0c3f\u0c02\u0c1a\u0c21\u0c02 \u0c15\u0c4b\u0c38\u0c02 \u0c30\u0c46\u0c02\u0c21\u0c41 \u0c35\u0c47\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
scroll: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f ctrl \u0c2c\u0c1f\u0c28\u0c4d\u200c\u0c28\u0c41 \u0c28\u0c4a\u0c15\u0c4d\u0c15\u0c3f \u0c09\u0c02\u0c1a\u0c3f, \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
scrollMac: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c02\u0c1f\u0c47 \u2318 + \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
},
//Thai
th: {
touch: "\u0e43\u0e0a\u0e49 2 \u0e19\u0e34\u0e49\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scroll: "\u0e01\u0e14 Ctrl \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scrollMac: "\u0e01\u0e14 \u2318 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48"
},
//Tagalog
tl: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//Turkish
tr: {
touch: "Haritada gezinmek i\u00e7in iki parma\u011f\u0131n\u0131z\u0131 kullan\u0131n",
scroll: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in ctrl + kayd\u0131rma kombinasyonunu kullan\u0131n",
scrollMac: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in \u2318 tu\u015funa bas\u0131p ekran\u0131 kayd\u0131r\u0131n"
},
//Ukrainian
uk: {
touch: "\u041f\u0435\u0440\u0435\u043c\u0456\u0449\u0443\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443 \u0434\u0432\u043e\u043c\u0430 \u043f\u0430\u043b\u044c\u0446\u044f\u043c\u0438",
scroll: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0439\u0442\u0435 \u043a\u043e\u043b\u0456\u0449\u0430\u0442\u043a\u043e \u043c\u0438\u0448\u0456, \u0443\u0442\u0440\u0438\u043c\u0443\u044e\u0447\u0438 \u043a\u043b\u0430\u0432\u0456\u0448\u0443 Ctrl",
scrollMac: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u2318 + \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f"
},
//Vietnamese
vi: {
touch: "S\u1eed d\u1ee5ng hai ng\u00f3n tay \u0111\u1ec3 di chuy\u1ec3n b\u1ea3n \u0111\u1ed3",
scroll: "S\u1eed d\u1ee5ng ctrl + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3",
scrollMac: "S\u1eed d\u1ee5ng \u2318 + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3"
},
//Chinese (Simplified)
"zh-CN": {
touch: "\u4f7f\u7528\u53cc\u6307\u79fb\u52a8\u5730\u56fe",
scroll: "\u6309\u4f4f Ctrl \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe",
scrollMac: "\u6309\u4f4f \u2318 \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe"
},
//Chinese (Traditional)
"zh-TW": {
touch: "\u540c\u6642\u4ee5\u5169\u6307\u79fb\u52d5\u5730\u5716",
scroll: "\u6309\u4f4f ctrl \u9375\u52a0\u4e0a\u6372\u52d5\u6ed1\u9f20\u53ef\u4ee5\u7e2e\u653e\u5730\u5716",
scrollMac: "\u6309 \u2318 \u52a0\u4e0a\u6efe\u52d5\u6372\u8ef8\u53ef\u4ee5\u7e2e\u653e\u5730\u5716"
}
};
 
/*
* * Leaflet Gesture Handling **
* * Version 1.1.8
*/
 
L.Map.mergeOptions({
gestureHandlingOptions: {
text: {},
duration: 1000
}
});
 
var draggingMap = false;
 
var GestureHandling = L.Handler.extend({
addHooks: function () {
this._handleTouch = this._handleTouch.bind(this);
 
this._setupPluginOptions();
this._setLanguageContent();
this._disableInteractions();
 
//Uses native event listeners instead of L.DomEvent due to issues with Android touch events
//turning into pointer events
this._map._container.addEventListener("touchstart", this._handleTouch);
this._map._container.addEventListener("touchmove", this._handleTouch);
this._map._container.addEventListener("touchend", this._handleTouch);
this._map._container.addEventListener("touchcancel", this._handleTouch);
this._map._container.addEventListener("click", this._handleTouch);
 
L.DomEvent.on(this._map._container, "wheel", this._handleScroll, this);
L.DomEvent.on(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.on(this._map, "mouseout", this._handleMouseOut, this);
 
// Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.
L.DomEvent.on(this._map, "movestart", this._handleDragging, this);
L.DomEvent.on(this._map, "move", this._handleDragging, this);
L.DomEvent.on(this._map, "moveend", this._handleDragging, this);
},
 
removeHooks: function () {
this._enableInteractions();
 
this._map._container.removeEventListener("touchstart", this._handleTouch);
this._map._container.removeEventListener("touchmove", this._handleTouch);
this._map._container.removeEventListener("touchend", this._handleTouch);
this._map._container.removeEventListener("touchcancel", this._handleTouch);
this._map._container.removeEventListener("click", this._handleTouch);
 
L.DomEvent.off(this._map._container, "wheel", this._handleScroll, this);
L.DomEvent.off(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.off(this._map, "mouseout", this._handleMouseOut, this);
 
L.DomEvent.off(this._map, "movestart", this._handleDragging, this);
L.DomEvent.off(this._map, "move", this._handleDragging, this);
L.DomEvent.off(this._map, "moveend", this._handleDragging, this);
},
 
_handleDragging: function (e) {
if (e.type == "movestart" || e.type == "move") {
draggingMap = true;
} else if (e.type == "moveend") {
draggingMap = false;
}
},
 
_disableInteractions: function () {
this._map.dragging.disable();
this._map.scrollWheelZoom.disable();
if (this._map.tap) {
this._map.tap.disable();
}
},
 
_enableInteractions: function () {
this._map.dragging.enable();
this._map.scrollWheelZoom.enable();
if (this._map.tap) {
this._map.tap.enable();
}
},
 
_setupPluginOptions: function () {
//For backwards compatibility, merge gestureHandlingText into the new options object
if (this._map.options.gestureHandlingText) {
this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;
}
},
 
_setLanguageContent: function () {
var languageContent;
//If user has supplied custom language, use that
if (this._map.options.gestureHandlingOptions && this._map.options.gestureHandlingOptions.text && this._map.options.gestureHandlingOptions.text.touch && this._map.options.gestureHandlingOptions.text.scroll && this._map.options.gestureHandlingOptions.text.scrollMac) {
languageContent = this._map.options.gestureHandlingOptions.text;
} else {
//Otherwise auto set it from the language files
 
//Determine their language e.g fr or en-US
var lang = this._getUserLanguage();
 
//If we couldn't find it default to en
if (!lang) {
lang = "en";
}
 
//Lookup the appropriate language content
if (LanguageContent[lang]) {
languageContent = LanguageContent[lang];
}
 
//If no result, try searching by the first part only. e.g en-US just use en.
if (!languageContent && lang.indexOf("-") !== -1) {
lang = lang.split("-")[0];
languageContent = LanguageContent[lang];
}
 
if (!languageContent) {
// If still nothing, default to English
// console.log("No lang found for", lang);
lang = "en";
languageContent = LanguageContent[lang];
}
}
 
//TEST
// languageContent = LanguageContent["bg"];
 
//Check if they're on a mac for display of command instead of ctrl
var mac = false;
if (navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
mac = true;
}
 
var scrollContent = languageContent.scroll;
if (mac) {
scrollContent = languageContent.scrollMac;
}
 
this._map._container.setAttribute("data-gesture-handling-touch-content", languageContent.touch);
this._map._container.setAttribute("data-gesture-handling-scroll-content", scrollContent);
},
 
_getUserLanguage: function () {
var lang = navigator.languages ? navigator.languages[0] : navigator.language || navigator.userLanguage;
return lang;
},
 
_handleTouch: function (e) {
//Disregard touch events on the minimap if present
var ignoreList = ["leaflet-control-minimap", "leaflet-interactive", "leaflet-popup-content", "leaflet-popup-content-wrapper", "leaflet-popup-close-button", "leaflet-control-zoom-in", "leaflet-control-zoom-out"];
 
var ignoreElement = false;
for (var i = 0; i < ignoreList.length; i++) {
if (L.DomUtil.hasClass(e.target, ignoreList[i])) {
ignoreElement = true;
}
}
 
if (ignoreElement) {
if (L.DomUtil.hasClass(e.target, "leaflet-interactive") && e.type === "touchmove" && e.touches.length === 1) {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
this._disableInteractions();
} else {
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
}
return;
}
// screenLog(e.type+' '+e.touches.length);
if (e.type !== "touchmove" && e.type !== "touchstart") {
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
return;
}
if (e.touches.length === 1) {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
this._disableInteractions();
} else {
this._enableInteractions();
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
}
},
 
_isScrolling: false,
 
_handleScroll: function (e) {
if (e.metaKey || e.ctrlKey) {
e.preventDefault();
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
this._map.scrollWheelZoom.enable();
} else {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
this._map.scrollWheelZoom.disable();
 
clearTimeout(this._isScrolling);
 
// Set a timeout to run after scrolling ends
this._isScrolling = setTimeout(function () {
// Run the callback
var warnings = document.getElementsByClassName("leaflet-gesture-handling-scroll-warning");
for (var i = 0; i < warnings.length; i++) {
L.DomUtil.removeClass(warnings[i], "leaflet-gesture-handling-scroll-warning");
}
}, this._map.options.gestureHandlingOptions.duration);
}
},
 
_handleMouseOver: function (e) {
this._enableInteractions();
},
 
_handleMouseOut: function (e) {
if (!draggingMap) {
this._disableInteractions();
}
}
 
});
 
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
exports.GestureHandling = GestureHandling;
exports.default = GestureHandling;
 
Object.defineProperty(exports, '__esModule', { value: true });
 
})));
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.js
New file
0,0 → 1,2
!function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("leafletGestureHandling",["exports"],t):t(a.leafletGestureHandling={})}(this,function(a){"use strict";var o={ar:{touch:"استخدم إصبعين لتحريك الخريطة",scroll:"‏استخدم ctrl + scroll لتصغير/تكبير الخريطة",scrollMac:"يمكنك استخدام ⌘ + التمرير لتكبير/تصغير الخريطة"},bg:{touch:"Използвайте два пръста, за да преместите картата",scroll:"Задръжте бутона Ctrl натиснат, докато превъртате, за да промените мащаба на картата",scrollMac:"Задръжте бутона ⌘ натиснат, докато превъртате, за да промените мащаба на картата"},bn:{touch:"মানচিত্রটিকে সরাতে দুটি আঙ্গুল ব্যবহার করুন",scroll:"ম্যাপ জুম করতে ctrl + scroll ব্যবহার করুন",scrollMac:"ম্যাপে জুম করতে ⌘ বোতাম টিপে স্ক্রল করুন"},ca:{touch:"Fes servir dos dits per moure el mapa",scroll:"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",scrollMac:"Prem la tecla ⌘ mentre et desplaces per apropar i allunyar el mapa"},cs:{touch:"K posunutí mapy použijte dva prsty",scroll:"Velikost zobrazení mapy změňte podržením klávesy Ctrl a posouváním kolečka myši",scrollMac:"Velikost zobrazení mapy změníte podržením klávesy ⌘ a posunutím kolečka myši / touchpadu"},da:{touch:"Brug to fingre til at flytte kortet",scroll:"Brug ctrl + rullefunktionen til at zoome ind og ud på kortet",scrollMac:"Brug ⌘ + rullefunktionen til at zoome ind og ud på kortet"},de:{touch:"Verschieben der Karte mit zwei Fingern",scroll:"Verwende Strg+Scrollen zum Zoomen der Karte",scrollMac:"⌘"},el:{touch:"Χρησιμοποιήστε δύο δάχτυλα για μετακίνηση στον χάρτη",scroll:"Χρησιμοποιήστε το πλήκτρο Ctrl και κύλιση, για να μεγεθύνετε τον χάρτη",scrollMac:"Χρησιμοποιήστε το πλήκτρο ⌘ + κύλιση για εστίαση στον χάρτη"},en:{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-AU":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-GB":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},es:{touch:"Para mover el mapa, utiliza dos dedos",scroll:"Mantén pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",scrollMac:"Mantén pulsada la tecla ⌘ mientras te desplazas para acercar o alejar el mapa"},eu:{touch:"Erabili bi hatz mapa mugitzeko",scroll:"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",scrollMac:"Eduki sakatuta ⌘ eta egin gora eta behera mapa handitu eta txikitzeko"},fa:{touch:"برای حرکت دادن نقشه از دو انگشت استفاده کنید.",scroll:"‏برای بزرگ‌نمایی نقشه از ctrl + scroll استفاده کنید",scrollMac:"برای بزرگ‌نمایی نقشه، از ⌘ + پیمایش استفاده کنید."},fi:{touch:"Siirrä karttaa kahdella sormella.",scroll:"Zoomaa karttaa painamalla Ctrl-painiketta ja vierittämällä.",scrollMac:"Zoomaa karttaa pitämällä painike ⌘ painettuna ja vierittämällä."},fil:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},fr:{touch:"Utilisez deux doigts pour déplacer la carte",scroll:"Vous pouvez zoomer sur la carte à l'aide de CTRL+Molette de défilement",scrollMac:"Vous pouvez zoomer sur la carte à l'aide de ⌘+Molette de défilement"},gl:{touch:"Utiliza dous dedos para mover o mapa",scroll:"Preme Ctrl mentres te desprazas para ampliar o mapa",scrollMac:"Preme ⌘ e desprázate para ampliar o mapa"},gu:{touch:"નકશો ખસેડવા બે આંગળીઓનો ઉપયોગ કરો",scroll:"નકશાને ઝૂમ કરવા માટે ctrl + સ્ક્રોલનો ઉપયોગ કરો",scrollMac:"નકશાને ઝૂમ કરવા ⌘ + સ્ક્રોલનો ઉપયોગ કરો"},hi:{touch:"मैप एक जगह से दूसरी जगह ले जाने के लिए दो उंगलियों का इस्तेमाल करें",scroll:"मैप को ज़ूम करने के लिए ctrl + स्क्रोल का उपयोग करें",scrollMac:"मैप को ज़ूम करने के लिए ⌘ + स्क्रोल का उपयोग करें"},hr:{touch:"Pomičite kartu pomoću dva prsta",scroll:"Upotrijebite Ctrl i klizač miša da biste zumirali kartu",scrollMac:"Upotrijebite gumb ⌘ dok se pomičete za zumiranje karte"},hu:{touch:"Két ujjal mozgassa a térképet",scroll:"A térkép a ctrl + görgetés használatával nagyítható",scrollMac:"A térkép a ⌘ + görgetés használatával nagyítható"},id:{touch:"Gunakan dua jari untuk menggerakkan peta",scroll:"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",scrollMac:"Gunakan ⌘ + scroll untuk memperbesar atau memperkecil peta"},it:{touch:"Utilizza due dita per spostare la mappa",scroll:"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",scrollMac:"Utilizza ⌘ + scorrimento per eseguire lo zoom della mappa"},iw:{touch:"הזז את המפה באמצעות שתי אצבעות",scroll:"‏אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ctrl וגלילה",scrollMac:"אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ⌘ וגלילה"},ja:{touch:"地図を移動させるには指 2 本で操作します",scroll:"地図をズームするには、Ctrl キーを押しながらスクロールしてください",scrollMac:"地図をズームするには、⌘ キーを押しながらスクロールしてください"},kn:{touch:"Use two fingers to move the map",scroll:"Use Ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},ko:{touch:"지도를 움직이려면 두 손가락을 사용하세요.",scroll:"지도를 확대/축소하려면 Ctrl을 누른 채 스크롤하세요.",scrollMac:"지도를 확대하려면 ⌘ + 스크롤 사용"},lt:{touch:"Perkelkite žemėlapį dviem pirštais",scroll:"Slinkite nuspaudę klavišą „Ctrl“, kad pakeistumėte žemėlapio mastelį",scrollMac:"Paspauskite klavišą ⌘ ir slinkite, kad priartintumėte žemėlapį"},lv:{touch:"Lai pārvietotu karti, bīdiet to ar diviem pirkstiem",scroll:"Kartes tālummaiņai izmantojiet ctrl + ritināšanu",scrollMac:"Lai veiktu kartes tālummaiņu, izmantojiet ⌘ + ritināšanu"},ml:{touch:"മാപ്പ് നീക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിക്കുക",scroll:"കൺട്രോൾ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക",scrollMac:"⌘ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക"},mr:{touch:"नकाशा हलविण्यासाठी दोन बोटे वापरा",scroll:"नकाशा झूम करण्यासाठी ctrl + scroll वापरा",scrollMac:"नकाशावर झूम करण्यासाठी ⌘ + स्क्रोल वापरा"},nl:{touch:"Gebruik twee vingers om de kaart te verplaatsen",scroll:"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",scrollMac:"Gebruik ⌘ + scrollen om in en uit te zoomen op de kaart"},no:{touch:"Bruk to fingre for å flytte kartet",scroll:"Hold ctrl-tasten inne og rull for å zoome på kartet",scrollMac:"Hold inne ⌘-tasten og rull for å zoome på kartet"},pl:{touch:"Przesuń mapę dwoma palcami",scroll:"Naciśnij CTRL i przewiń, by przybliżyć mapę",scrollMac:"Naciśnij ⌘ i przewiń, by przybliżyć mapę"},pt:{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-BR":{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-PT":{touch:"Utilize dois dedos para mover o mapa",scroll:"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",scrollMac:"Utilize ⌘ + deslocar para aumentar/diminuir o zoom do mapa"},ro:{touch:"Folosiți două degete pentru a deplasa harta",scroll:"Apăsați tasta ctrl și derulați simultan pentru a mări harta",scrollMac:"Folosiți ⌘ și derulați pentru a mări/micșora harta"},ru:{touch:"Чтобы переместить карту, проведите по ней двумя пальцами",scroll:"Чтобы изменить масштаб, прокручивайте карту, удерживая клавишу Ctrl.",scrollMac:"Чтобы изменить масштаб, нажмите ⌘ + прокрутка"},sk:{touch:"Mapu môžete posunúť dvoma prstami",scroll:"Ak chcete priblížiť mapu, stlačte kláves ctrl a posúvajte",scrollMac:"Ak chcete priblížiť mapu, stlačte kláves ⌘ a posúvajte kolieskom myši"},sl:{touch:"Premaknite zemljevid z dvema prstoma",scroll:"Zemljevid povečate tako, da držite tipko Ctrl in vrtite kolesce na miški",scrollMac:"Uporabite ⌘ + funkcijo pomika, da povečate ali pomanjšate zemljevid"},sr:{touch:"Мапу померајте помоћу два прста",scroll:"Притисните ctrl тастер док померате да бисте зумирали мапу",scrollMac:"Притисните тастер ⌘ док померате да бисте зумирали мапу"},sv:{touch:"Använd två fingrar för att flytta kartan",scroll:"Använd ctrl + rulla för att zooma kartan",scrollMac:"Använd ⌘ + rulla för att zooma på kartan"},ta:{touch:"மேப்பை நகர்த்த இரண்டு விரல்களைப் பயன்படுத்தவும்",scroll:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ctrl பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்",scrollMac:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ⌘ பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்"},te:{touch:"మ్యాప్‌ని తరలించడం కోసం రెండు వేళ్లను ఉపయోగించండి",scroll:"మ్యాప్‌ని జూమ్ చేయడానికి ctrl బటన్‌ను నొక్కి ఉంచి, స్క్రోల్ చేయండి",scrollMac:"మ్యాప్ జూమ్ చేయాలంటే ⌘ + స్క్రోల్ ఉపయోగించండి"},th:{touch:"ใช้ 2 นิ้วเพื่อเลื่อนแผนที่",scroll:"กด Ctrl ค้างไว้ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่",scrollMac:"กด ⌘ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่"},tl:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},tr:{touch:"Haritada gezinmek için iki parmağınızı kullanın",scroll:"Haritayı yakınlaştırmak için ctrl + kaydırma kombinasyonunu kullanın",scrollMac:"Haritayı yakınlaştırmak için ⌘ tuşuna basıp ekranı kaydırın"},uk:{touch:"Переміщуйте карту двома пальцями",scroll:"Щоб змінювати масштаб карти, прокручуйте коліщатко миші, утримуючи клавішу Ctrl",scrollMac:"Щоб змінити масштаб карти, використовуйте ⌘ + прокручування"},vi:{touch:"Sử dụng hai ngón tay để di chuyển bản đồ",scroll:"Sử dụng ctrl + cuộn để thu phóng bản đồ",scrollMac:"Sử dụng ⌘ + cuộn để thu phóng bản đồ"},"zh-CN":{touch:"使用双指移动地图",scroll:"按住 Ctrl 并滚动鼠标滚轮才可缩放地图",scrollMac:"按住 ⌘ 并滚动鼠标滚轮才可缩放地图"},"zh-TW":{touch:"同時以兩指移動地圖",scroll:"按住 ctrl 鍵加上捲動滑鼠可以縮放地圖",scrollMac:"按 ⌘ 加上滾動捲軸可以縮放地圖"}};L.Map.mergeOptions({gestureHandlingOptions:{text:{},duration:1e3}});var t=!1,e=L.Handler.extend({addHooks:function(){this._handleTouch=this._handleTouch.bind(this),this._setupPluginOptions(),this._setLanguageContent(),this._disableInteractions(),this._map._container.addEventListener("touchstart",this._handleTouch),this._map._container.addEventListener("touchmove",this._handleTouch),this._map._container.addEventListener("touchend",this._handleTouch),this._map._container.addEventListener("touchcancel",this._handleTouch),this._map._container.addEventListener("click",this._handleTouch),L.DomEvent.on(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.on(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.on(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.on(this._map,"movestart",this._handleDragging,this),L.DomEvent.on(this._map,"move",this._handleDragging,this),L.DomEvent.on(this._map,"moveend",this._handleDragging,this)},removeHooks:function(){this._enableInteractions(),this._map._container.removeEventListener("touchstart",this._handleTouch),this._map._container.removeEventListener("touchmove",this._handleTouch),this._map._container.removeEventListener("touchend",this._handleTouch),this._map._container.removeEventListener("touchcancel",this._handleTouch),this._map._container.removeEventListener("click",this._handleTouch),L.DomEvent.off(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.off(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.off(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.off(this._map,"movestart",this._handleDragging,this),L.DomEvent.off(this._map,"move",this._handleDragging,this),L.DomEvent.off(this._map,"moveend",this._handleDragging,this)},_handleDragging:function(a){"movestart"==a.type||"move"==a.type?t=!0:"moveend"==a.type&&(t=!1)},_disableInteractions:function(){this._map.dragging.disable(),this._map.scrollWheelZoom.disable(),this._map.tap&&this._map.tap.disable()},_enableInteractions:function(){this._map.dragging.enable(),this._map.scrollWheelZoom.enable(),this._map.tap&&this._map.tap.enable()},_setupPluginOptions:function(){this._map.options.gestureHandlingText&&(this._map.options.gestureHandlingOptions.text=this._map.options.gestureHandlingText)},_setLanguageContent:function(){var a,t=this._map.options.gestureHandlingOptions&&this._map.options.gestureHandlingOptions.text&&this._map.options.gestureHandlingOptions.text.touch&&this._map.options.gestureHandlingOptions.text.scroll&&this._map.options.gestureHandlingOptions.text.scrollMac?this._map.options.gestureHandlingOptions.text:(a=this._getUserLanguage(),o[a=a||"en"]&&(t=o[a]),t||-1===a.indexOf("-")||(a=a.split("-")[0],t=o[a]),t||o[a="en"]),e=!1;0<=navigator.platform.toUpperCase().indexOf("MAC")&&(e=!0);var l=t.scroll;e&&(l=t.scrollMac),this._map._container.setAttribute("data-gesture-handling-touch-content",t.touch),this._map._container.setAttribute("data-gesture-handling-scroll-content",l)},_getUserLanguage:function(){return navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage},_handleTouch:function(a){for(var t=["leaflet-control-minimap","leaflet-interactive","leaflet-popup-content","leaflet-popup-content-wrapper","leaflet-popup-close-button","leaflet-control-zoom-in","leaflet-control-zoom-out"],e=!1,l=0;l<t.length;l++)L.DomUtil.hasClass(a.target,t[l])&&(e=!0);e?L.DomUtil.hasClass(a.target,"leaflet-interactive")&&"touchmove"===a.type&&1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning"):"touchmove"===a.type||"touchstart"===a.type?1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):(this._enableInteractions(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")},_isScrolling:!1,_handleScroll:function(a){a.metaKey||a.ctrlKey?(a.preventDefault(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.enable()):(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.disable(),clearTimeout(this._isScrolling),this._isScrolling=setTimeout(function(){for(var a=document.getElementsByClassName("leaflet-gesture-handling-scroll-warning"),t=0;t<a.length;t++)L.DomUtil.removeClass(a[t],"leaflet-gesture-handling-scroll-warning")},this._map.options.gestureHandlingOptions.duration))},_handleMouseOver:function(a){this._enableInteractions()},_handleMouseOut:function(a){t||this._disableInteractions()}});L.Map.addInitHook("addHandler","gestureHandling",e),a.GestureHandling=e,a.default=e,Object.defineProperty(a,"__esModule",{value:!0})});
//# sourceMappingURL=leaflet-gesture-handling.min.js.map
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.css
New file
0,0 → 1,47
@-webkit-keyframes leaflet-gestures-fadein {
0% {
opacity: 0; }
100% {
opacity: 1; } }
 
@keyframes leaflet-gestures-fadein {
0% {
opacity: 0; }
100% {
opacity: 1; } }
 
.leaflet-container:after {
-webkit-animation: leaflet-gestures-fadein 0.8s backwards;
animation: leaflet-gestures-fadein 0.8s backwards;
color: #fff;
font-family: "Roboto", Arial, sans-serif;
font-size: 22px;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 15px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 461;
pointer-events: none; }
 
.leaflet-gesture-handling-touch-warning:after,
.leaflet-gesture-handling-scroll-warning:after {
-webkit-animation: leaflet-gestures-fadein 0.8s forwards;
animation: leaflet-gestures-fadein 0.8s forwards; }
 
.leaflet-gesture-handling-touch-warning:after {
content: attr(data-gesture-handling-touch-content); }
 
.leaflet-gesture-handling-scroll-warning:after {
content: attr(data-gesture-handling-scroll-content); }
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.d.ts
New file
0,0 → 1,5
import * as L from "leaflet";
 
export class GestureHandling extends L.Handler {}
 
export default GestureHandling;
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/package.json
New file
0,0 → 1,51
{
"name": "leaflet-gesture-handling",
"version": "1.2.1",
"description": "Prompt mobile user to use 2 fingers to move the map. Prompt desktop users to use Ctrl+Mouse Wheel to zoom. Brings Google Maps gesture handling into Leaflet. ",
"main": "./dist/leaflet-gesture-handling.min.js",
"files": [
"dist"
],
"types": "./dist/leaflet-gesture-handling.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "gulp build",
"start": "gulp dev",
"format": "prettier --write src/*/*",
"prepublish": "npm run build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/elmarquis/leaflet-gesture-handling.git"
},
"keywords": [
"Leaflet",
"Maps",
"Gesture",
"Handling",
"two",
"fingers",
"mobile",
"scroll"
],
"author": "A Marquis",
"license": "MIT",
"bugs": {
"url": "https://github.com/elmarquis/leaflet-gesture-handling/issues"
},
"homepage": "https://github.com/elmarquis/leaflet-gesture-handling#readme",
"devDependencies": {
"babel-core": "^6.26.3",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^5.0.0",
"gulp-better-rollup": "^3.3.0",
"gulp-concat": "^2.6.1",
"gulp-minify-css": "^1.2.4",
"gulp-rename": "^1.2.3",
"gulp-sass": "^4.0.1",
"gulp-sourcemaps": "^2.6.4",
"gulp-uglify": "^3.0.0",
"prettier": "^1.14.0",
"rollup-plugin-babel": "^3.0.7"
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/.gitignore
New file
0,0 → 1,5
node_modules/
.sass-cache/
*.css.map
*.js.map
examples/images/
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/modules/leaflet-gesture-handling.min.js
New file
0,0 → 1,2
!function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("leafletGestureHandling",["exports"],t):t(a.leafletGestureHandling={})}(this,function(a){"use strict";var o={ar:{touch:"استخدم إصبعين لتحريك الخريطة",scroll:"‏استخدم ctrl + scroll لتصغير/تكبير الخريطة",scrollMac:"يمكنك استخدام ⌘ + التمرير لتكبير/تصغير الخريطة"},bg:{touch:"Използвайте два пръста, за да преместите картата",scroll:"Задръжте бутона Ctrl натиснат, докато превъртате, за да промените мащаба на картата",scrollMac:"Задръжте бутона ⌘ натиснат, докато превъртате, за да промените мащаба на картата"},bn:{touch:"মানচিত্রটিকে সরাতে দুটি আঙ্গুল ব্যবহার করুন",scroll:"ম্যাপ জুম করতে ctrl + scroll ব্যবহার করুন",scrollMac:"ম্যাপে জুম করতে ⌘ বোতাম টিপে স্ক্রল করুন"},ca:{touch:"Fes servir dos dits per moure el mapa",scroll:"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",scrollMac:"Prem la tecla ⌘ mentre et desplaces per apropar i allunyar el mapa"},cs:{touch:"K posunutí mapy použijte dva prsty",scroll:"Velikost zobrazení mapy změňte podržením klávesy Ctrl a posouváním kolečka myši",scrollMac:"Velikost zobrazení mapy změníte podržením klávesy ⌘ a posunutím kolečka myši / touchpadu"},da:{touch:"Brug to fingre til at flytte kortet",scroll:"Brug ctrl + rullefunktionen til at zoome ind og ud på kortet",scrollMac:"Brug ⌘ + rullefunktionen til at zoome ind og ud på kortet"},de:{touch:"Verschieben der Karte mit zwei Fingern",scroll:"Verwende Strg+Scrollen zum Zoomen der Karte",scrollMac:"⌘"},el:{touch:"Χρησιμοποιήστε δύο δάχτυλα για μετακίνηση στον χάρτη",scroll:"Χρησιμοποιήστε το πλήκτρο Ctrl και κύλιση, για να μεγεθύνετε τον χάρτη",scrollMac:"Χρησιμοποιήστε το πλήκτρο ⌘ + κύλιση για εστίαση στον χάρτη"},en:{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-AU":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-GB":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},es:{touch:"Para mover el mapa, utiliza dos dedos",scroll:"Mantén pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",scrollMac:"Mantén pulsada la tecla ⌘ mientras te desplazas para acercar o alejar el mapa"},eu:{touch:"Erabili bi hatz mapa mugitzeko",scroll:"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",scrollMac:"Eduki sakatuta ⌘ eta egin gora eta behera mapa handitu eta txikitzeko"},fa:{touch:"برای حرکت دادن نقشه از دو انگشت استفاده کنید.",scroll:"‏برای بزرگ‌نمایی نقشه از ctrl + scroll استفاده کنید",scrollMac:"برای بزرگ‌نمایی نقشه، از ⌘ + پیمایش استفاده کنید."},fi:{touch:"Siirrä karttaa kahdella sormella.",scroll:"Zoomaa karttaa painamalla Ctrl-painiketta ja vierittämällä.",scrollMac:"Zoomaa karttaa pitämällä painike ⌘ painettuna ja vierittämällä."},fil:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},fr:{touch:"Utilisez deux doigts pour déplacer la carte",scroll:"Vous pouvez zoomer sur la carte à l'aide de CTRL+Molette de défilement",scrollMac:"Vous pouvez zoomer sur la carte à l'aide de ⌘+Molette de défilement"},gl:{touch:"Utiliza dous dedos para mover o mapa",scroll:"Preme Ctrl mentres te desprazas para ampliar o mapa",scrollMac:"Preme ⌘ e desprázate para ampliar o mapa"},gu:{touch:"નકશો ખસેડવા બે આંગળીઓનો ઉપયોગ કરો",scroll:"નકશાને ઝૂમ કરવા માટે ctrl + સ્ક્રોલનો ઉપયોગ કરો",scrollMac:"નકશાને ઝૂમ કરવા ⌘ + સ્ક્રોલનો ઉપયોગ કરો"},hi:{touch:"मैप एक जगह से दूसरी जगह ले जाने के लिए दो उंगलियों का इस्तेमाल करें",scroll:"मैप को ज़ूम करने के लिए ctrl + स्क्रोल का उपयोग करें",scrollMac:"मैप को ज़ूम करने के लिए ⌘ + स्क्रोल का उपयोग करें"},hr:{touch:"Pomičite kartu pomoću dva prsta",scroll:"Upotrijebite Ctrl i klizač miša da biste zumirali kartu",scrollMac:"Upotrijebite gumb ⌘ dok se pomičete za zumiranje karte"},hu:{touch:"Két ujjal mozgassa a térképet",scroll:"A térkép a ctrl + görgetés használatával nagyítható",scrollMac:"A térkép a ⌘ + görgetés használatával nagyítható"},id:{touch:"Gunakan dua jari untuk menggerakkan peta",scroll:"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",scrollMac:"Gunakan ⌘ + scroll untuk memperbesar atau memperkecil peta"},it:{touch:"Utilizza due dita per spostare la mappa",scroll:"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",scrollMac:"Utilizza ⌘ + scorrimento per eseguire lo zoom della mappa"},iw:{touch:"הזז את המפה באמצעות שתי אצבעות",scroll:"‏אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ctrl וגלילה",scrollMac:"אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ⌘ וגלילה"},ja:{touch:"地図を移動させるには指 2 本で操作します",scroll:"地図をズームするには、Ctrl キーを押しながらスクロールしてください",scrollMac:"地図をズームするには、⌘ キーを押しながらスクロールしてください"},kn:{touch:"Use two fingers to move the map",scroll:"Use Ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},ko:{touch:"지도를 움직이려면 두 손가락을 사용하세요.",scroll:"지도를 확대/축소하려면 Ctrl을 누른 채 스크롤하세요.",scrollMac:"지도를 확대하려면 ⌘ + 스크롤 사용"},lt:{touch:"Perkelkite žemėlapį dviem pirštais",scroll:"Slinkite nuspaudę klavišą „Ctrl“, kad pakeistumėte žemėlapio mastelį",scrollMac:"Paspauskite klavišą ⌘ ir slinkite, kad priartintumėte žemėlapį"},lv:{touch:"Lai pārvietotu karti, bīdiet to ar diviem pirkstiem",scroll:"Kartes tālummaiņai izmantojiet ctrl + ritināšanu",scrollMac:"Lai veiktu kartes tālummaiņu, izmantojiet ⌘ + ritināšanu"},ml:{touch:"മാപ്പ് നീക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിക്കുക",scroll:"കൺട്രോൾ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക",scrollMac:"⌘ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക"},mr:{touch:"नकाशा हलविण्यासाठी दोन बोटे वापरा",scroll:"नकाशा झूम करण्यासाठी ctrl + scroll वापरा",scrollMac:"नकाशावर झूम करण्यासाठी ⌘ + स्क्रोल वापरा"},nl:{touch:"Gebruik twee vingers om de kaart te verplaatsen",scroll:"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",scrollMac:"Gebruik ⌘ + scrollen om in en uit te zoomen op de kaart"},no:{touch:"Bruk to fingre for å flytte kartet",scroll:"Hold ctrl-tasten inne og rull for å zoome på kartet",scrollMac:"Hold inne ⌘-tasten og rull for å zoome på kartet"},pl:{touch:"Przesuń mapę dwoma palcami",scroll:"Naciśnij CTRL i przewiń, by przybliżyć mapę",scrollMac:"Naciśnij ⌘ i przewiń, by przybliżyć mapę"},pt:{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-BR":{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-PT":{touch:"Utilize dois dedos para mover o mapa",scroll:"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",scrollMac:"Utilize ⌘ + deslocar para aumentar/diminuir o zoom do mapa"},ro:{touch:"Folosiți două degete pentru a deplasa harta",scroll:"Apăsați tasta ctrl și derulați simultan pentru a mări harta",scrollMac:"Folosiți ⌘ și derulați pentru a mări/micșora harta"},ru:{touch:"Чтобы переместить карту, проведите по ней двумя пальцами",scroll:"Чтобы изменить масштаб, прокручивайте карту, удерживая клавишу Ctrl.",scrollMac:"Чтобы изменить масштаб, нажмите ⌘ + прокрутка"},sk:{touch:"Mapu môžete posunúť dvoma prstami",scroll:"Ak chcete priblížiť mapu, stlačte kláves ctrl a posúvajte",scrollMac:"Ak chcete priblížiť mapu, stlačte kláves ⌘ a posúvajte kolieskom myši"},sl:{touch:"Premaknite zemljevid z dvema prstoma",scroll:"Zemljevid povečate tako, da držite tipko Ctrl in vrtite kolesce na miški",scrollMac:"Uporabite ⌘ + funkcijo pomika, da povečate ali pomanjšate zemljevid"},sr:{touch:"Мапу померајте помоћу два прста",scroll:"Притисните ctrl тастер док померате да бисте зумирали мапу",scrollMac:"Притисните тастер ⌘ док померате да бисте зумирали мапу"},sv:{touch:"Använd två fingrar för att flytta kartan",scroll:"Använd ctrl + rulla för att zooma kartan",scrollMac:"Använd ⌘ + rulla för att zooma på kartan"},ta:{touch:"மேப்பை நகர்த்த இரண்டு விரல்களைப் பயன்படுத்தவும்",scroll:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ctrl பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்",scrollMac:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ⌘ பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்"},te:{touch:"మ్యాప్‌ని తరలించడం కోసం రెండు వేళ్లను ఉపయోగించండి",scroll:"మ్యాప్‌ని జూమ్ చేయడానికి ctrl బటన్‌ను నొక్కి ఉంచి, స్క్రోల్ చేయండి",scrollMac:"మ్యాప్ జూమ్ చేయాలంటే ⌘ + స్క్రోల్ ఉపయోగించండి"},th:{touch:"ใช้ 2 นิ้วเพื่อเลื่อนแผนที่",scroll:"กด Ctrl ค้างไว้ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่",scrollMac:"กด ⌘ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่"},tl:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},tr:{touch:"Haritada gezinmek için iki parmağınızı kullanın",scroll:"Haritayı yakınlaştırmak için ctrl + kaydırma kombinasyonunu kullanın",scrollMac:"Haritayı yakınlaştırmak için ⌘ tuşuna basıp ekranı kaydırın"},uk:{touch:"Переміщуйте карту двома пальцями",scroll:"Щоб змінювати масштаб карти, прокручуйте коліщатко миші, утримуючи клавішу Ctrl",scrollMac:"Щоб змінити масштаб карти, використовуйте ⌘ + прокручування"},vi:{touch:"Sử dụng hai ngón tay để di chuyển bản đồ",scroll:"Sử dụng ctrl + cuộn để thu phóng bản đồ",scrollMac:"Sử dụng ⌘ + cuộn để thu phóng bản đồ"},"zh-CN":{touch:"使用双指移动地图",scroll:"按住 Ctrl 并滚动鼠标滚轮才可缩放地图",scrollMac:"按住 ⌘ 并滚动鼠标滚轮才可缩放地图"},"zh-TW":{touch:"同時以兩指移動地圖",scroll:"按住 ctrl 鍵加上捲動滑鼠可以縮放地圖",scrollMac:"按 ⌘ 加上滾動捲軸可以縮放地圖"}};L.Map.mergeOptions({gestureHandlingOptions:{text:{},duration:1e3}});var t=!1,e=L.Handler.extend({addHooks:function(){this._handleTouch=this._handleTouch.bind(this),this._setupPluginOptions(),this._setLanguageContent(),this._disableInteractions(),this._map._container.addEventListener("touchstart",this._handleTouch),this._map._container.addEventListener("touchmove",this._handleTouch),this._map._container.addEventListener("touchend",this._handleTouch),this._map._container.addEventListener("touchcancel",this._handleTouch),this._map._container.addEventListener("click",this._handleTouch),L.DomEvent.on(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.on(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.on(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.on(this._map,"movestart",this._handleDragging,this),L.DomEvent.on(this._map,"move",this._handleDragging,this),L.DomEvent.on(this._map,"moveend",this._handleDragging,this)},removeHooks:function(){this._enableInteractions(),this._map._container.removeEventListener("touchstart",this._handleTouch),this._map._container.removeEventListener("touchmove",this._handleTouch),this._map._container.removeEventListener("touchend",this._handleTouch),this._map._container.removeEventListener("touchcancel",this._handleTouch),this._map._container.removeEventListener("click",this._handleTouch),L.DomEvent.off(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.off(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.off(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.off(this._map,"movestart",this._handleDragging,this),L.DomEvent.off(this._map,"move",this._handleDragging,this),L.DomEvent.off(this._map,"moveend",this._handleDragging,this)},_handleDragging:function(a){"movestart"==a.type||"move"==a.type?t=!0:"moveend"==a.type&&(t=!1)},_disableInteractions:function(){this._map.dragging.disable(),this._map.scrollWheelZoom.disable(),this._map.tap&&this._map.tap.disable()},_enableInteractions:function(){this._map.dragging.enable(),this._map.scrollWheelZoom.enable(),this._map.tap&&this._map.tap.enable()},_setupPluginOptions:function(){this._map.options.gestureHandlingText&&(this._map.options.gestureHandlingOptions.text=this._map.options.gestureHandlingText)},_setLanguageContent:function(){var a,t=this._map.options.gestureHandlingOptions&&this._map.options.gestureHandlingOptions.text&&this._map.options.gestureHandlingOptions.text.touch&&this._map.options.gestureHandlingOptions.text.scroll&&this._map.options.gestureHandlingOptions.text.scrollMac?this._map.options.gestureHandlingOptions.text:(a=this._getUserLanguage(),o[a=a||"en"]&&(t=o[a]),t||-1===a.indexOf("-")||(a=a.split("-")[0],t=o[a]),t||o[a="en"]),e=!1;0<=navigator.platform.toUpperCase().indexOf("MAC")&&(e=!0);var l=t.scroll;e&&(l=t.scrollMac),this._map._container.setAttribute("data-gesture-handling-touch-content",t.touch),this._map._container.setAttribute("data-gesture-handling-scroll-content",l)},_getUserLanguage:function(){return navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage},_handleTouch:function(a){for(var t=["leaflet-control-minimap","leaflet-interactive","leaflet-popup-content","leaflet-popup-content-wrapper","leaflet-popup-close-button","leaflet-control-zoom-in","leaflet-control-zoom-out"],e=!1,l=0;l<t.length;l++)L.DomUtil.hasClass(a.target,t[l])&&(e=!0);e?L.DomUtil.hasClass(a.target,"leaflet-interactive")&&"touchmove"===a.type&&1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning"):"touchmove"===a.type||"touchstart"===a.type?1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):(this._enableInteractions(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")},_isScrolling:!1,_handleScroll:function(a){a.metaKey||a.ctrlKey?(a.preventDefault(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.enable()):(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.disable(),clearTimeout(this._isScrolling),this._isScrolling=setTimeout(function(){for(var a=document.getElementsByClassName("leaflet-gesture-handling-scroll-warning"),t=0;t<a.length;t++)L.DomUtil.removeClass(a[t],"leaflet-gesture-handling-scroll-warning")},this._map.options.gestureHandlingOptions.duration))},_handleMouseOver:function(a){this._enableInteractions()},_handleMouseOut:function(a){t||this._disableInteractions()}});L.Map.addInitHook("addHandler","gestureHandling",e),a.GestureHandling=e,a.default=e,Object.defineProperty(a,"__esModule",{value:!0})});
//# sourceMappingURL=leaflet-gesture-handling.min.js.map
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/modules/Locality.js
New file
0,0 → 1,199
import {debounce} from "../lib/debounce.js";
 
export const NOMINATIM_OSM_URL = 'https://nominatim.openstreetmap.org/';
const NOMINATIM_OSM_DEFAULT_PARAMS = {
'format': 'json',
'countrycodes': 'fr',
'addressdetails': 1,
'limit': 10
};
const ESC_KEY_STRING = /^Esc(ape)?/;
 
export function TbPlaces(clientCallback) {
 
/**
* used in this.onSuggestionSelected()
*
* @callback clientCallback
* @param {String} locality
* @param {{lat: number, lng: number }} coordinates
*/
this.clientCallback = clientCallback;
this.searchResults = [];
}
 
TbPlaces.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
TbPlaces.prototype.initForm = function() {
this.places = $('#tb-places');
this.placeLabel = this.places.siblings('label');
this.placesResults = $('.tb-places-results');
this.placesResultsContainer = $('.tb-places-results-container');
this.placesCloseButton = $('.tb-places-close');
};
 
TbPlaces.prototype.initEvts = function() {
if (0 < this.places.length) {
 
this.toggleCloseButton(false);
this.places.off('input').on('input', debounce(this.launchSearch.bind(this), 500));
this.places.off('keydown').on('keydown', debounce(this.handlePlacesKeydown.bind(this), 500));
}
};
 
TbPlaces.prototype.handlePlacesKeydown = function(evt) {
const suggestionEl = $('.tb-places-suggestion'),
isEscape = 27 === evt.keyCode || ESC_KEY_STRING.test(evt.key),
isArrowDown = 40 === evt.keyCode || 'ArrowDown' === evt.key,
isEnter = 13 === evt.keyCode || 'Enter' === evt.key;
 
if (isEscape || isArrowDown || isEnter) {
evt.preventDefault();
 
if (isEscape) {
this.placesCloseButton.trigger('click');
this.places.focus();
} else if(isArrowDown || isEnter) {
if ( 0 < suggestionEl.length) {
suggestionEl.first().focus();
} else {
this.launchSearch();
}
}
}
};
 
TbPlaces.prototype.launchSearch = function () {
if (!!this.places.val()) {
const url = NOMINATIM_OSM_URL+'search',
params = {'q': this.places.val()};
 
this.placeLabel.addClass('loading');
$.ajax({
method: "GET",
url: url,
data: {...NOMINATIM_OSM_DEFAULT_PARAMS, ...params},
success: this.nominatimOsmResponseCallback.bind(this),
error: () => {
this.placeLabel.removeClass('loading');
this.handleSearchError();
}
});
}
};
 
TbPlaces.prototype.nominatimOsmResponseCallback = function(data) {
this.places.siblings('label').removeClass('loading');
if (0 < data.length) {
this.searchResults = data;
this.setSuggestions();
this.toggleCloseButton();
this.resetOnClick();
this.onSuggestionSelected();
} else {
this.handleSearchError();
}
};
 
TbPlaces.prototype.setSuggestions = function() {
const lthis = this,
acceptedSuggestions = [];
 
this.placesResults.empty();
this.searchResults.forEach(suggestion => {
if(lthis.validateSuggestionData(suggestion)) {
const locality = suggestion['display_name'];
 
if (locality && !acceptedSuggestions.includes(locality)) {
acceptedSuggestions.push(locality);
lthis.placesResults.append(
'<li class="tb-places-suggestion" data-place-id="'+suggestion['place_id']+'" tabindex="-1">' +
locality +
'</li>'
);
}
}
});
this.placesResultsContainer.removeClass('hidden');
};
 
TbPlaces.prototype.validateSuggestionData = function(suggestion) {
const validGeometry = undefined !== suggestion.lat && undefined !== suggestion.lon,
validAddressData = undefined !== suggestion.address,
validDisplayName = undefined !== suggestion['display_name'];
 
return (validGeometry && validAddressData && validDisplayName);
};
 
TbPlaces.prototype.onSuggestionSelected = function() {
const lthis = this;
 
$('.tb-places-suggestion').off('click').on('click', function (evt) {
const $thisSuggestion = $(this),
suggestion = lthis.searchResults.find(suggestion => suggestion['place_id'] === $thisSuggestion.data('placeId'));
 
evt.preventDefault();
 
lthis.places.val($thisSuggestion.text());
lthis.clientCallback(suggestion);
lthis.placesCloseButton.trigger('click');
 
}).off('keydown').on('keydown', function (evt) {
evt.preventDefault();
 
const $thisSuggestion = $(this);
 
if (13 === evt.keyCode || 'Enter' === evt.key) {
$thisSuggestion.trigger('click');
} else if (38 === evt.keyCode || 'ArrowUp'=== evt.key) {
if(0 < $thisSuggestion.prev().length) {
$thisSuggestion.prev().focus();
} else {
lthis.places.focus();
}
} else if((40 === evt.keyCode || 'ArrowDown' === evt.key) && 0 < $thisSuggestion.next().length) {
$thisSuggestion.next().focus();
} else if (27 === evt.keyCode || ESC_KEY_STRING.test(evt.key)) {
lthis.placesCloseButton.trigger('click');
lthis.places.focus();
}
});
};
 
TbPlaces.prototype.resetOnClick = function () {
const lthis = this;
 
this.placesCloseButton.off('click').on('click', function (event) {
event.preventDefault();
lthis.resetPlacesSearch();
});
};
 
TbPlaces.prototype.toggleCloseButton = function(isShow = true) {
this.placesCloseButton.toggleClass('hidden', !isShow);
$('.tb-places-search-icon').toggleClass('hidden', isShow);
};
 
TbPlaces.prototype.handleSearchError = function() {
this.resetPlacesSearch();
if (0 === $('#tb-places-error').length) {
this.places.closest('#tb-places-zone').after(
`<span id="tb-places-error" class="error mb-3 mt-3">
Votre recherche n’a rien donné.<br>veuillez modifier votre recherche ou rechercher votre station directement sur la carte.
</span>`
);
setTimeout(function() {
$('#tb-places-error').remove();
}, 5000);
}
};
 
TbPlaces.prototype.resetPlacesSearch = function() {
this.toggleCloseButton(false);
this.placesResultsContainer.addClass('hidden');
this.placesResults.empty();
};
 
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetSaisie.js
New file
0,0 → 1,746
import {WidgetsSaisiesCommun,utils} from './WidgetsSaisiesCommun.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur WidgetSaisie par défaut
*/
function WidgetSaisie( ) {
if ( valOk(widgetProp) ) {
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
this.idProjet = widgetProp.idProjet;
this.tagsMotsCles = widgetProp.tagsMotsCles;
this.mode = widgetProp.mode;
this.langue = widgetProp.langue;
this.serviceAnnuaireIdUrl = widgetProp.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = widgetProp.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = widgetProp.serviceNomCommuneUrlAlt;
this.debug = widgetProp.debug;
this.html5 = widgetProp.html5;
this.serviceSaisieUrl = widgetProp.serviceSaisieUrl;
this.serviceObsUrl = widgetProp.serviceObsUrl;
this.chargementImageIconeUrl = widgetProp.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = widgetProp.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = widgetProp.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = widgetProp.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = widgetProp.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = widgetProp.dureeMessage;
this.obsMaxNbre = widgetProp.obsMaxNbre;
this.tagImg = widgetProp.tagImg;
this.tagObs = widgetProp.tagObs;
this.obsId = widgetProp.obsId;
this.nomSciReferentiel = widgetProp.nomSciReferentiel;
this.especeImposee = widgetProp.especeImposee;
this.infosEspeceImposee = widgetProp.infosEspeceImposee;
this.referentielImpose = widgetProp.referentielImpose;
this.isTaxonListe = widgetProp.isTaxonListe;
}
this.urlRacine = window.location.origin;
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.observer = null;
this.isASL = false;
this.geoloc = {};
}
WidgetSaisie.prototype = new WidgetsSaisiesCommun();
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetSaisie.prototype.initForm = function() {
this.initFormConnection();
if ( valOk( this.obsId ) ) {
this.chargerInfoObs();
}
if( this.isTaxonListe ) {
this.initFormTaxonListe();
} else {
this.ajouterAutocompletionNoms();
}
// au rafraichissement de la page,
// les input date semblent conserver la valeur entrée précedemment
// c'est voulu après la création d'une obs mais pas quand la page est actualisée
// Déjà tenté: onbeforeunload avec un location.reload(true) n'a pas permis de le faire
$( 'input[type=date]' ).each( function () {
( valOk( $( this ).data( 'default' ) ) ) ? $( this ).val( $( this ).data( 'default' ) ) : $( this ).val( '' );
});
this.configurerFormValidator();
this.definirReglesFormValidator();
 
if( this.especeImposee ) {
$( '#taxon' ).attr( 'disabled', 'disabled' );
$( '#taxon-input-groupe' ).attr( 'title', '' );
// Bricolage cracra pour avoir le nom retenu avec auteur (nom_retenu.libelle ne le mentionne pas)
const infosEspeceImposee = $.parseJSON( this.infosEspeceImposee );
let nomRetenuComplet = infosEspeceImposee.nom_retenu_complet;
const debutAnneRefBiblio = nomRetenuComplet.indexOf( ' [' );
 
if ( -1 !== debutAnneRefBiblio ) {
nomRetenuComplet = nomRetenuComplet.substr( 0, debutAnneRefBiblio );
}
// fin bricolage cracra
const infosAssociee = {
label : infosEspeceImposee.nom_sci_complet,
value : infosEspeceImposee.nom_sci_complet,
nt : infosEspeceImposee.num_taxonomique,
nomSel : infosEspeceImposee.nom_sci,
nomSelComplet : infosEspeceImposee.nom_sci_complet,
numNomSel : infosEspeceImposee.id,
nomRet : nomRetenuComplet,
numNomRet : infosEspeceImposee['nom_retenu.id'],
famille : infosEspeceImposee.famille,
retenu : ( 'false' === infosEspeceImposee.retenu ) ? false : true
};
$( '#taxon' ).data( infosAssociee );
}
};
 
/**
* Initialise les écouteurs d'événements
*/
WidgetSaisie.prototype.initEvts = function() {
// identité
this.initEvtsConnection();
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
$( '#referentiel' ).on( 'change', this.surChangementReferentiel.bind( this ) );
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
// Alertes et aides
this.initEvtsAlertes();
// message avant de quitter le formulaire
this.confirmerSortie();
};
 
// Identité Observateur par courriel
WidgetSaisie.prototype.requeterIdentiteCourriel = function() {
const lthis = this,
courriel = $( '#courriel' ).val(),
urlAnnuaire = this.serviceAnnuaireIdUrl + courriel;
 
if ( valOk( courriel ) ) {
$.ajax({
url : urlAnnuaire,
type : 'GET',
success : function( data, textStatus, jqXHR ) {
if ( lthis.debug ) {
console.log( 'SUCCESS: ' + textStatus );
}
if ( valOk( data ) && valOk( data[courriel] ) ) {
const infos = data[courriel];
lthis.surSuccesCompletionCourriel( infos, courriel );
} else {
lthis.surErreurCompletionCourriel();
}
},
error : function( jqXHR, textStatus, errorThrown ) {
if ( lthis.debug ) {
console.log( 'ERREUR: '+ textStatus );
}
lthis.surErreurCompletionCourriel();
},
complete : function( jqXHR, textStatus ) {
if ( lthis.debug ) {
console.log( 'COMPLETE: '+ textStatus );
}
}
});
}
};
 
// se déclanche quand on choisit "Observation sans inscription" mais que le mail entré est incrit à Tela
WidgetSaisie.prototype.surSuccesCompletionCourriel = function( infos, courriel ) {
if ( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) ) {// si quelque chose a foiré après actualisation
if ( !valOk( $( '#warning-identite' ) ) ) {
$( '#zone-courriel' ).before( '<p id="warning-identite" class="warning"><i class="fas fa-exclamation-triangle"></i> ' + this.msgTraduction( 'courriel-connu' ) + '</p>' );
}
$( '#inscription, #zone-prenom-nom, #zone-courriel-confirmation' ).addClass( 'hidden' );
$( '#prenom, #nom, #courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '.nav.control-group' ).addClass( 'error' );
}
};
 
// se déclanche quand on choisit "Observation sans inscription" et qu'effectivement le mail n'est pas connu de Tela
WidgetSaisie.prototype.surErreurCompletionCourriel = function() {
$( '#creation-compte, #zone-prenom-nom, #zone-courriel-confirmation' ).removeClass( 'hidden' );
$( '#warning-identite' ).remove();
$( '.nav.control-group' ).removeClass( 'error' );
$( '#prenom, #nom, #courriel_confirmation' ).val( '' ).removeAttr( 'disabled' );
};
 
WidgetSaisie.prototype.testerLancementRequeteIdentite = function( event ) {
if ( valOk( event.which, true, 13 ) ) {
this.requeterIdentiteCourriel();
event.preventDefault();
event.stopPropagation();
}
};
 
WidgetSaisie.prototype.reduireVoletIdentite = function() {
if ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() ) {
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#bienvenue').removeClass( 'hidden' );
$( '#inscription, #zone-courriel' ).addClass( 'hidden' );
if ( valOk( $( '#nom' ).val() ) && valOk( $( '#prenom' ).val() ) ) {
$( '#zone-prenom-nom' ).addClass( 'hidden' );
$( '#bienvenue-prenom' ).text( ' ' + $( '#prenom' ).val() );
$( '#bienvenue-nom' ).text( ' ' + $( '#nom' ).val() );
} else {
$( '#zone-prenom-nom' ).removeClass( 'hidden' );
$( '#bienvenue-prenom,#bienvenue-nom' ).text( '' );
}
} else {
$( '#bouton-connexion, #creation-compte' ).removeClass( 'hidden' );
$( '#bienvenue').addClass( 'hidden' );
}
};
 
 
WidgetSaisie.prototype.formaterNom = function() {
$( '#nom' ).val( $( '#nom' ).val().toUpperCase() );
};
 
WidgetSaisie.prototype.formaterPrenom = function() {
const prenom = [],
mots = $( '#prenom' ).val().split( ' ' ),
motsLength = mots.length;
 
for ( let i = 0; i < motsLength; i++ ) {
let mot = mots[i],
motMajuscule = '';
 
if ( 0 <= mot.indexOf( '-' ) ) {
const prenomCompose = new Array(),
motsComposes = mot.split( '-' ),
motsComposesLength = motsComposes.length;
 
for ( let j = 0; j < motsComposesLength; j++ ) {
const motSimple = motsComposes[j];
 
motMajuscule = motSimple.charAt(0).toUpperCase() + motSimple.slice(1);
prenomCompose.push( motMajuscule );
}
prenom.push( prenomCompose.join( '-' ) );
} else {
motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
prenom.push( motMajuscule );
}
}
$( '#prenom' ).val( prenom.join( ' ' ) );
};
 
WidgetSaisie.prototype.bloquerCopierCollerCourriel = function() {
this.afficherPanneau( '#dialogue-bloquer-copier-coller' );
 
return false;
};
 
// Préchargement des infos-obs ************************************************/
WidgetSaisie.prototype.chargerInfoObs = function() {
const lthis = this,
urlObs = this.serviceObsUrl + '/' + this.obsId;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( data, textStatus, jqXHR ) {
if ( valOk( data ) ) {
lthis.prechargerForm( data );
} else {
lthis.surErreurChargementInfosObs.bind( lthis );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
lthis.surErreurChargementInfosObs();
}
});
};
 
// @TODO faire mieux que ça !
WidgetSaisie.prototype.surErreurChargementInfosObs = function() {
utils.activerModale( this.msgTraduction( 'erreur-chargement' ) );
};
 
WidgetSaisie.prototype.prechargerForm = function( data ) {
$( '#milieu' ).val( data.milieu );
$( '#commune-nom' ).text( data.zoneGeo );
if( data.hasOwnProperty( 'codeZoneGeo' ) ) {
// TODO: trouver un moyen qui fonctionne lorsqu'on aura d'autres référentiels que INSEE
$( '#commune-insee' ).text( data.codeZoneGeo.replace( 'INSEE-C:', '' ) );
}
 
if( data.hasOwnProperty( 'latitude' ) && data.hasOwnProperty( 'longitude' ) ) {
// $cartoRemplacee = $( '#tb-geolocation' ),
// suffixe = '',
// layer = 'osm',
// zoomInit = 18
const typeLocalisation = $( '#top' ).data( 'type-loc' ),
donnesResetCarto = {
latitude : data.latitude,
longitude : data.longitude,
typeLocalisation : typeLocalisation,
zoom : 18
};
this.transfererCarto( donnesResetCarto );
}
};
 
// Ajouter Obs ****************************************************************/
/**
* Retourne un Array contenant les valeurs des champs étendus
*/
WidgetSaisie.prototype.getObsChpSpecifiques = function() {
const lthis = this,
champs = [],
$thisForm = $( '#form-supp' ),
elements =
'input[type=text]:not(.collect-other),'+
'input[type=checkbox]:checked,'+
'input[type=radio]:checked,'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date],'+
'textarea,'+
'.select',
retour = [];
 
$( elements, $thisForm ).each( function() {
if ( valOk( $( this ).val() ) && ( valOk( $( this ).attr( 'name' ) ) || valOk( $( this ).data( 'name' ) ) ) ) {
const valeur = $( this ).val(),
cle = ( valOk( $( this ).attr( 'name' ) ) ) ? $( this ).attr( 'name' ) : $( this ).data( 'name' );
if ( cle in champs ) {
champs[cle] += ';' + valeur;
} else {
champs[cle] = valeur;
}
}
});
for ( let key in champs ) {
retour.push({ 'cle' : key , 'valeur' : champs[key] });
}
if ( valOk( $( '#coord-lineaire' ).val() ) ) {
retour.push({ 'cle' : 'coordonnees-rue-ou-lineaire' , 'valeur' : $( '#coord-lineaire' ).val() });
}
return retour;
};
 
WidgetSaisie.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
if( !this.especeImposee ) {
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' )
.data( 'nomRet','' )
.data( 'numNomRet', '' )
.data( 'nt', '' )
.data( 'famille', '' );
if( this.isTaxonListe ) {
$( '#taxon-liste' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
$('#taxon-autre').val('');
}
}
if ( valOk( $( '#form-supp' ) ) ) {
$( '#form-supp' ).validate().resetForm();
}
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
WidgetSaisie.prototype.locationHandler = function( location ) {
const locDatas = location.originalEvent.detail;
 
if ( valOk( locDatas ) ) {
console.log( locDatas );
 
const geometry = JSON.stringify( locDatas.geometry ),
altitude = ( valOk( locDatas.elevation ) ) ? locDatas.elevation : '',
pays = ( valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR',
rue = ( valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
let latitude = '',
longitude = '',
coordLineaire = '',
nomCommune = '',
communeInsee = '';
 
if ( valOk( locDatas.geometry.coordinates ) &&
valOk( locDatas.centroid.coordinates ) &&
valOk( locDatas.centroid.coordinates[0] ) &&
valOk( locDatas.centroid.coordinates[1] )
) {
latitude = locDatas.centroid.coordinates[0];
longitude = locDatas.centroid.coordinates[1];
}
if ( valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#geometry' ).val( geometry );
$( '#coord-lineaire' ).val( coordLineaire );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
$( '#station' ).val( rue );
$( '#latitude, #longitude' ).valid();
if ( valOk( $( '#latitude' ).val() ) && valOk( $( '#longitude' ).val() ) ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.warn( 'Error location' );
}
}
 
// Form Validator *************************************************************/
WidgetSaisie.prototype.chpEtendusValidation = function() {
const lthis = this,
$thisForm = $( '#form-supp' ),
elements =
'.checkbox,'+
'.radio,'+
'.checkboxes,'+
'.select,'+
'textarea,'+
'input[type=text]:not(.collect-other),'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date]',
speFields = ['checkbox','radio','checkboxes','select'],
spefieldsCount = speFields.length,
chpSuppValidation = {
rules : {},
messages : {},
minmax : []
},
errors = {},
namesListFields = [];
let picked = '';
 
$( elements, $thisForm ).each( function() {
for( let fieldsClass = 0; spefieldsCount > fieldsClass; fieldsClass++ ) {
const dataName = $( this ).data( 'name' );
 
if ( valOk( $( this ).attr( 'required' ) ) && $( this ).hasClass( speFields[fieldsClass] ) && !valOk( chpSuppValidation.rules[ dataName ] ) ) {
namesListFields.push( dataName );
chpSuppValidation.rules[ dataName ] = { required : true };
if ( valOk( $( '.other', $( this ) ) ) ) {
picked = ( 'select' === speFields[fieldsClass] ) ? ':selected' : ':checked';
chpSuppValidation.rules[ 'collect-other-' + dataName.replace( '[]', '' ) ] = {
required : '#other-' + dataName.replace( '[]', '' ) + picked,
minlength: 1
};
chpSuppValidation.messages[ 'collect-other-' + dataName.replace( '[]', '' ) ] = false;
}
chpSuppValidation.rules[ dataName ]['listFields'] = true;
chpSuppValidation.messages[ dataName ] = 'Ce champ est requis :\nVeuillez choisir une option, ou entrer une valeur autre valide.';
errors[dataName] = '.' + speFields[fieldsClass];
}
}
if ( valOk( $( this ).attr( 'name' ) ) && valOk ( $( this ).attr( 'required' ) ) && 0 > $.inArray( $( this ).attr( 'name' ) , namesListFields ) ) {
chpSuppValidation.rules[ $( this ).attr( 'name' ) ] = { required : true, minlength: 1 };
if(
( valOk( $( this ).attr( 'type' ), true, 'number' ) || valOk( $( this ).attr( 'type' ), true, 'range' ) ) &&
( valOk( $( this )[0].min ) || valOk( $( this )[0].max ) )
) {
chpSuppValidation.rules[ $( this ).attr('name') ]['minMaxOk'] = true;
chpSuppValidation.messages[ $( this ).attr('name') ] = lthis.validerMinMax( $( this )[0] ).message;
}
}
});
if ( valOk( chpSuppValidation.rules ) ) {
$.each( chpSuppValidation.rules, function( key ) {
if ( !valOk( chpSuppValidation.messages[key] ) ) {
chpSuppValidation.messages[key] = 'Ce champ est requis :\nVeuillez entrer une valeur valide.';
}
});
if ( 0 < Object.keys( errors ).length ) {
chpSuppValidation['errors'] = errors;
}
}
return chpSuppValidation;
};
 
WidgetSaisie.prototype.validerMinMax = function( element ) {
const minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
returnMnMx = { cond : true , message : '' };
let mnMxCond = new Boolean(),
messageMnMx = 'La valeur entrée doit être';
 
if(
( valOk( element.type, true, 'number' ) || valOk( element.type, true, 'range' ) ) &&
( valOk( element.min ) || valOk( element.max ) )
) {
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
return returnMnMx;
 
};
 
WidgetSaisie.prototype.definirReglesFormValidator = function() {
const lthis = this,
formSuppValidation = this.chpEtendusValidation();
 
$( '#form-supp' ).validate({
onclick : function( element ) {
if (
(
valOk( element.type, true, 'checkbox' ) ||
valOk( element.type, true, 'radio' )
) &&
(
!valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':checked' ) ) ||
valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':not(.other):checked' ) ) ||
!valOk( $( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ) ) ||
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) ||
(
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) &&
$( element ).closest( '.control-group' ).hasClass('error')
)
)
) {
$( element ).valid();
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
$( element ).next( $( 'span.error' ) ).remove();
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
return false;
},
rules : formSuppValidation.rules,
messages : formSuppValidation.messages,
errorPlacement : function( error , element ) {
if ( 0 < Object.keys( formSuppValidation.errors ).length ) {
const errorsKeys = Object.keys( formSuppValidation.errors );
let thisKey = '',
errorsFlag = true;
 
for ( let i = 0 ; i < errorsKeys.length ; i++ ) {
thisKey = errorsKeys[i];
if( $( element ).attr( 'name' ) === thisKey ) {
$( formSuppValidation.errors[thisKey] ).append( error );
errorsFlag = false;
}
}
if ( errorsFlag ) {
error.insertAfter( element );
}
} else {
error.insertAfter( element );
}
}
});
$( '#form-supp .select' ).change( function() {
$( this ).valid();
});
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation taxon
// et gestion des messages d'erreur taxon et images en fonction de la certitude
$( '#taxon, #certitude' ).on( 'change', function() {
lthis.validerTaxonRequis( valOk( $( '#taxon' ).val() ) );
});
// Validation miniatures avec MutationObserver
this.surPresenceAbsenceMiniature();
$( '#form-observation' ).validate({
rules : {
date_releve : {
required : true,
'dateCel' : true
},
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
email : true,
'userEmailOk' : true
},
courriel_confirmation : {
required : true,
equalTo : '#courriel'
}
}
});
$( '#connexion,#inscription,#bouton-anonyme' ).on( 'click', function( event ) {
$( '.nav.control-group' ).removeClass( 'error' );
});
};
 
 
WidgetSaisie.prototype.validerCertitudeTaxonImage = function( hasTaxon = false, hasImages = false ) {
if( 'certain' === $( '#certitude' ).val() ) {
return this.validerTaxonRequis( hasTaxon );
} else {
return this.validerImageRequise( hasImages );
}
};
 
WidgetSaisie.prototype.validerTaxonRequis = function( hasTaxon = false ) {
const taxonEstRequis = 'certain' === $( '#certitude' ).val();
 
$( '#photos-conteneur').removeClass( 'error' )
.find( 'span.error' ).hide();
 
if ( !hasTaxon && taxonEstRequis ) {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
} else {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
}
 
if ( taxonEstRequis ) {
return hasTaxon;
}
};
 
WidgetSaisie.prototype.validerImageRequise = function( hasImages = false ) {
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
 
if ( hasImages ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return hasImages;
};
 
WidgetSaisie.prototype.surPresenceAbsenceMiniature = function() {
const lthis = this;
// voir : https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/disconnect
// Selectionne le noeud dont les mutations seront observées
const targetNode = document.getElementById( 'miniatures' );
// Fonction callback à éxécuter quand une mutation est observée
const callback = mutationsList => {
for( let mutation of mutationsList ) {
lthis.validerCertitudeTaxonImage(
valOk( $( '#taxon' ).val() ),
0 < mutation.target.childElementCount
);
}
};
// Créé une instance de l'observateur lié à la fonction de callback
this.observer = new MutationObserver( callback );
// Commence à observer le noeud cible pour les mutations précédemment configurées
this.observer.observe( targetNode, { childList: true } );
};
 
WidgetSaisie.prototype.validerForm = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() ),
obs = $( '#form-observation' ).valid(),
geoloc = ( valOk( $( '#latitude' ).val() ) && valOk( $( '#longitude' ).val() ) ) ,
// validation et panneau taxon/images
certitudeTaxonImage = this.validerCertitudeTaxonImage(
valOk( $( '#taxon' ).val() ),
valOk( $( '#miniatures .miniature' ) )
);
let chpsSupp = true;
 
if ( valOk( $( '#form-supp' ) ) ) {
chpsSupp = ( function () {
let otherFlag = $( '#form-supp' ).valid();
 
if( valOk( $( '.other', $( '#form-supp' ) ) ) ) {
$( '.other', $( '#form-supp' ) ).each( function() {
const picked = ( $( this ).data( 'element' ) !== 'select' ) ? ':checked' : ':selected';
 
if ( $( this ).is( picked ) && valOk( $( this ).val(), true, 'other' ) ) {
otherFlag = false;
}
});
}
 
return otherFlag;
})();
}
// panneau geoloc
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else{
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).addClass( 'error' );
}
return ( observateur && obs && geoloc && certitudeTaxonImage && chpsSupp );
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
WidgetSaisie.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
};
 
 
$( document ).ready( function() {
const widget = new WidgetSaisie();
widget.init();
// Fonctions de Style et Affichage des éléments "spéciaux"
utils.init();
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/ReleveASL.js
New file
0,0 → 1,1018
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur ReleveASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie du relevé et des arbres
*/
// ASL : APA, sTREETs, Lichen's Go!
export function ReleveASL(arbresProp) {
if ( valOk( arbresProp ) ) {
this.sujet = arbresProp.sujet;
this.tagImg = arbresProp.tagImg;
this.separationTagImg = arbresProp.separationTagImg;
this.tagImg = arbresProp.tagImg;
this.tagObs = arbresProp.tagObs;
this.separationTagObs = arbresProp.separationTagObs;
this.nomSciReferentiel = arbresProp.nomSciReferentiel;
this.referentielImpose = arbresProp.referentielImpose;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
ReleveASL.prototype = new WidgetsSaisiesASL();
 
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveASL.prototype.initForm = function() {
const idUtilisateur = $( '#id_utilisateur' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
if( valOk( idUtilisateur ) ) {
if ( valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() ),
releveDatas = $.parseJSON( $( '#releve-data' ).val() );
 
if ( !valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( valOk( $( '.charger-releve' ) ) ) {
const btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm );
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveASL.prototype.initEvts = function() {
const lthis = this;
 
// comportement du bouton nouveau releve
if ( valOk( $( '#id_utilisateur' ).val() ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
}
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
if ( 'tb_streets' !== this.projet ) {
// Gérer une option "aucune" sur plusieurs checkboxes
$( '#face-ombre input' ).on( 'click', function () {
if ( 'aucune' === $( this ).val() ) {
$( '#face-ombre input' ).not( '#aucune' ).prop( 'checked' , false );
} else {
$( '#aucune' ).prop( 'checked' , false );
}
});
}
$( '#soumettre-releve' ).on( 'click', function( event ) {
event.preventDefault();
lthis.saisirArbres();
});
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
 
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
 
const numArbre = $( this ).data( 'arbre-info' );
 
lthis.chargerInfosArbre( numArbre );
lthis.scrollFormTop( '#zone-arbres' );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
 
const numArbre = lthis.numArbre + 1;
 
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
$( '#taxon' )
.val('')
.removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
lthis.scrollFormTop( '#zone-arbres' );
});
// chargement plantes ou lichens
const btnChargementForm = this.determinerBtnsChargementForm( '#' );
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
// Alertes et aides
this.initEvtsAlertes();
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( 'zone-pietonne' === cle || 'pres-lampadaires' === cle ) {
$( 'input[name=' + cle + '][value=' + valeur + ']' , '#zone-observation' ).prop( 'checked', true );
} else if ( valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
if (
valOk( $( '#geometry-releve' ).val() ) &&
valOk( $( '#latitude-releve' ).val() ) &&
valOk( $( '#longitude-releve' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
this.scrollFormTop( '#zone-observation', '#releve-date' )
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
const infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
sujet : {}
};
 
for( let i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.sujet = this.releveDatas[i];
this.lienArbreInfo( infosArbre.sujet['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveASL.prototype.lienArbreInfo = function( numArbre ) {
if ( numArbre == 1 ) {
$( '#bloc-info-arbres-title' ).removeClass( 'hidden' );
}
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
// Ajouter Obs ****************************************************************/
/**
* Etape formulaire avec transfert carto
*/
ReleveASL.prototype.saisirArbres = function() {
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off();
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas,#bouton-nouveau-releve' ).removeClass( 'hidden' );
this.confirmerSortie();
if ( !valOk( $( '#releve-data' ).val() ) ) {
const releveDatasTmp = {
obs : {
ce_utilisateur : $( '#id_utilisateur' ).val(),
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val()
}
};
if ( 'tb_lichensgo' !== this.projet ) {
releveDatasTmp.obsE['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
releveDatasTmp.obsE['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas = this.formaterReleveData(releveDatasTmp);
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
if ( 'tb_lichensgo' !== this.projet ) {
this.releveDatas[0]['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
this.releveDatas[0]['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( let i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
// transfert carto
// $cartoRemplacee = $( '#tb-geolocation' ),
// layer = 'osm',
// zoomInit = 18
const donnesResetCarto = {
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'googleHybrid',
zoomInit : 18
};
 
this.transfererCarto( donnesResetCarto );
this.scrollFormTop( '#zone-arbres' );
}
};
 
ReleveASL.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
let idArbre = 0,
last = false,
urlImgObs = '',
imgDatas = {};
 
for ( let i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
urlImgObs = this.serviceObsImgs + idArbre;
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveASL.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( valOk( idsImg ) ) {
let urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', '000' + idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
} else {
console.dir( lthis.msgTraduction( 'erreur-image' ) + ' : ' + lthis.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.dir( lthis.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveASL.prototype.getObsChpSpecifiques = function( datasArbres ) {
const lthis = this,
retour = [],
champs = [
'rue',
'geometry-releve',
'latitude-releve',
'longitude-releve',
'altitude-releve'
];
 
if ( 'tb_lichensgo' !== this.projet ) {
champs.push(
'zone-pietonne',
'pres-lampadaires',
'surface-pied',
'equipement-pied-arbre',
'tassement',
'dejections',
'com-arbres'
);
}
champs.push(
'rue-arbres',
'circonference'
);
 
let cleValeur = '';
 
$.each( champs, function( i , value ) {
cleValeur = ( 4 > i ) || ( 6 > i && 'tb_lichensgo' !== lthis.projet ) ? 'releve' : 'sujet';
if ( valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
if ( 'tb_streets' !== this.projet ) {
const faceOmbreLength = datasArbres.sujet['face-ombre'].length;
let faceOmbre = '';
 
if ( 'string' === typeof datasArbres.sujet['face-ombre'] ) {
faceOmbre = datasArbres.sujet['face-ombre'];
} else {
$.each( datasArbres.sujet['face-ombre'], function( i ,value ) {
faceOmbre += value
if ( faceOmbreLength > ( i + 1 ) ) {
faceOmbre += ';';
}
});
}
retour.push({ cle : 'face-ombre', valeur : faceOmbre });
}
retour.push({ cle : 'num_arbre' , valeur : datasArbres.obsNum });
 
let stockerImg = valOk( datasArbres.sujet['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.sujet['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.sujet['miniature-img'] ) });
}
return retour;
};
 
ReleveASL.prototype.chargerInfosArbre = function( numArbre ) {
const desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
const releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre];
let taxon = {},
imgHtml = '';
 
$( '#arbre-nb' ).text( numArbre + ' (visualisation)' );
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
 
const selects = [ 'certitude' ];
 
if ( 'tb_lichensgo' !== this.projet ) {
selects.push( 'equipement-pied-arbre', 'tassement' );
}
$.each( selects, function( i, value ) {
if( !valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
if ( $( this ).hasClass( 'other' ) && valOk( $( this ).val() ) ) {
$( this ).text( $( this ).val() );
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val( arbreDatas['rue-arbres'] );
$( '#geometry-arbres' ).val( arbreDatas['geometry-arbres'] );
$( '#latitude-arbres' ).val( arbreDatas['latitude-arbres'] );
$( '#longitude-arbres' ).val( arbreDatas['longitude-arbres'] );
$( '#altitude-arbres' ).val( arbreDatas['altitude-arbres'] );
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
if ( 'tb_lichensgo' !== this.projet ) {
$( '#surface-pied' ).val( arbreDatas['surface-pied'] );
if ( undefined != arbreDatas.dejections ) {
$( '#dejections-oui' ).prop( 'checked', arbreDatas.dejections );
$( '#dejections-non' ).prop( 'checked', !arbreDatas.dejections );
}
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).each( function() {
if ( -1 < arbreDatas['face-ombre'].indexOf( $( this ).val() ) ) {
$( this ).prop( 'checked', true );
} else {
$( this ).prop( 'checked', false );
}
});
}
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveASL.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
let selecteurs =
'#taxon,'+
'#certitude,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#com-arbres,'+
'#ajouter-obs';
 
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
$( '#dejections' ).find( 'input' ).prop( 'disabled', desactiver );
}
$( selecteurs ).prop( 'disabled', desactiver );
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'disabled', desactiver );
}
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
// typeLocalisation = 'point',
// zoomInit = 18
const donnesResetCarto = {
cartoRemplacee : $( '#tb-geolocation-arbres' ),
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'googleHybrid',
zoomInit : 18
};
 
this.transfererCarto( donnesResetCarto );
// retour aux valeurs par defaut
selecteurs = '#certitude option';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs += ',#equipement-pied-arbre option,#tassement option';
$( '#equipement-pied-arbre .other' ).text( 'Autre' ).val( 'other' );
$( '#collect-other-equipement-pied-arbre' ).closest( '.control-group' ).remove();
$( '#dejections' ).find( 'input' ).prop( 'checked', false );
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'checked', false );
}
$( selecteurs ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
this.supprimerMiniatures();
selecteurs =
'#circonference,'+
'#com-arbres,'+
'#rue-arbres,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
}
$( selecteurs ).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveASL.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveASL.prototype.locationHandler = function( location ) {
const lthis = this,
isGeolocArbres = ( 'tb-geolocation-arbres' === location.target.id ),
locDatas = location.originalEvent.detail;
 
if ( valOk( locDatas ) ) {
console.dir( locDatas );
 
const rue = ( valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '',
altitude = ( valOk( locDatas.elevation ) ) ? locDatas.elevation : '',
pays = ( valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR',
geometry = JSON.stringify( locDatas.geometry );
let latitude = '',
longitude = '',
nomCommune = '',
communeInsee = '';
 
if ( valOk( locDatas.geometry.coordinates ) &&
valOk( locDatas.centroid.coordinates ) &&
valOk( locDatas.centroid.coordinates[0] ) &&
valOk( locDatas.centroid.coordinates[1] )
) {
latitude = locDatas.centroid.coordinates[0];
longitude = locDatas.centroid.coordinates[1];
}
if ( !isGeolocArbres ) {
if ( valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#geometry-releve' ).val( geometry );
$( '#latitude-releve' ).val( latitude );
$( '#longitude-releve' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude-releve' ).val( altitude );
$( '#pays' ).val( pays );
$( '#latitude-releve, #longitude-releve' ).valid();
if ( valOk( $( '#rue' ).val() ) && valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' )
.removeClass( 'hidden' )
.closest( '.control-group' )
.addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( valOk( $( '#rue' ).val() ) && valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
$( '#rue-arbres' ).val( rue );
$( '#geometry-arbres' ).val( geometry );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
$( '#latitude-arbres, #longitude-arbres' ).valid();
if ( valOk( $( '#latitude-arbres' ).val() ) && valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
}
this.geoloc.map.setView([latitude, longitude], 18);
} else {
console.dir( 'Error location' );
}
};
 
// Form Validator *************************************************************/
ReleveASL.prototype.validerMinMax = function( element ) {
const minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max );
let mnMxCond = new Boolean(),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( valOk( element.type, true, 'number' ) || valOk( element.type, true, 'range' ) ) &&
( valOk( element.min ) || valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveASL.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
let valide = true;
 
if (
valOk( $( '#dates-rues-communes' ).val() ) &&
valOk( valeurDate ) &&
valOk( valeurRue ) &&
valOk( valeurCmn )
) {
const valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
 
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveASL.prototype.dateRueCommuneFormValidator = function() {
const dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( valOk( $( '#commune-nom' ).val() ) && valOk( $( '#rue' ).val() ) ),
errorDateRue =
'<span id="error-drc" class="error">'+
this.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
'zone-pietonne' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1
},
'latitude-releve' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-releve' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbres' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1
},
'surface-pied' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1,
'minMaxOk' : true
},
'equipement-pied-arbre' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1
},
'face-ombre' : {
required : function() {
return( 'tb_streets' !== lthis.projet );
},
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
if ( 'tb_lichensgo' !== this.projet ) {
$( '#equipement-pied-arbre' ).change( function() {
if ( valOk( $( this ).val(), false, 'other' ) ) {
$( this )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
}
});
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).on( 'click', function() {
let oneIsChecked = false;
$( '#face-ombre input' ).each( function() {
if ( $( this ).is( ':checked' ) ) {
oneIsChecked = true;
return false;
}
});
if ( oneIsChecked ) {
$( '#face-ombre.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#face-ombre.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
});
}
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveASL.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() ),
obs = $( '#form-observation' ).valid(),
geoloc = (
valOk( $( '#latitude-releve' ).val() ) &&
valOk( $( '#longitude-releve' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#commune-nom' ).val() )
);
let dateRue = true;
 
if ( valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
valOk( $( '#releve-date' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
if ( !obs ) {
this.scrollFormTop( '#zone-observation' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
valOk( $( '#releve-date' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!valOk( $( '#releve-date' ).val() ) ||
!valOk( $( '#rue' ).val() ) ||
!valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return (observateur && obs && geoloc && dateRue);
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveASL.prototype.validerForm = function() {
const validerReleve = this.validerReleve(),
geoloc = (
valOk( $( '#latitude-arbres' ).val() ) &&
valOk( $( '#longitude-arbres' ).val() )
),
taxon = valOk( $( '#taxon' ).val() );
let piedArbre = true;
 
if ( 'tb_lichensgo' !== this.projet ) {
piedArbre = valOk( $( '#equipement-pied-arbre' ).val(), false, 'other' );
if ( piedArbre ) {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
}
 
const obs = (
$( '#form-arbres' ).valid() &&
$( '#form-arbre-fs' ).valid() &&
piedArbre
);
 
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/PlantesEtLichensASL.js
New file
0,0 → 1,247
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur PlantesEtLichensASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie des plantes ou des lichens
*/
// ASL : APA, sTREETs, Lichen's Go!
export function PlantesEtLichensASL(plantesEtLichensProp) {
if ( valOk( plantesEtLichensProp ) && valOk( widgetProp ) ) {
this.sujet = plantesEtLichensProp.sujet;
this.tagImg = plantesEtLichensProp.tagImg;
this.separationTagImg = plantesEtLichensProp.separationTagImg;
this.tagImg = plantesEtLichensProp.tagImg;
this.tagObs = plantesEtLichensProp.tagObs;
this.separationTagObs = plantesEtLichensProp.separationTagObs;
this.nomSciReferentiel = plantesEtLichensProp.nomSciReferentiel;
this.referentielImpose = plantesEtLichensProp.referentielImpose;
this.tagsMotsCles = widgetProp.tagsMotsCles + ',' + this.sujet;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
PlantesEtLichensASL.prototype = new WidgetsSaisiesASL();
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
PlantesEtLichensASL.prototype.initForm = function() {
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
this.initFormTaxonListe();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
PlantesEtLichensASL.prototype.initEvts = function() {
const idUtilisateur = $( '#id_utilisateur' ).val();
 
if( valOk( idUtilisateur ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
if( valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
// Sur téléchargement image
this.initEvtsFichier();
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
 
// chargement plantes ou lichens, ajout du bouton #poursuivre
const btnChargementForm = this.determinerBtnsChargementForm( '#', true );
 
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
if ( 'lichens' === this.sujet ) {
this.checkboxToutesLesFaces();
}
// Alertes et aides
this.initEvtsAlertes();
}
}
}
};
 
// Ajouter Obs ****************************************************************/
PlantesEtLichensASL.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
if ( 'lichens' === this.sujet ) {
$( 'input[name=lichens-tronc]:checked' ).each( function() {
$( this ).prop( 'checked', false );
});
}
};
 
PlantesEtLichensASL.prototype.checkboxToutesLesFaces = function() {
$('input[name=lichens-tronc]').on( 'click', function( event ) {
const face = $( this ).data( 'face' );
 
if ( $( this ).is( ':checked' ) ) {
if( $( this ).hasClass( 'lichens-tronc-all' ) ) {
for ( let i = 1; i <= 5 ; i++ ) {
$( '#lichens-tronc-' + face + i ).prop( 'checked', false );
}
} else {
$( '#lichens-tronc-all-' + face ).prop( 'checked', false );
}
}
 
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
PlantesEtLichensASL.prototype.getObsChpSpecifiques = function( numArbre ) {
const retour = [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
];
 
if ( 'lichens' === this.sujet ) {
const $lichensTronc = $( 'input[name=lichens-tronc]:checked' ),
LTLenght = $lichensTronc.length;
let valeursLT = '';
 
$( 'input[name=lichens-tronc]:checked' ).each( function( i, value ) {
valeursLT += $(value).val();
if( i < LTLenght ) {
valeursLT += ';';
}
});
retour.push({ cle : 'loc-sur-tronc', valeur : valeursLT });
}
 
return retour;
};
 
// Form Validator *************************************************************/
PlantesEtLichensASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
const images = valOk( $( '#miniatures .miniature' ) );
 
lthis.validerTaxonImage( valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-' + this.sujet ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
PlantesEtLichensASL.prototype.validerTaxonImage = function( taxon = false, images = false ) {
const taxonOuImage = images || taxon;
 
if ( taxonOuImage ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
 
return taxonOuImage;
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
PlantesEtLichensASL.prototype.validerForm = function() {
const images = valOk( $( '#miniatures .miniature' ) ),
taxon = valOk( $( '#taxon' ).val() ),
taxonOuImage = this.validerTaxonImage( taxon, images ),
observateur = $( '#form-observateur' ).valid() && $( '#courriel' ).valid(),
obs = $( '#form-' + this.sujet ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetsSaisiesCommun.js
New file
0,0 → 1,1840
import {Geoloc} from './tb-geoloc/js/Geoloc.js';
import {Utils,valOk} from './Utils.js';
 
export const utils = new Utils();
/**
* WidgetsSaisiesCommun
* Methodes communes aux widgets de saisie
*/
export function WidgetsSaisiesCommun(){}
 
WidgetsSaisiesCommun.prototype.init = function() {
this.geoloc = new Geoloc();
// ASL : APA, sTREETs, Lichen's Go!
// const ASL = ['tb_aupresdemonarbre','tb_streets','tb_lichensgo'];
// this.isASL = ( valOk( this.projet ) && -1 < $.inArray( this.projet , ASL ) );
this.initForm();
this.initEvts();
};
 
WidgetsSaisiesCommun.prototype.initFormConnection = function() {
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
if ( this.isASL ) {
$( '#mdp' ).val( '' );
$( '#oublie' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
}
};
 
WidgetsSaisiesCommun.prototype.initFormTaxonListe = function() {
const lthis = this;
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.dir( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsConnection = function() {
const lthis = this;
 
this.chargerStatutSSO();
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).on( 'click', function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
$( '#deconnexion a' ).on( 'click', function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
if ( !this.isASL ) {
$( '#bouton-anonyme' ).on( 'click', function( event ) {
lthis.arreter( event );
$( this ).css({
'background-color': 'rgba(0, 159, 184, 0.7)',
'color': '#fff'
});
$( '#identite' ).removeClass( 'hidden' );
$( '#courriel' ).focus();
});
if ( '' === $( '#nom-complet').text() ) {
$( '#courriel' ).on( 'blur', this.requeterIdentiteCourriel.bind( this ) );
$( '#courriel' ).on( 'keypress', this.testerLancementRequeteIdentite.bind( this ) );
}
$( '#prenom' ).on( 'change', function() {
lthis.formaterPrenom();
lthis.reduireVoletIdentite();
});
$( '#nom' ).on( 'change', function() {
lthis.formaterNom();
lthis.reduireVoletIdentite();
});
$( '#courriel_confirmation' ).on( 'paste', this.bloquerCopierCollerCourriel.bind( this ) );
$( '#courriel_confirmation' ).on( 'blur', this.reduireVoletIdentite.bind( this ) );
$( '#courriel_confirmation' ).on( 'keypress', function( event ) {
if ( valOk( event.which, true, 13 ) ) {
lthis.reduireVoletIdentite();
event.preventDefault();
event.stopPropagation();
}
});
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsFichier = function() {
const lthis = this;
 
const fileInputFonctionne = () => {
const ua = navigator.userAgent;
 
if (
ua.match( /(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/ ) ||
ua.match( /\swv\).+(chrome)\/([\w\.]+)/i )
) {
return false;
}
 
const elem = document.createElement( 'input' );
 
elem.type = 'file';
 
return !elem.disabled;
}
 
if ( fileInputFonctionne() ) {
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( event ) {
lthis.arreter ( event );
 
const options = {
beforeSend : function ( jqXHR, settings ) {
$( '#miniatures' ).on( 'click', '.effacer-miniature', function() {
jqXHR.abort(jqXHR);
});
},
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
},
imgCheminTmp = $( '#fichier' ).val(),
parts = imgCheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
formatImgOk = lthis.verifierFormat( nomImage ),
imgNonDupliquee = lthis.verifierDuplication( nomImage );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
$( '#miniatures' ).append(
'<div class="miniature mr-3 miniature-chargement loading">'+
'<img class="miniature-img chargement-img" alt="chargement" src="' + lthis.chargementImageIconeUrl + '" style="min-height:100%;"/>'+
'<a class="effacer-miniature">Supprimer</a>'+
'</div>'
);
$( '#ajouter-obs' ).addClass( 'hidden' );
$( '#message-chargement' ).removeClass( 'hidden' );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
utils.activerModale( lthis.msgTraduction( 'format-non-supporte' ) + ' : ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
utils.activerModale( lthis.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
if ( !valOk( $('.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
});
} else {
$( '#form-upload' )
.addClass( 'hidden' )
.after(
'<div class="alert alert-info" role="alert">'+
this.msgTraduction( 'upload-non-suppote' )+
'</div>'
);
}
 
};
 
WidgetsSaisiesCommun.prototype.initEvtsGeoloc = function( isFormArbre = false ) {
const lthis = this;
 
let ancre = '-observation',
complementSelecteur = '';
 
if ( isFormArbre ) {
ancre = '-arbres';
complementSelecteur = ancre;
}
 
const $mapEl = $( '#tb-geolocation' + complementSelecteur );
 
if( valOk( $mapEl ) ) {
const typeLocalisation = $mapEl.data( 'typeLocalisation' ) || 'point';
 
this.geoloc.init(complementSelecteur);
$( '#coord' ).toggleClass( 'hidden', 'point' !== typeLocalisation );
// evenement location
$mapEl.on( 'location' , this.locationHandler.bind( this ) );
 
if ( 'rue' === typeLocalisation ) {
$( '#geoloc-label .help-button' ).on( 'click' , function () {
let label = 'Aide : Géolocaliser une rue ou un linéaire',
modaleContent = '<img id="modale-aide-img" src="' + URL_HELP_GEOLOC_POLYLINE + '" style="" alt="photo-aide-geoloc" />';
 
utils.activerModale( label, modaleContent, [] );
});
}
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsObs = function() {
const lthis = this;
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
const buttons = [
{
label : 'Annuler',
class : 'btn-secondary',
dismiss : true
},
{
label : 'Confirmer',
class : 'btn-success confirmer',
dismiss : true
}
];
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
const that = this,
suppObs = lthis.supprimerObs.bind( lthis );
 
utils.activerModale( lthis.msgTraduction( 'confirmation-suppression' ), '', buttons );
$( '.confirmer' ).on( 'click', function() {
suppObs( that );
});
});
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
};
 
// Alertes et aides
WidgetsSaisiesCommun.prototype.initEvtsAlertes = function() {
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
};
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetsSaisiesCommun.prototype.chargerStatutSSO = function() {
const lthis = this;
let urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
if( this.isASL) {
$( '#connexion' ).on( 'click', function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !valOk( $( '#nom-complet' ).text() ) ) {
const login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
 
if ( valOk( login ) && valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
utils.activerModale( lthis.msgTraduction( 'non-connexion' ) );
}
}
});
}
} else {
urlAuth = this.urlWidgets + 'modules/saisie/test-token.json';
// Pour tester le bouton de connexion :
// $( '#connexion' ).on( 'click', function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetsSaisiesCommun.prototype.deconnecterUtilisateur = function() {
const urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetsSaisiesCommun.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
WidgetsSaisiesCommun.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
let idUtilisateur = '',
prenom = '',
nom = '',
nomComplet = '',
courriel = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
idUtilisateur = this.infosUtilisateur.id;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#utilisateur-connecte, #identite' ).removeClass( 'hidden' );
if ( this.isASL ) {
$( '#bloc-connexion' ).addClass( 'hidden' );
} else {
$( '#courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '#prenom' ).attr( 'disabled', 'disabled' );
$( '#nom' ).attr( 'disabled', 'disabled' );
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#zone-courriel, #zone-prenom-nom' ).addClass( 'hidden' );
$( '#date-releve' ).focus();
}
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/me' );
if ( this.isASL ) {
if ( valOk( idUtilisateur ) ) {
const nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.chargerForm( nomSquelette, thisObj );
}
} else {
$( '.warning' ).remove();
$( '#courriel_confirmation' ).val( courriel );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetsSaisiesCommun.prototype.decoderJeton = function( jeton ) {
const parts = jeton.split( '.' );
let payload = parts[1];
 
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
 
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetsSaisiesCommun.prototype.b64d = function( input ) {
const remainder = input.length % 4;
 
if ( 0 !== remainder ) {
const padlen = 4 - remainder;
 
for ( let i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
 
return atob( input );
};
 
WidgetsSaisiesCommun.prototype.urlSiteTb = function() {
const urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// uniquement utilisé si taxon-liste ******************************************/
/**
* Affiche/Cache le champ taxon
*/
WidgetsSaisiesCommun.prototype.surChangementTaxonListe = function() {
if ( valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.on( 'change', function() {
if( !valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() )
.data( 'value', $( '#taxon-autre' ).val() )
.removeData([
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
WidgetsSaisiesCommun.prototype.surChangementValeurTaxon = function() {
if( valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
const optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
 
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
const numNomSel = $( '#taxon' ).data( 'numNomSel' );
 
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
WidgetsSaisiesCommun.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
let taxonSelecteur = '#taxon';
 
if ( valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
const url = lthis.getUrlAutocompletionNomsSci();
 
$( '#taxon-autocomplete-label' ).addClass( 'loading' );
$.getJSON( url, requete, function( data ) {
let suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
})
.always(function() {
$( '#taxon-autocomplete-label' ).removeClass( 'loading' );
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
WidgetsSaisiesCommun.prototype.getUrlAutocompletionNomsSci = function() {
let taxonSelecteur = '#taxon';
 
if ( valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
const mots = $( taxonSelecteur ).val(),
url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
 
return url.replace( '{masque}', mots );
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
WidgetsSaisiesCommun.prototype.traiterRetourNomsSci = function( data ) {
let taxonSelecteur = '#taxon',
suggestions = [];
 
if ( valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
const nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
WidgetsSaisiesCommun.prototype.surAutocompletionTaxon = function( event, ui ) {
if ( valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
WidgetsSaisiesCommun.prototype.afficherMiniature = function( reponse ) {
const message = $( 'message', reponse ).text(),
$blocMiniature = $( '#miniatures .miniature.loading').first();
 
if( valOk( $blocMiniature ) ) {
if ( valOk( message ) ) {
$( '.miniature-msg' ).text( message );
$blocMiniature.remove();
 
} else {
this.creerWidgetMiniature( reponse, $blocMiniature );
$blocMiniature.removeClass('loading');
}
if ( !valOk( $( '.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
}
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
WidgetsSaisiesCommun.prototype.creerWidgetMiniature = function( reponse, $blocMiniature ) {
const miniatureUrl = $( 'miniature-url', reponse ).text(),
imgNom = $( 'image-nom', reponse ).text();
 
$blocMiniature.removeClass( 'miniature-chargement' );
$( '.miniature-img', $blocMiniature )
.removeClass( 'chargement-img' )
.attr({
'alt' : imgNom,
'src' : miniatureUrl
});
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
WidgetsSaisiesCommun.prototype.verifierFormat = function( nomImage ) {
const parts = nomImage.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
WidgetsSaisiesCommun.prototype.verifierDuplication = function( nomImage ) {
const lthis = this;
let thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
nomImage = nomImage.toLowerCase();
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( valOk ( $( this ).attr( 'alt' ) ) && $( this ).attr('alt' ).toLowerCase() === nomImage ) {
nonDupliquee = false;
 
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' ).toLowerCase();
if ( valOk( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
 
return false;
}
}
});
 
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Geoloc *********************************************************************/
WidgetsSaisiesCommun.prototype.transfererCarto = function( donnees ) {
const typeLocalisation = donnees.typeLocalisation || 'point',
suffixe = valOk( donnees.suffixe ) ? '-' + donnees.suffixe : '',
formSuffixe = '-arbres' === suffixe ? suffixe : '',
$cartoRemplacee = donnees.cartoRemplacee || $( '#tb-geolocation' ),
latitude = donnees.latitude || '',
longitude = donnees.longitude || '',
zoomInit = donnees.zoomInit || '',
$mapContainer = $cartoRemplacee.closest('#map-container');
 
if ( valOk( formSuffixe ) || 'point' !== typeLocalisation ) {
$mapContainer.siblings('#tb-places-zone').remove();
}
 
if ( 'tb-geolocation' + suffixe !== $cartoRemplacee.attr('id') ) {
$mapContainer.remove();
$( '#geoloc' + suffixe ).append(
'<div id="map-container">'+
'<div'+
' id="tb-geolocation' + suffixe +'"'+
' data-layer="' + donnees.layer + '"'+
' data-zoom="' + zoomInit + '"'+
' data-type-localisation="' + typeLocalisation + '"'+
' data-form-suffix="' + formSuffixe + '"'+
' style="height: 400px;width: 100%"'+
'>'+
'</div>'+
'</div>'
);
 
$( '#coord' ).toggleClass( 'hidden', 'point' !== typeLocalisation );
 
if( valOk( this.geoloc.map ) ) {
this.geoloc.closeMap();
}
 
this.initEvtsGeoloc( true );
} else {
this.geoloc.reSetDrawControl();
}
 
this.geoloc.setMapCoordinates({'lat': latitude, 'lng': longitude});
};
 
// Ajouter Obs ****************************************************************/
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
WidgetsSaisiesCommun.prototype.ajouterObs = function() {
if ( this.isASL ) {
this.scrollFormTop( '#zone-' + this.sujet );
}
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
if ( this.validerForm() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
if ( this.isASL && 'arbres' === this.sujet ) {
this.numArbre += 1;
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
}
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
const obsData = this.formaterFormObsData();
 
this.afficherObs( obsData );
this.stockerObsData( obsData );
if ( this.isASL && 'arbres' === this.sujet ) {
const arbreData = obsData.sujet;
 
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
} else {
this.reinitialiserForm();
}
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
WidgetsSaisiesCommun.prototype.formaterFormObsData = function() {
const obsData = { obsNum : this.obsNbre, sujet : {}},
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
nomSel = $( '#taxon' ).val(),
nomRet = $( '#taxon' ).data( 'nomRet' ),
numNomRet = $( '#taxon' ).data( 'numNomRet' ),
numTaxon = $( '#taxon' ).data( 'nt' ),
famille = $( '#taxon' ).data( 'famille' ),
referentiel = ( valOk( numNomSel ) ) ? this.nomSciReferentiel : 'autre',
certitude = ( valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner';
let imgB64 = [],
imgNom = [],
date = '',
notes = '',
pays = '',
communeNom = '',
communeInsee = '',
geometry = '',
latitude = '',
longitude = '',
altitude = '',
obsEtendue = [];
 
if( !this.isASL ) {
notes = $( '#notes' ).val().trim() || '';
pays = $( '#pays' ).val() || '';
communeNom = $( '#commune-nom' ).val();
communeInsee = $( '#commune-insee' ).val() || '';
geometry = $( '#geometry' ).val();
latitude = $( '#latitude' ).val();
longitude = $( '#longitude' ).val();
altitude = $( '#altitude' ).val();
obsEtendue = this.getObsChpSpecifiques();
date = this.fournirDate( $('#date_releve').val());
} else {
const miniatureImg = [];
 
notes = $( '#commentaire' ).val() || '';
if ( 'arbres' === this.sujet ) {
// Dans ce cas cette fonction doit renvoyer des données au même format que l'input hidden "releve-data"
// car les données dans stockerObsData provenir soit de cette fonction soit de l'input
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' ) || '';
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' ) || '';
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
obsData.sujet = {
'num-arbre' : this.numArbre,
taxon : {
'numNomSel' : numNomSel,
'value' : nomSel,
'nomRet' : nomRet,
'numNomRet' : numNomRet,
'nt' : numTaxon,
'famille' : famille
},
'referentiel' : referentiel,
'certitude' : certitude,
'rue-arbres' : ( $( '#rue-arbres' ).val() ) ? $('#rue-arbres').val() : '',
'geometry-arbres' : $( '#geometry-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'com-arbres' : ( $( '#com-arbres' ).val() ) ? $('#com-arbres').val() : '',
'miniature-img' : miniatureImg
};
obsData.releve = {
'date' : this.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commune-insee' : ( $( '#commune-insee' ).val() ) ? $('#commune-insee').val() : '',
'pays' : ( $( '#pays' ).val() ) ? $('#pays').val() : '',
'commentaires' : notes
};
if ( 'tb_lichensgo' !== this.projet ) {
obsData.sujet['surface-pied'] = $( '#surface-pied' ).val();
obsData.sujet['equipement-pied-arbre'] = $( '#equipement-pied-arbre' ).val();
obsData.sujet['tassement'] = $( '#tassement' ).val() || '';
obsData.sujet['dejections'] = $( '#dejections input:checked' ).val() || '';
obsData.releve['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
obsData.releve['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val() || '';
}
if ( 'tb_streets' !== this.projet ) {
const faceOmbre = [];
 
$( '#face-ombre input' ).each( function() {
if( $( this ).is( ':checked' ) ) {
faceOmbre.push( $( this ).val() );
}
});
obsData.sujet['face-ombre'] = faceOmbre;
}
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
obsData.numArbre = $( '#choisir-arbre' ).val();
pays = this.releveDatas[0].pays || '';
communeNom = this.releveDatas[0]['commune-nom'];
communeInsee = this.releveDatas[0]['commune-insee'] || '';
geometry = this.releveDatas[obsData.numArbre]['geometry-arbres'];
latitude = this.releveDatas[obsData.numArbre]['latitude-arbres'];
longitude = this.releveDatas[obsData.numArbre]['longitude-arbres'];
altitude = this.releveDatas[obsData.numArbre]['altitude-arbres'];
obsEtendue = this.getObsChpSpecifiques( obsData.numArbre );
date = this.fournirDate( $( '#obs-date' ).val() );
}
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
obsData.sujet = {
'num_nom_sel' : numNomSel,
'nom_sel' : nomSel,
'nom_ret' : nomRet,
'num_nom_ret' : numNomRet,
'num_taxon' : numTaxon,
'famille' : famille,
'referentiel' : referentiel,
'certitude' : certitude,
'date' : date,
'notes' : notes,
'pays' : pays,
'commune_nom' : communeNom,
'commune_code_insee' : communeInsee,
'geometry' : geometry,
'latitude' : latitude,
'longitude' : longitude,
'altitude' : altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : obsEtendue
};
if ( !this.isASL ) {
obsData.sujet['lieudit'] = $( '#lieudit' ).val() || '';
obsData.sujet['station'] = $( '#station' ).val() || '';
obsData.sujet['milieu'] = $( '#milieu' ).val() || '';
}
}
return obsData;
};
 
/**
* Affiche une observation dans la liste des observations à transmettre
*/
WidgetsSaisiesCommun.prototype.afficherObs = function( datasObs ) {
// différences html liéees au responsive
let responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ( !this.isASL ) ? ' col-md-2 col-sm-4' : ' col-md-4 col-sm-5';
responsivDiff5 = ( !this.isASL ) ? ' class="col-md-9 col-sm-7"' : ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
 
const obsNum = datasObs.obsNum;
let numNomSel = datasObs.sujet['num_nom_sel'] || '',
taxon = '',
miniatures = '',
notes = '',
commentaires = '',
date = '',
geometry = '',
latitude = '',
longitude = '',
coordonnees = '',
commune = '',
lieuObs = '',
inseeCommune = '',
inseeCommuneText = '',
referentiel = '',
nn = '',
lieudit = '',
station = '',
milieu = '',
certitude = '',
numArbre = '',
obsArbre = '';
 
if ( !this.isASL ) {
geometry = datasObs.sujet['geometry'] || '';
latitude = datasObs.sujet['latitude'] || '';
longitude = datasObs.sujet['longitude'] || '';
inseeCommune = datasObs.sujet['commune_code_insee'] || '';
commune = datasObs.sujet['commune_nom'] || '';
if ( valOk( inseeCommune ) ) {
inseeCommuneText = '(INSEE Commune:' + inseeCommune + ') ';
}
if ( valOk( numNomSel ) ) {
referentiel = '<span class="referentiel-obs">' + '[' + datasObs.sujet['referentiel'] + ']' + '</span>';
}
if ( valOk( datasObs.sujet['lieudit'] ) ) {
lieudit = '<span>' + this.msgTraduction( 'lieu-dit' ) + ' :</span> ' + datasObs.sujet['lieudit'] + ' ';
}
if ( valOk( datasObs.sujet['station'] ) ) {
station = '<span>' + this.msgTraduction( 'station' ) + ' :</span> ' + datasObs.sujet['station'] + ' ';
}
if ( valOk( datasObs.sujet['milieu'] ) ) {
milieu = '<span>' + this.msgTraduction( 'milieu' ) + ' :</span> ' + datasObs.sujet['milieu'] + ' ';
}
nn = this.ajouterNumNomSel( numNomSel );
} else {
certitude = ' [certitude : ' + datasObs.sujet.certitude + ']';
if ( 'arbres' === this.sujet ) {
numArbre = datasObs.sujet['num-arbre'];
numNomSel = datasObs.sujet.taxon.numNomSel;
taxon = datasObs.sujet.taxon.value;
miniatures = this.ajouterImgMiniatureAuTransfert(datasObs.sujet['miniature-img'] );
notes = datasObs.sujet['com-arbres'] || '';
geometry = datasObs.sujet['geometry-arbres'];
latitude = datasObs.sujet['latitude-arbres'];
longitude = datasObs.sujet['longitude-arbres'];
// s'assurer que la date est au bon format
date = this.fournirDate( datasObs.releve.date );
commune = datasObs.releve['commune-nom'] || '';
} else {
numArbre = datasObs.numArbre;
}
obsArbre = '<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>';
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
taxon = datasObs.sujet['nom_sel'];
miniatures = this.ajouterImgMiniatureAuTransfert();
notes = datasObs.sujet['notes'] || '';
date = this.fournirDate( datasObs.sujet.date );
}
if( !this.isASL || 'arbres' === this.sujet ) {
if ( valOk( commune ) ) {
lieuObs = ' ' + this.msgTraduction( 'lieu-obs' ) + ' ' + '<span class="commune">' + commune + '</span> ';
}
if ( valOk( latitude ) && valOk( longitude ) ) {
coordonnees = '[' + latitude + ' / ' + longitude + ']';
}
}
if ( valOk( notes ) ) {
commentaires =
this.msgTraduction( 'commentaires' ) +
' : <span>'+
notes +
'</span> ';
}
// html du bloc résumé de l'obs
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures +
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
// isASL
obsArbre +
// toujours
'<span class="nom-sci">' + taxon + '</span> '+
// !isASL
nn +
referentiel +
// isASL
certitude +
// !this.isASL || 'arbres' === this.sujet
lieuObs +
// !isASL
inseeCommuneText +
// !this.isASL || 'arbres' === this.sujet
coordonnees +
// toujours
' ' + this.msgTraduction( 'obs-le' ) + ' '+
'<span class="date">' + date + '</span>'+
'</li>'+
'<li>'+
// !isASL
lieudit +
station +
milieu +
'</li>'+
'<li>'+
// valOk( notes )
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
 
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
WidgetsSaisiesCommun.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages = undefined ) {
const lthis = this;
let html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( valOk( chargerImages ) || valOk( $( '#miniatures img' ) ) ) {
if ( valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
let imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee',
css = ( valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
} else {
let premiere = true;
$( '#miniatures img' ).each( function() {
let imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
 
premiere = false;
 
let css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
WidgetsSaisiesCommun.prototype.ajouterNumNomSel = function( numNomSel ) {
let nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
WidgetsSaisiesCommun.prototype.stockerObsData = function( obsDatas ) {
if ( this.isASL && 'arbres' === this.sujet ) {
// Dans ce cas la fonction formaterFormObsData renvoie des données au même format que l'input hidden "releve-data"
// car les données peuvent provenir soit de la formaterFormObsData soit de cet input
const lthis = this;
// si releve dupliqué on ne stocke pas l'image :
let stockerImg = valOk( obsDatas.sujet['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
// Si on a bien un 'miniature-img' dans les données
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
// Si les miniatures ne sont pas déjà stockées (résultat de la loop précédente)
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'] , function( i, obj ) {
if( valOk( obj.nom ) ) {
imgNom.push( obj.nom );
}
if( valOk( obj['b64'] ) ) {
imgB64.push( obj['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, {
'num_nom_sel' : obsDatas.sujet.taxon.numNomSel,
'nom_sel' : obsDatas.sujet.taxon.value,
'nom_ret' : obsDatas.sujet.taxon.nomRet,
'num_nom_ret' : obsDatas.sujet.taxon.numNomRet,
'num_taxon' : obsDatas.sujet.taxon.nt,
'famille' : obsDatas.sujet.taxon.famille,
'referentiel' : obsDatas.sujet.referentiel,
'certitude' : obsDatas.sujet.certitude,
// La date provenant de input "releve-data" n'est pas au bon format
'date' : this.fournirDate( obsDatas.releve.date ),
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'geometry' : obsDatas.sujet['geometry-arbres'],
'latitude' : obsDatas.sujet['latitude-arbres'],
'longitude' : obsDatas.sujet['longitude-arbres'],
'altitude' : obsDatas.sujet['altitude-arbres'],
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpSpecifiques( obsDatas )
});
} else {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, obsDatas.sujet );
}
};
 
WidgetsSaisiesCommun.prototype.getNomsImgsOriginales = function() {
const noms = [];
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
WidgetsSaisiesCommun.prototype.getB64ImgsOriginales = function() {
const b64 = [];
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniatures = function() {
if ( !this.isASL ) {
// Déconnection MutationObserver miniatures
// Sinon on a une erreur avant la création d'une nouvelle obs
this.observer.disconnect();
$( '#miniatures' ).empty();
// Validation miniatures reprend à 0 pour une nouvelle obs
this.surPresenceAbsenceMiniature();
} else {
$( '#miniatures' ).empty();
}
$( '#miniature-msg' ).empty();
};
 
WidgetsSaisiesCommun.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
if ( this.isASL && 'arbres' === this.sujet ) {
if ( 0 <= this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else {
$( '#bloc-form-arbres' ).addClass( 'hidden' );
}
}
};
 
WidgetsSaisiesCommun.prototype.defilerMiniatures = function( element ) {
const miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
let miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
WidgetsSaisiesCommun.prototype.supprimerObs = function( selector ) {
let obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
WidgetsSaisiesCommun.prototype.supprimerObsParId = function( obsId, transmission = false ) {
let arbreExId = 0,
arbreId = 0;
 
if ( this.isASL && 'arbres' === this.sujet ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
this.numArbre -= 1;
if ( 1 > this.numArbre ) {
$( '#bloc-info-arbres-title' ).addClass( 'hidden' );
}
}
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
obsId = parseInt(obsId);
 
if ( !transmission ) {
const listObsData = $( '#liste-obs' ).data();
let exId = 0,
indexObs = '',
exIndexOb = '';
 
for ( let id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
 
if ( this.isASL && 'arbres' === this.sujet ) {
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
// modification du numero d'arbre dans les obs étendues
if ( valOk( listObsData[exIndexObs] ) ) {
$.each( listObsData[exIndexObs].obs_etendue, function( i, obsE ) {
if ('num_arbre' === obsE.cle ) {
listObsData[exIndexObs].obs_etendue[i].valeur = arbreId;
return false;
}
});
}
}
 
// Mise à jour des données à transmettre
if ( valOk( listObsData[exIndexObs] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[exIndexObs] );
}
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
} else {
$( '#liste-obs' ).removeData( 'obsId' + obsId );
}
};
 
WidgetsSaisiesCommun.prototype.transmettreObs = function() {
const lthis = this,
observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.dir( observations );
}
if ( !valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
WidgetsSaisiesCommun.prototype.depilerObsPourEnvoi = function() {
const observations = $( '#liste-obs' ).data();
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( let obsNum in observations ) {
const obsATransmettre = {
'id_projet' : this.idProjet,
'projet' : this.projet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
},
utilisateur = {
id_utilisateur : $( '#id_utilisateur' ).val(),
prenom : $( '#prenom' ).val(),
nom : $( '#nom' ).val(),
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
const idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
WidgetsSaisiesCommun.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
let erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur,.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
if( lthis.isASL && 'arbres' === lthis.sujet ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
}
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
const debugMsg = lthis.extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
const hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagsMotsCles+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
if ( lthis.isASL ) {
if ( 'arbres' === lthis.sujet ) {
if ( 'tb_streets' !== lthis.projet ) {
$( '#bouton-saisir-lichens' ).removeClass( 'hidden' );
}
if ( 'tb_lichensgo' !== lthis.projet ) {
$( '#bouton-saisir-plantes' ).removeClass( 'hidden' );
}
} else {
$( '#bouton-poursuivre' ).removeClass( 'hidden' );
}
$( '#bloc-controle-liste-obs,#bloc-gauche' ).addClass( 'hidden' );
}
$( '#chargement' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
WidgetsSaisiesCommun.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
const pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
WidgetsSaisiesCommun.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
WidgetsSaisiesCommun.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( valOk( value ) && ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) ) );
},
lthis.msgTraduction( 'date-incomplete' )
);
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
$.validator.addMethod(
'listFields',
function ( value, element ) {
return ( valOk( value ) );
},
''
);
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( lthis.isASL && 'arbres' === lthis.sujet && ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
// Formatage date *************************************************************/
WidgetsSaisiesCommun.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
 
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
const dateArray = dateObs.split( '-' );
 
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.dir( 'erreur date : ' + dateObs )
}
};
 
// scroll vers le formulaire
WidgetsSaisiesCommun.prototype.scrollFormTop = function( scrollSelecteur, focus = '' ) {
$( 'html, body' ).stop().animate({
scrollTop: $( scrollSelecteur ).offset().top
}, 300, function() {
if ( valOk( focus ) ) {
$( focus ).focus();
} else {
return;
}
});
};
 
// Controle des panneaux d'infos **********************************************/
 
WidgetsSaisiesCommun.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
this.scrollFormTop( selecteur );
};
 
WidgetsSaisiesCommun.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
WidgetsSaisiesCommun.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
WidgetsSaisiesCommun.prototype.msgTraduction = function( cle ) {
let msg = 'N/A';
 
if ( utils.msgs ) {
if ( this.langue in utils.msgs && cle in utils.msgs[this.langue] ) {
msg = utils.msgs[this.langue][cle];
} else if ( cle in utils.msgs['fr'] ) {
msg = utils.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
WidgetsSaisiesCommun.prototype.arreter = function( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
};
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
WidgetsSaisiesCommun.prototype.extraireEnteteDebug = function( jqXHR ) {
let msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
const debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
 
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
};
 
 
WidgetsSaisiesCommun.prototype.confirmerSortie = function() {
$( window ).off( 'beforeunload' ).on( 'beforeunload', function( event ) {
if ( !event ) {
event = window.event;
}
return false;
});
};
 
// Lib hors objet
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
const proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
WidgetsSaisiesCommun.prototype.filter = function( array, term ) {
const matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetsSaisiesASL.js
New file
0,0 → 1,454
import {WidgetsSaisiesCommun,utils} from './WidgetsSaisiesCommun.js';
import {initialiserModule} from './InitialisationASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur WidgetsSaisiesASL par défaut
* S'applique au squelette apa.tpl.html
* Squelette de base d'apa streets et lg
*/
// ASL : APA, sTREETs, Lichen's Go!
export function WidgetsSaisiesASL() {
WidgetsSaisiesCommun.call(this);
 
if ( valOk( widgetProp ) ) {
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
this.idProjet = widgetProp.idProjet;
this.tagsMotsCles = widgetProp.tagsMotsCles;
this.mode = widgetProp.mode;
this.langue = widgetProp.langue;
this.serviceObsImgs = widgetProp.serviceObsImgs;
this.serviceObsImgUrl = widgetProp.serviceObsImgUrl;
this.serviceAnnuaireIdUrl = widgetProp.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = widgetProp.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = widgetProp.serviceNomCommuneUrlAlt;
this.debug = widgetProp.debug;
this.html5 = widgetProp.html5;
this.serviceSaisieUrl = widgetProp.serviceSaisieUrl;
this.serviceObsUrl = widgetProp.serviceObsUrl;
this.chargementImageIconeUrl = widgetProp.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = widgetProp.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = widgetProp.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = widgetProp.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = widgetProp.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = widgetProp.dureeMessage;
this.obsMaxNbre = widgetProp.obsMaxNbre;
}
this.urlRacine = window.location.origin;
this.isASL = true;
this.nbObsEnCours = 1;
this.obsNbre = 0;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.nomSciReferentiel = null;
this.referentielImpose = null;
this.releveDatas = null;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.sujet = null;
this.isTaxonListe = false;
this.geoloc = {};
}
WidgetsSaisiesASL.prototype = Object.create(WidgetsSaisiesCommun.prototype);
WidgetsSaisiesASL.prototype.constructor = WidgetsSaisiesASL;
 
WidgetsSaisiesASL.prototype.initEvts = function() {
const lthis = this;
// initialisation des fonctions connexion utilisateur
this.initEvtsConnection();
// chargement plantes ou lichens
if ( valOk( $( '.charger-releve' ) ) ) {
const btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data n'est pas modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm, false );
}
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetsSaisiesASL.prototype.initForm = function() {
this.initFormConnection();
};
 
WidgetsSaisiesASL.prototype.determinerBtnsChargementForm = function( typeSelecteur, ajouterBtnPoursuivre = false ) {
let complement = '',
selecteurDefault = '',
separateur = ',';
 
if ( '#' === typeSelecteur ) {
if ( ajouterBtnPoursuivre ) {
selecteurDefault = 'poursuivre';
}
typeSelecteur += 'bouton-';
} else if ( '.' === typeSelecteur ) {
selecteurDefault = 'charger-releve';
complement = separateur + typeSelecteur;
}
switch( this.projet ) {
case 'tb_streets':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-plantes';
}
break;
case 'tb_lichensgo':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-lichens';
}
break;
case 'tb_aupresdemonarbre':
default:
separateur += typeSelecteur;
if ( ajouterBtnPoursuivre) {
complement = separateur;
}
complement += 'saisir-plantes' + separateur + 'saisir-lichens';
break;
}
return typeSelecteur + selecteurDefault + complement;
};
 
WidgetsSaisiesASL.prototype.btnsChargerForm = function( btn, modifierReleveData = true, dansRelevesUtilisateur = true ) {
const lthis = this,
bloc = ( dansRelevesUtilisateur ) ? '#releves-utilisateur' : '#charger-form';
 
$( btn, bloc ).off().on( 'click', function( event ) {
event.preventDefault();
 
const thisWidgetObs = ( valOk( $( '#' + lthis.projet + '-obs' ).val() ) ) ? $.parseJSON( $( '#' + lthis.projet + '-obs' ).val() ) : [],
nomSquelette = $( this ).data( 'load' );
let releveDatas = '';
 
$( '#charger-form' ).data( 'load', nomSquelette );
if ( modifierReleveData ) {
if ( '#bouton-nouveau-releve' !== btn ) {
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
if ( valOk( thisWidgetObs ) ) {
releveDatas = JSON.stringify( thisWidgetObs[ $( this ).data( 'releve' ) ] );
}
} else {
$( btn ).addClass( 'hidden' );
}
$( '#releve-data' ).val( releveDatas );
}
lthis.chargerForm( nomSquelette, lthis );
if ( valOk( thisWidgetObs ) ) {
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
WidgetsSaisiesASL.prototype.chargerForm = function( nomSquelette, formObj ) {
const lthis = this,
urlSquelette = this.urlWidgets + 'saisie?projet=' + this.projet + '&squelette=' + nomSquelette;
 
$.ajax({
url: urlSquelette,
type: 'get',
success: function( squelette ) {
if ( valOk( squelette ) ) {
formObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
// Préchargement des infos-obs ************************************************/
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetsSaisiesASL.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
if ( valOk( this.sujet ) ) {
this.reinitialiserWidget( squelette );
} else {
this.chargerObsUtilisateur( squelette );
}
break;
}
};
 
WidgetsSaisiesASL.prototype.chargerFormPlantesOuLichens = function( squelette, nomSquelette ) {
if ( valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
initialiserModule(nomSquelette);
this.confirmerSortie();
 
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( let i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
this.scrollFormTop( '#zone-' + nomSquelette );
}
};
 
WidgetsSaisiesASL.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
initialiserModule();
if ( valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetsSaisiesASL.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this,
tagsMotsCles = this.tagsMotsCles.split( ',' ),
reprereAjoutTags = tagsMotsCles.length - 1;
let queryStringMotsCles = '';
 
$.each( tagsMotsCles , function( i, tag ) {
queryStringMotsCles += 'mots_cles=' + tagsMotsCles[i];
if ( i < reprereAjoutTags ) {
queryStringMotsCles += '&';
}
});
 
const urlObs =
$( 'body' ).data( 'obs-list' ) + '/'+
$( '#id_utilisateur' ).val() + '?' + queryStringMotsCles;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
utils.activerModale( lthis.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
initialiserModule();
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetsSaisiesASL.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
 
if ( valOk( dataObs ) ) {
const tagsMotsCles = this.tagsMotsCles.split( ',' );
let projetObs = [],
datRuComun = [],
obsArbres = [],
projetObsE = {},
count = 0;
 
$.each( dataObs, function( i, obs ) {
if (
new RegExp( tagsMotsCles[0] ).test( obs.mots_cles_texte ) &&
new RegExp( tagsMotsCles[1] ).test( obs.mots_cles_texte ) &&
!/(:?plantes|lichens(?!go))/.test( obs.mots_cles_texte )
) {
if ( valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
projetObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + projetObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + projetObsE.rue + obs.zone_geo );
projetObs[count] = lthis.formaterReleveData( { 'obs':obs, 'obsE':projetObsE } );
count++;
}
obsArbres.push( lthis.formaterArbreData( { 'obs':obs, 'obsE':projetObsE } ) );
projetObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( let indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
projetObs[indexReleve].push( arbre );
}
}
});
if ( valOk( projetObs ) ) {
this.prechargerLesObs( projetObs );
$( '#' + this.projet + '-obs' ).val( JSON.stringify( projetObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
WidgetsSaisiesASL.prototype.formaterReleveData = function( releveDatas ) {
const obs = releveDatas.obs,
obsE = releveDatas.obsE;
let releve = [];
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
'geometry-releve' : obsE['geometry-releve'],
'latitude-releve' : obsE['latitude-releve'],
'longitude-releve' : obsE['longitude-releve'],
'altitude-releve' : obsE['altitude-releve'],
commentaires : obs.commentaire
};
 
if ( 'tb_lichensgo' !== this.projet ) {
releve[0]['zone-pietonne'] = obsE['zone-pietonne'];
releve[0]['pres-lampadaires'] = obsE['pres-lampadaires'];
}
 
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
WidgetsSaisiesASL.prototype.formaterArbreData = function( arbresDatas ) {
const obs = arbresDatas.obs,
obsE = arbresDatas.obsE;
let retour = {},
miniatureImg = [];
 
if( valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'geometry-arbres' : obs['geometry'],
'latitude-arbres' : obs['latitude'],
'longitude-arbres' : obs['longitude'],
'altitude-arbres' : obs['altitude'],
'circonference' : obsE.circonference,
'com-arbres' : obsE['com-arbres']
};
if ( 'tb_lichensgo' !== this.projet ) {
retour['surface-pied'] = obsE['surface-pied'];
retour['equipement-pied-arbre'] = obsE['equipement-pied-arbre'];
retour['tassement'] = obsE.tassement;
retour['dejections'] = obsE.dejections;
}
if ( 'tb_streets' !== this.projet ) {
retour['face-ombre'] = obsE['face-ombre'];
}
return retour;
};
 
WidgetsSaisiesASL.prototype.prechargerLesObs = function( thisWidgetObs ) {
const lthis = this,
$listReleve = $( '#list-releves' ),
TEXT_ARBRE = ' ' + this.msgTraduction( 'arbre' ).toLowerCase();
 
let nbArbres = '',
texteArbre = '',
releveHtml = '';
 
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
function boutonsChargerReleve( lthis, squelette, indice ) {
const boutonLichens =
'<a href="" class="saisir-lichens btn btn-sm btn-info" data-releve="' + indice + '" data-load="lichens">'+
'<i class="far fa-snowflake"></i> ' + lthis.msgTraduction( 'saisir-lichens' )+
'</a> ',
boutonPlantes =
'<a href="" class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + indice + '" data-load="plantes">'+
'<i class="fas fa-seedling"></i> ' + lthis.msgTraduction( 'saisir-plantes' )+
'</a> ';
 
switch( squelette ) {
case 'tb_streets':
return boutonPlantes;
case 'tb_lichensgo' :
return boutonLichens;
case 'tb_aupresdemonarbre' :
default :
return boutonPlantes + boutonLichens;
}
return '';
}
 
$.each( thisWidgetObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<a href="" class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.msgTraduction( 'dupliquer' )+
'</a> '+
boutonsChargerReleve( lthis, lthis.projet, i ) +
'</td>'+
'</tr>';
});
 
$listReleve.append( releveHtml );
 
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( thisWidgetObs.length );
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/saisie.tpl.html
New file
0,0 → 1,930
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo strip_tags( $widget['titre'] ); ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" integrity="sha512-gc3xjCmIy673V6MyOAZhIW93xhM9ei1I+gLbmFjUHIjocENRsLX/QUE1htk5q1XV2D/iie/VQ8DXI6Vu8bexvQ==" crossorigin="anonymous">
<link rel="stylesheet" href="<?php echo $url_base;?>js/tb-geoloc/css/leaflet-gesture-handling.min.css" type="text/css">
<link rel="stylesheet" href="<?php echo $url_base;?>js/tb-geoloc/css/geoloc.css" type="text/css">
<!-- STYLE SAISIE -->
<link href="<?php echo $url_base; ?>css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo $url_base; ?>css/saisieSpe.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<!-- <link rel="icon" type="image/x-icon" href="favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<style>
:not(.miniature).loading::after {
content:'';
display: inline-block;
background-image: url("<?php echo $url_base; ?>img/icones/chargement-image.gif");
background-size: 1rem;
height: 1rem;
width: 1rem;
}
</style>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-type-loc="<?php echo $widget['type_localisation'];?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.' . preg_replace( '/(?:imag)?e\/?/','', $widget['logo'] ) ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo ( $widget['info'] ) ? $widget['titre'] . ' <div id="info-button" class="btn btn-outline-info btn-sm border-0" data-mime-info="' . $widget['info'] . '"><i class="fas fa-info-circle"></i></div>' : $widget['titre']; ?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3><?php echo $aide['titre']; ?></h3>
<div id="aide-txt" class="hiden-sm-down">
<p><?php echo $aide['description']; ?></p>
</div>
</div>
</div>
</div>
 
<div id="formulaire" class="row mb-3 bloc-top">
<form id="form-observateur" role="form" autocomplete="on">
<h2><?php echo $observateur['titre']; ?></h2>
<div id="tb-observateur">
<div class="navbar-default mb-3" id="tb-navbar">
<div class="nav navbar-nav navbar-right row control-group">
<div id="bouton-connexion" class="volet col-md-6 col-sm-8">
<label for="bouton-connexion"><?php echo $observateur['compte']; ?></label>
<a id="connexion" href="<?php echo $authTpl; ?>" class="btn btn-success mr-1 mb-1" target="_blank"><?php echo $observateur['connexion']; ?></a>
<a id="inscription" href="" class="btn btn-primary mr-1 mb-1" target="_blank"><?php echo $observateur['inscription']; ?></a>
</div>
<div id="creation-compte" class="volet col-md-6 col-sm-8">
<label for="creation-compte"><?php echo $observateur['noninscription']; ?></label>
<a id="bouton-anonyme" href="" class="btn btn-info mr-1 mb-1"><?php echo $observateur['nonconnexion']; ?></a>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte"><?php echo $observateur['bienvenue']; ?></label>
<a href="" class="list-tool btn btn-large btn-primary volet-toggle" data-toggle="volet">
<span id="nom-complet"></span> <!-- <i class="fas fa-caret-down"></i> -->
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" target="_blank"><?php echo $observateur['profil']; ?></a>
</div>
<div id="deconnexion"><a href=""><?php echo $observateur['deconnexion']; ?></a></div>
</div>
</div>
</div>
</div>
</div>
 
<div id="identite" class="mb-3 hidden">
<p id="bienvenue" class=" col-md-6 hidden font-weight-bold">
Bonjour<span id="bienvenue-prenom"></span><span id="bienvenue-nom"></span>!
</p>
<div id="zone-courriel" class="row">
<div class="control-group col-md-6">
<label for="courriel" class="col-sm-8 obligatoire" title="<?php echo $observateur['courriel-title']; ?>">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control" type="email" title="<?php echo $observateur['courriel-title']; ?> ">
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
</div>
</div>
 
<div id="zone-courriel-confirmation" class="control-group col-md-6 hidden">
<label for="courriel_confirmation" class="col-sm-8 obligatoire" title="<?php echo $observateur['courriel-confirmation-title']; ?>">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel-confirmation']; ?>
</label>
<div class="col-sm-8">
<input id="courriel_confirmation" name="courriel_confirmation" class="form-control" type="email">
</div>
</div>
</div>
 
<div id="zone-prenom-nom" class="row hidden">
<div class="control-group col-md-6">
<label for="prenom" class="col-sm-8">
<i class="fa fa-user" aria-hidden="true"></i>
<?php echo $observateur['prenom']; ?>
</label>
<div class="input-group col-sm-8">
<input id="prenom" name="prenom" class="form-control" type="text">
</div>
</div>
<div class="control-group col-md-6">
<label for="nom" class="col-sm-8">
<i class="fa fa-user" aria-hidden="true"></i>
<?php echo $observateur['nom']; ?>
</label>
<div class="input-group col-sm-8">
<input id="nom" name="nom" class="form-control" type="text">
</div>
</div>
</div>
</div>
</form>
 
<!-- Messages d'erreur du formulaire-->
<div class="zone-alerte">
<div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertcc-title']; ?></h4>
<p><?php echo $observateur['alertcc']; ?></p>
</div>
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertni-title']; ?></h4>
<p><?php echo $observateur['alertni']; ?></p>
</div>
</div>
 
<form id="form-observation" role="form" autocomplete="on" class="bloc-top">
<h2><?php echo $observation['titre']; ?></h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label id="geoloc-label" for="geolocalisation" class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observation['geoloc-title']; ?>">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['geolocalisation']; ?>
<?php if ('rue' === $widget['type_localisation']) :?>
<div class="help-button help-geoloc btn btn-outline-info btn-sm border-0" data-key="photo-aide-geoloc" data-name="geolocalisation" data-mime-type="image/jpg"><i class="fas fa-info-circle"></i></div>
<?php endif; ?>
</label>
<?php if( $widget['type_localisation'] === 'rue' ) : ?>
<div class="aide-txt">
<p><?php echo $observation['info-saisie-rue']; ?></p>
</div>
<?php endif; ?>
<div class="control-group">
<div id="geoloc-datas">
<input type="hidden" id="pays" name="pays" value="" style="display:none">
<input type="hidden" id="commune-nom" name="commune-nom" value="" style="display:none">
<input type="hidden" id="geometry" name="geometry" value="" style="display:none">
<input type="hidden" id="altitude" name="altitude" value="" style="display:none">
<input type="hidden" id="commune-insee" name="commune-insee" value="" style="display:none">
<input type="hidden" id="coord-lineaire" name="coord-lineaire" value="" style="display:none">
</div>
<div id="geoloc" class="col-sm-12">
<script type="text/javascript">
const URL_GEOLOC_SERVICE = "<?php echo $url_ws_geoloc;?>";
const URL_BASE = "<?php echo $url_base;?>";
const URL_HELP_GEOLOC_POLYLINE = "<?php echo $url_base; ?>js/tb-geoloc/img/photo-aide-geoloc.jpg";
</script>
 
<div id="tb-places-zone" class="flex hidden">
<div class="form-col search-container">
<label for="tb-places" >Trouver un lieu</label>
<div class="input-search-container">
<input id="tb-places" class="tb-places" type="search" name="tb-places" placeholder="Recherchez une adresse ou une ville" autocomplete="off">
<div class="tb-places-search-icon"></div>
<button class="tb-places-close hidden"></button>
</div>
<div class="tb-places-results-container hidden">
<ul class="tb-places-results"></ul>
</div>
</div>
</div>
 
<div id="map-container">
<div
id="tb-geolocation"
style="height: 400px;width: 100%"
data-type-localisation="<?php echo $widget['type_localisation'] ?? '';?>"
data-zoom="<?php echo $widget['localisation']['zoom'] ?? '5';?>"
data-layer="osm"
data-form-suffix=""
>
</div>
</div>
</div>
</div>
</div>
 
<div id="coord" class="control-group">
<label for="latitude" class="col-sm-8">
<i class="fa fa-globe" aria-hidden="true"></i>
<?php echo $observation['latitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="latitude" name="latitude" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $observation['latitude']; ?>" value="<?php echo $widget['localisation']['latitude'] ?? '';?>">
</div>
<label for="longitude" class="col-sm-8">
<i class="fa fa-globe" aria-hidden="true"></i>
<?php echo $observation['longitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="longitude" name="longitude" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $observation['longitude']; ?>" value="<?php echo $widget['localisation']['longitude'] ?? '';?>">
</div>
</div>
 
<div class="control-group">
<label for="lieudit" class="col-sm-8">
<i class="fa fa-map-signs" aria-hidden="true"></i>
<?php echo $observation['lieudit']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="lieudit" name="lieudit" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $observation['lieudit-title']; ?>">
</div>
</div>
<div class="control-group">
<label for="station" class="col-sm-8">
<i class="fa fa-map-marker" aria-hidden="true"></i>
<?php echo $observation['station']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="station" name="station" class="form-control has-tooltip" data-toggle="tooltip" data-placement="bottom"title="<?php echo $observation['station-title']; ?>">
</div>
</div>
 
</div>
 
<div class="col-md-6">
 
<div class="control-group">
<label for="date_releve" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $observation['date']; ?>
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
<input type="date" id="date_releve" name="date_releve" class="form-control" max="<?php echo date('Y-m-d', time()); ?>" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<?php if( ( $widget['type_especes'] === 'referentiel' || empty( $widget['type_especes'] ) ) && empty( $widget['referentiel'] ) ) : ?>
<div class="control-group">
<label for="referentiel" class="col-sm-8 obligatoire">
<i class="fa fa-book" aria-hidden="true"></i>
<?php echo $observation['referentiel']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="referentiel" class="form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $observation['referentiel-title']; ?>">
<option class="choisir" value="" selected hidden><?php echo $general['choisir']; ?></option>
<option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine et régions avoisinantes">Métropole (index réduit)</option>
<option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
<option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
<option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
<option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
<option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
<option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
<option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
<option value="lbf" title="Liban">Liban (LBF)</option>
<option value="taxreflich" title="Lichens de France">Lichens (TaxRef)</option>
<option value="taxref" title="Flore de France métropolitaine et outre-mer">France (TaxRef)</option>
<option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
</select>
</div>
</div>
<?php else : ?>
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
<?php endif; ?>
 
<div id="bloc-taxon" class="control-group">
<?php $isTaxonListe = ( isset( $widget['especes']['taxons'] ) && count( (array) $widget['especes']['taxons'] ) > 0 ) ;?>
<label <?php echo ( !$isTaxonListe ) ? 'id="taxon-autocomplete-label" for="taxon"' : 'for="taxon-liste"';?> class="col-sm-8">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $observation['espece']; ?><?php if ( !empty( $widget['referentiel'] ) ) echo " (" . $widget['referentiel'] . ")"; ?>
</label>
<div class="col-sm-8 mb-3">
<?php if ( $widget['type_especes'] === 'fixe' || $widget['especes']['espece_imposee'] ) : ?>
<input id="taxon" name="taxon" type="text" class="form-control taxon-validation" title="" value="<?php echo $widget['especes']['nom_sci_espece_defaut']; ?>"/>
</div>
</div>
 
<?php elseif ( $isTaxonListe ) : ?>
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $observation['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" class="form-control" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label id="taxon-autocomplete-label" for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $observation['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
<?php else : ?>
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
<span for="taxon" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
</div>
</div>
<?php endif; ?>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $observation['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $observation['certitude-title']; ?>">
<option class="aDeterminer" value="à determiner" ><?php echo $observation['certADet']; ?></option>
<option class="douteux" value="douteux" selected="selected" ><?php echo $observation['certDout']; ?></option>
<option class="certain" value="certain" ><?php echo $observation['certCert']; ?></option>
</select>
</div>
</div>
<!-- choix du (des) milieu(x) -->
<?php if ( 0 < count( (array) $widget['milieux'] ) ) :?>
<?php if ( in_array('multimilieux', $widget['milieux'] ) ) :?>
<div class="multiselect list-checkbox">
<label class="col-sm-8" title="<?php echo $chpsupp['select-checkboxes-texte'];?>">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="control-group col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-milieu-title']; ?>">
<div class="selectBox">
<select class="form-control list-checkbox custom-select" id="list-checkbox-milieu">
<option><?php echo $chpsupp['select-checkboxes-texte'];?></option>
</select>
<div class="overSelect"></div>
</div>
<div class="checkboxes hidden" data-name="milieu">
<?php foreach ( $widget['milieux'] as $milieu ) :?>
<?php if ( 'autre' !== strtolower( $milieu ) && 'multimilieux' !== strtolower( $milieu ) ) :?>
<label for="<?php echo strtolower( $milieu );?>">
<input type="checkbox" id="<?php echo strtolower( $milieu );?>" name="milieu" value="<?php echo $milieu;?>" class="<?php echo strtolower( $milieu );?> milieu" data-label="<?php echo $observation['milieu']; ?>" data-name="milieu">
<?php echo $milieu;?>
</label>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( in_array('autre', $widget['milieux'] ) ) :?>
<label for="other-milieu">
<input type="checkbox" id="other-milieu" name="milieu" value="other" class="other milieu" data-label="<?php echo $observation['milieu']; ?>" data-element="checkboxes" data-name="milieu">
Autre
</label>
<?php endif; ?>
</div>
</div>
</div>
<?php else : ?>
<div class="">
<label for="milieu" class="col-sm-8">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="milieu" class="form-control milieu select custom-select has-tooltip mb-2" data-toggle="tooltip" title="<?php echo $observation['liste-milieu-title']; ?>" data-name="milieu" data-label="milieu">
<option class="choisir" value="" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ( $widget['milieux'] as $milieu ) :?>
<?php if ( 'autre' !== strtolower( $milieu ) && 'multimilieux' !== strtolower( $milieu ) ) :?>
<option value="<?php echo $milieu; ?>" data-name="milieu"><?php echo $milieu; ?></option>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( in_array('autre', $widget['milieux'] ) ) :?>
<option id="other-milieu" class="other form-control is-select" value="other" data-element="select" data-name="milieu"><?php echo $milieu; ?></option>
<?php endif; ?>
</select>
</div>
</div>
</div>
<?php endif; ?>
<?php else : ?>
<div class="">
<label for="milieu" class="col-sm-8">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="milieu" name="milieu" class="form-control has-tooltip" data-toggle="tooltip" type="text" placeholder="<?php echo $observation['milieu-ph']; ?>" title="<?php echo $observation['milieu-title']; ?>">
</div>
</div>
<?php endif; ?><!-- fin choix milieu(x) -->
<div class="">
<label for="notes" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $observation['notes']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="notes" form="form-observation" class="col-md-12 has-tooltip" data-toggle="tooltip" rows="7" name="notes" placeholder="<?php echo $observation['notes_ph']; ?>" title="<?php echo $observation['notes-title']; ?>"></textarea>
</div>
</div>
 
</div>
</div>
</form>
 
<!-- Messages d'erreur du formulaire-->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
<p><?php echo $observation['alertgk']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $observation['alert-img-tax']; ?></p>
</div>
</div>
 
<!-- Champs supplémentaires -->
<?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
<form id="form-supp" class="bloc-top" role="form" autocomplete="on">
<h2><?php echo $chpsupp['titre']; ?></h2>
<div id="zone-supp" class="row">
 
<?php foreach( $widget['chpSupp'][ $widget['projet'] ]['champs-supp'] as $champ ) : ?>
<?php
$min = ( isset( $champ['fieldValues']['min'] ) )? ' min="' . $champ['fieldValues']['min'] . '"':'';
$max = ( isset( $champ['fieldValues']['max'] ) )? ' max="' . $champ['fieldValues']['max'] . '"':'';
$step = ( isset( $champ['fieldValues']['step'] ) )? ' step="' . $champ['fieldValues']['step'] . '"':'';
$default = ( isset( $champ['fieldValues']['default'] ) )? ' value="' . $champ['fieldValues']['default'] . '" data-default="' . $champ['fieldValues']['default'] . '"' :'';
$description = ( isset( $champ['description'] ) )? ' data-toggle="tooltip" title="' . $champ['description'] . '"':'';
$placeholder = ( isset( $champ['fieldValues']['placeholder'] ) )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
$required = '';
$mandatory = '';
$pattern = '';
$obs_radio = '';
$help = '';
$help_button = '';
 
if( $champ['help'] ) {
$help = ' and-help';
$help_button = ' <div class="help-button help-' . $champ['key'] . ' btn btn-outline-info btn-sm border-0" data-key="' . $champ['key'] . '" data-name="' . $champ['name'] . '" data-mime-type="' . $champ['help'] . '"><i class="fas fa-info-circle"></i></div>';
}
 
if( $champ['mandatory'] ) {
// Attr required
$required = ' required';
// class="obligatoire"
$mandatory = ' obligatoire';
}?>
<div class="col-md-6">
<?php
switch( $champ['element'] ) {
case 'radio':
case 'checkbox': ?>
<div class="control-group <?php echo $champ['element']; ?> mb-3"<?php echo $required; ?> data-name="<?php echo $champ['key']; ?>[]">
<div class="col-sm-8 list-label<?php echo $help . $mandatory; ?>">
<?php echo $champ['name'] . $help_button; ?>
</div>
<div class="col-sm-8 has-tooltip" <?php echo $description; ?>>
 
<?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value_array ) : ?>
 
<?php
$checked = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$checked = ' checked';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
<input type="<?php echo $champ['element']; ?>" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?php echo $champ['key']; ?>[]" value="<?php echo $list_value_array[0]; ?>"<?php echo $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i] . ' ' . $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</label>
<?php else : ?>
<label for="other-<?php echo $champ['key']; ?>">
<input type="<?php echo $champ['element']; ?>" id="other-<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>[]" value="other" class="other <?php echo $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-element="<?php echo $champ['element']; ?>" data-name="<?php echo $champ['key']; ?>">
Autre
</label>
<?php endif; ?>
 
<?php endforeach; ?>
 
</div>
</div>
<?php break;
 
case 'list-checkbox': ?>
<div class="multiselect <?php echo $champ['element'] . $help; ?>">
<label class="col-sm-8<?php echo $mandatory; ?>" title="<?php echo $chpsupp['select-checkboxes-texte'];?>">
<?php echo $champ['name'] . $help_button; ?>
</label>
<div class="control-group col-sm-8 mb-3 has-tooltip" <?php echo $description; ?>>
<div class="selectBox">
<select class="form-control list-checkbox custom-select" id="list-checkbox-<?php echo $champ['key']; ?>">
<option><?php echo $chpsupp['select-checkboxes-texte'];?></option>
</select>
<div class="overSelect"></div>
</div>
<div class="checkboxes hidden" <?php echo $required; ?> data-name="<?php echo $champ['key']; ?>[]">
<?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value_array ) : ?>
 
<?php
$checked = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$checked = ' checked';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
<input type="checkbox" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?php echo $champ['key']; ?>[]" value="<?php echo $list_value_array[0]; ?>"<?php echo $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i] . ' ' . $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</label>
<?php else : ?>
<label for="other-<?php echo $champ['key']; ?>">
<input type="checkbox" id="other-<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>[]" value="other" class="other <?php echo $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-element="checkboxes" data-name="<?php echo $champ['key']; ?>">
Autre
</label>
<?php endif; ?>
 
<?php endforeach; ?>
 
</div>
</div>
</div>
<?php break;
 
case 'select': ?>
<div class="control-group mb-3">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select <?php echo $help; ?>">
<select id="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . ' ' . $champ['element']; ?> form-control has-tooltip custom-select mb-2"<?php echo $required; ?> data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>" <?php echo $description; ?>>
 
<?php foreach ( $champ['fieldValues']['listValue'] as $list_value_array ) : ?>
 
<?php
$selected = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$selected = ' selected="selected"';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<option value="<?php echo $list_value_array[0]; ?>"<?php echo $selected; ?> data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</option>
<?php else : ?>
<option id="other-<?php echo $champ['key']; ?>" class="other form-control is-select" value="other" data-element="<?php echo $champ['element']; ?>" data-name="<?php echo $champ['key']; ?>">Autre</option>
<?php endif; ?>
<?php endforeach; ?>
</select>
</div>
</div>
</div>
<?php break;
 
case 'textarea': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?> " ><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<textarea type="<?php echo $champ['element']; ?>" id="<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $required; ?> data-label="<?php echo $champ['name']; ?>"></textarea>
</div>
</div>
<?php break;
 
case 'range': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3 row">
<?php
$div_range_min_max = '';
 
if ( isset( $champ['fieldValues']['min'] ) ) {
$div_range_min_max =
"<p class=\"col-2 range-values text-center font-weight-bold\">".
"Min " . $champ['fieldValues']['min'] .
"</p>";
}
 
$div_range_min_max .= '<div class="range-live-value range-values text-center font-weight-bold col-';
 
if ( isset( $champ['fieldValues']['min'] ) && isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .= '8';
} elseif ( isset( $champ['fieldValues']['min'] ) || isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .= '10';
} else {
$div_range_min_max .= '12';
}
 
$div_range_min_max .= '" onload="this.innerText = document.getElementById(&apos;ajouter-obs&apos;).value"></div>';
 
if( isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .=
"<p class=\"col-2 range-values text-center font-weight-bold\">".
"Max " . $champ['fieldValues']['max'] .
"</p>";
}
 
echo $div_range_min_max;
?>
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="pl-3 custom-range <?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
 
case 'number':
case 'date': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip"<?php echo $pattern . $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
 
case 'text' :
case 'email':
default: ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
}
?>
</div>
<?php endforeach; ?>
</div>
</form>
<?php endif; ?><!-- Fin champs supplémentaires -->
 
<form id="form-upload" class="form-horizontal bloc-top" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<h2><?php echo $image['titre']; ?></h2>
<p id="miniature-info">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-12">
<div>
<label for="fichier" class="label-file btn btn-large btn-info mb-3">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
<span for="fichier" class="error" style="display: none;"><?php echo $observation['error-image-requise'];?></span>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
 
<div id="image" class="row"></div>
</div>
 
<!-- Bouton cr&ation d'une obs -->
<div class="row mb-3">
<div class="centre" title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-success"><i class="fas fa-check-square"></i> <?php echo $resume['creer']; ?></button>
</div>
</div>
 
<!-- Messages d'erreur du formulaire-->
<div class="row">
<div class="zone-alerte">
<div id="message-chargement" class="alert alert-secondary alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchargt']; ?></h4>
<p><?php echo $resume['alertchargt-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="bloc-top hidden">
<div class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-success droite" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $resume['trans']; ?>
</button>
</div>
<!-- chargement -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt"><?php echo $resume['transencours']; ?></p>
</div>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transkomsg']; ?><a href="<?php echo $url_remarques; ?>?lang=fr&service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ); ?>" target="_blank" onclick="javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' ); return false;"><?php echo $resume['transkolien']; ?></a>.</p>
</div>
</div>
</div>
 
<!-- modale -->
<div id="fenetre-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fenetre-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fenetre-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<!-- carto -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js" integrity="sha512-ozq8xQKq6urvuU6jNgkfqAmT7jKN2XumbrX1JiB3TnF7tI48DPI4Gy1GXKD/V3EExgAs1V+pRO7vwtS1LHg0Gw==" crossorigin="anonymous"></script>
<script src="<?php echo $url_base;?>js/tb-geoloc/js/modules/leaflet-gesture-handling.min.js"></script>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="module" src="<?php echo $url_base; ?>js/WidgetSaisie.js"></script>
<script type="text/javascript">
//<![CDATA[
const NBRE_ELTS_AUTOCOMP = 20,
widgetProp = {
// url jusqu'à "/widget:cel:"
'urlWidgets' : "<?php echo $widgets_url; ?>",
// module utilisé (apa,lg,streets)
'projet' : "<?php echo $widget['projet']; ?>",
// id du projet
'idProjet' : "<?php echo $widget['id_projet']; ?>",
// La présence du parametre 'debug' dans l'URL enclenche le débogage
'debug' : <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>,
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
'html5' : <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>,
// Mot-clé du widget/projet
'tagsMotsCles' : "<?php echo $widget['motscles']; ?>",
// Mots-clés à ajouter aux images
'tagImg' : "<?php echo isset($widget['tag-img']) ? $widget['tag-img'] : ''; ?>",
// Mots-clés à ajouter aux observations
'tagObs' : "<?php echo isset($widget['tag-obs']) ? $widget['tag-obs'] : ''; ?>",
// Précharger le formulaire avec les infos d'une observation
'obsId' : "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>",
// URL du web service réalisant l'insertion des données dans la base du CEL.
'serviceSaisieUrl' : "<?php echo $url_ws_saisie; ?>",
// URL du web service permettant de récupérer les infos d'une observation du CEL.
'serviceObsUrl' : "<?php echo $url_ws_obs; ?>",
// langue
'langue' : "<?php echo $widget['langue']; ?>",
// Squelette d'URL du web service de l'annuaire.
'serviceAnnuaireIdUrl' : "<?php echo $url_ws_annuaire; ?>",
// mode : prod / beta / local
'mode' : "<?php echo $conf_mode; ?>",
// URL de l'icône du chargement en cours d'une image
'chargementImageIconeUrl' : "<?php echo $url_base; ?>img/icones/chargement.gif",
// URL de l'icône pour une photo manquante
'pasDePhotoIconeUrl' : "<?php echo $url_base; ?>img/icones/pasdephoto.png",
// Code du référentiel utilisé pour les nom scientifiques.
'nomSciReferentiel' : "<?php echo ( !empty( $widget['referentiel'] ) ) ? strtolower( $widget['referentiel'] ) : 'bdtfxr'; ?>",
// Indication de la présence d'une espèce imposée
'especeImposee' : "<?php echo $widget['especes']['espece_imposee']; ?>",
// Tableau d'informations sur l'espèce imposée
'infosEspeceImposee' : "<?php echo $widget['especes']['infos_espece']; ?>",
// Indication de la présence d'un référentiel imposé
'referentielImpose' : "<?php echo ( !empty( $widget['referentiel'] ) ) ? strtolower( $widget['referentiel'] ) : 'bdtfxr'; ?>",
// #taxon est une liste
'isTaxonListe' : <?php echo ( isset( $widget['especes']['taxons'] ) && count( (array) $widget['especes']['taxons'] ) )? 'true' : 'false' ; ?>,
// Nombre d'élément dans les listes d'auto-complétion
'autocompletionElementsNbre' : NBRE_ELTS_AUTOCOMP,
// URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au,an&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrlTpl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au,an&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Nombre d'observations max autorisé avant transmission
'obsMaxNbre' : 10,
// Durée d'affichage en milliseconde des messages d'informations
'dureeMessage' : 10000,
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
'serviceNomCommuneUrl' : "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}",
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
'serviceNomCommuneUrlAlt' : "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"
};
//]]>
</script>
<!-- Barre de navigation -->
<?php if ( $bar ): ?>
<script src="<?php echo $url_script_navigation; ?>"></script>
<?php endif; ?>
</body>
</html>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/i18n/nl.ini
New file
0,0 → 1,104
[General]
obligatoire = "verplicht"
choisir = "kiezen"
 
[Aide]
titre = ""
description=""
bouton=""
contact=""
contact2=""
 
[Observateur]
titre = "Waarnemer"
compte = "Ik log in op mijn account&nbsp;:"
connexion = "Verbinding"
nonconnexion = "Observatie zonder registratie"
inscription = "Inschrijving"
noninscription = "Ik wil me niet registreren&nbsp;:"
bienvenue = "Welkom&nbsp;: "
profil = "Mijn profiel"
deconnexion = "Afmelden"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = ""
courriel-input-title = ""
prenom = "Voornaam"
nom = "Naam"
alertcc-title = "Informatie&nbsp;: copy / paste"
alertcc = "Kopieer en plak uw e-mail aub niet. <br/>
Dubbele invoer maakt het mogelijk om de afwezigheid van fouten te controleren."
alertni-title = "Information&nbsp;: niet-geïdentificeerde waarnemer"
alertni = "Uw observatie moet gekoppeld zijn aan een account of een e-mail."
 
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
geoloc-title = ""
alertgk-title = ""
alertgk = ""
milieu = "Milieu"
milieu-title = ""
liste-milieu-title = ""
milieu-ph = ""
date = "Datum waarneming"
date-title =""
referentiel = ""
referentiel-title = ""
espece = "Algemene soort"
espece-title = ""
liste-espece-title = "Selecteer een soort in de combo door zijn Latijnse naam of gemeenschappelijke. Als een soort afwezig is, selecteer 'Anderen'"
autre-espece = "Andere soort"
error-taxon = "Een waarneming moet ten minste één afbeelding of soortnaam bevatten."
alert-img-tax-title = "Informatie&nbsp;: Onvolledige observatie"
alert-img-tax = "Een waarneming moet ten minste één plaats, datum en auteur bevatten en een soortnaam of een afbeelding."
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
notes-title = ""
notes-ph = "Vrij aanvullen"
lieudit = "Plaats"
lieudit-title = ""
station = "Station"
station-title = "Specifieke locatie van de waarneming die een homogene ecologische eenheid definieert"
 
[Image]
titre = "Afbeelding(en) van de plant"
aide = "U kunt foto's toevoegen in JPEG formaat van elk maximaal 5 MB. "
ajouter = "Voeg één foto"
 
 
[Chpsupp]
titre = ""
select-checkboxes-texte = ""
 
[Resume]
creer = "Toevoegen"
creer-title = "Zodra de velden zijn ingevuld, kunt u op deze knop te klikken voeg uw opmerkingen aan de lijst toe te zenden"
alert10max = "Informatie&nbsp;"
alert10max-desc = "U heeft zojuist toegevoegd 10e waardening..<br/>
Om nieuwe toe te voegen, is het noodzakelijk om te verzenden door te klikken op de onderstaande knop."
alertchp = "Informatie&nbsp: invoerfout"
alertchp-desc = "Enige vorm velden zijn onjuist ingevulde.<br/>
Controleer uw gegevens."
titre = "Opmerkingen lijst van de verzendende&nbsp;:"
trans-title = "Voegt de volgende opmerkingen naar uw Notebook Online en openbaar maakt."
trans = "Verzenden"
alert0obs = "Waarschuwing: geen waarneming"
alert0obs-desc = "Geef waarnemingen te verzenden."
info-trans = "Informatie : toezenden van waarnemingen"
alerttrans = "Fout : toezenden van waarnemingen"
nbobs = "waarnemingen verscheept"
transencours = "Transfer waarnemingen in progress...<br />
Dit kan enkele minuten, afhankelijk van het beeldformaat en het aantal te nemen
waarnemingen over te dragen."
transok = "Heel hartelijk bedankt&nbsp;! Uw waarnemingen zijn doorgestuurd.<br />
Ze worden nu weergegeven op de kaart <a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint?projet=bellesdemarue&lang=nl\">Straatmadeliefjes</a>"
transko = "Een fout is opgetreden bij de overdracht van een waarneming (in het rood).<br />
U kunt proberen om opnieuw te verzenden door te klikken opnieuw op de zendknop of te verwijderen
en het volgende in te dienen.<br />
De waarnemingen worden niet weergegeven in de lijst op de opmerkingen te zenden zijn verzonden in uw vorige poging."
 
/branches/v3.01-serpe/widget/modules/saisie/squelettes/i18n/en.ini
New file
0,0 → 1,134
[General]
obligatoire = "required"
choisir = "Choose one option"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a> network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton="Inactive help"
contact="For any questions,"
contact2="contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
nonconnexion = "Observation without registration"
inscription = "Create an account"
noninscription = "I don't want to use an account&nbsp;:"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
 
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
geoloc-title = "Fill in the location of your observation"
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
milieu = "Environment"
milieu-title = "Type of habitat, for example from the Corine or Catminat codes"
liste-milieu-title = "Choose a habitat type"
milieu-ph = "wood, field, cliff, ..."
date = "Date"
date-title ="Enter the date of the observation"
referentiel = "Referential"
referentiel-title = "Choose a repository for taxon entry"
espece = "Species"
espece-title = "Enter the observed taxon, using autocompletion as much as possible"
liste-espece-title = "Choose from the list the observed taxon, or choose \"other\" and enter the observed taxon, using autocompletion as much as possible"
autre-espece = "Other species"
error-taxon = "An observation must include at least either a species name or an image"
alert-img-tax-title = "Information&nbsp;: Incomplete observation"
alert-img-tax = "An observation must include at least one place, date, and author, and either a species name or an image"
certitude = "Certainty"
certitude-title = "Fill in how much the taxon's identification is certain"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
notes = "Notes"
notes-title = "Add additional information to your observation"
notes-ph = "You can optionally add additional information to your observation."
lieudit = "Locality"
lieudit-title = "Toponym more accurate than the locality"
station = "Station"
station-title = "Specific location of the observation defining a homogeneous ecological unit"
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each.<br>
Depending on its size on the disk, it can take a long time to download a photo. <br>
Meanwhile the sending of the observation will be interrupted. <br>
You can cancel it by clicking on the delete button of the photo being downloaded."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alertchargt = "Image loading"
alertchargt-desc = "The creation of this observation will be available again as soon as the image has been loaded. <br/>
You can cancel the action by clicking on the delete button of the photo being downloaded."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transko = "An error occurred while transmitting an observation.<br />
Check that you are identified (either by logging in if you are registered or by filling in your email) and that all mandatory fields are correctly filled in. <br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">the error reporting form</a>."
/branches/v3.01-serpe/widget/modules/saisie/squelettes/i18n/fr.ini
New file
0,0 → 1,137
[General]
obligatoire = "obligatoire"
choisir = "Choisir"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a>
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/\#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Connexion"
nonconnexion = "Observation sans inscription"
inscription = "Inscription"
noninscription = "Je ne souhaite pas m'inscrire&nbsp;:"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
courriel = "Courriel"
courriel-confirmation = "Courriel (confirmation)"
courriel-confirmation-title = "Veuillez confirmer le courriel."
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées&nbsp;: prénom et nom."
prenom = "Prénom"
nom = "Nom"
alertcc-title = "Information&nbsp;: copier/coller"
alertcc = "Merci de ne pas copier/coller votre courriel.<br/>
La double saisie permet de vérifier l'absence d'erreurs."
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée soit à un compte, soit à un email.<br/>
Veuillez choisir, soit de vous connecter, soit de vous inscrire, soit communiquer une adresse email afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
geoloc-title = "Renseignez la localisation de votre observation"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
milieu = "Milieu"
milieu-title = "Type d’habitat, par exemple issu des codes Corine ou Catminat"
liste-milieu-title = "Choisir un type d'habitat"
milieu-ph = "bois, champ, falaise, ..."
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
referentiel = "Référentiel"
referentiel-title = "Choisir un référentiel pour la saisie du taxon"
espece = "Espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
liste-espece-title = "Choisir dans la liste le taxon observé, ou choisir \"autre\" et saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
autre-espece = "Autre espèce"
error-taxon = "Une observation doit comporter au moins une image ou un nom d'espèce"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
alert-img-tax = "Une observation doit comporter au moins un lieu, une date et un auteur, et soit un nom d'espèce, soit une image"
certitude = "Certitude"
certitude-title = "Renseigner à quel point l'identification du taxon est certaine"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
notes = "Notes"
notes-title = "Ajouter des informations complémentaires à votre observation"
notes-ph = "Vous pouvez éventuellement ajouter des informations complémentaires à votre observation."
lieudit = "Lieu-dit"
lieudit-title = "Toponyme plus précis que la localité"
station = "Station"
station-title = "Lieu précis de l'observation définissant une unité écologique homogène"
 
[Image]
titre = "Image(s) de cette plante"
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.<br>
En fonction de sa taille sur le disque le téléchargement d'une photo peut être long.<br>
Pendant ce temps, l'envoi de l'observation sera interrompu.<br>
Vous pouvez l'annuler en cliquant sur le bouton supprimer de la photo en cours de téléchargement."
ajouter = "Ajouter une image"
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alertchargt = "Image en cours de chargement"
alertchargt-desc = "La création de cette observation sera à nouveau disponible dès que l'image aura été chargée.<br/>
Vous pouvez annuler l'action en cliquant sur le bouron supprimer de la photo en cours de téléchargement."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br />
N'oubliez pas qu'il est nécessaire de
<a href=\"https://beta.tela-botanica.org/test/page:inscription\">s'inscrire à Tela Botanica</a>
au préalable, si ce n'est pas déjà fait."
transko = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vérifiez que vous êtes identifié (soit en vous connectant si vous êtes inscrit, soit en renseignant votre email) et que tous les champs obligatoires sont correctement remplis.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">le formulaire de signalement d'erreurs</a>."
/branches/v3.01-serpe/widget/modules/saisie/squelettes/apa.tpl.html
New file
0,0 → 1,305
<?php
$nom_projet_metas = '';
switch($widget['projet']) {
case 'tb_lichensgo':
$nom_projet_metas = 'Lichens Go!';
break;
case 'tb_streets':
$nom_projet_metas = 'sTREETs';
break;
case 'tb_aupresdemonarbre':
default:
$nom_projet_metas = 'APA';
break;
}
?>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo preg_replace('/<((?!>.*<*).)*>/', ' ',$widget['titre']); ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne pour <?php echo $nom_projet_metas; ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL pour <?php echo $nom_projet_metas; ?>" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne pour <?php echo $nom_projet_metas; ?>" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" integrity="sha512-gc3xjCmIy673V6MyOAZhIW93xhM9ei1I+gLbmFjUHIjocENRsLX/QUE1htk5q1XV2D/iie/VQ8DXI6Vu8bexvQ==" crossorigin="anonymous">
<link rel="stylesheet" href="<?php echo $url_base;?>js/tb-geoloc/css/leaflet-gesture-handling.min.css" type="text/css">
<link rel="stylesheet" href="<?php echo $url_base;?>js/tb-geoloc/css/geoloc.css" type="text/css">
<!-- STYLE SPECIFIQUE -->
<link href="<?php echo $url_base; ?>css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo $url_base; ?>css/asl.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
 
<style>
:not(.miniature).loading::after {
content:'';
display: inline-block;
background-image: url("<?php echo $url_base; ?>img/icones/chargement-image.gif");
background-size: 1rem;
height: 1rem;
width: 1rem;
}
</style>
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<!-- carto -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js" integrity="sha512-ozq8xQKq6urvuU6jNgkfqAmT7jKN2XumbrX1JiB3TnF7tI48DPI4Gy1GXKD/V3EExgAs1V+pRO7vwtS1LHg0Gw==" crossorigin="anonymous"></script>
<script src="<?php echo $url_base;?>js/tb-geoloc/js/modules/leaflet-gesture-handling.min.js"></script>
<!-- chargement des formulaires -->
<script type="module" src="<?php echo $url_base; ?>js/InitialisationASL.js"></script>
<script type="text/javascript">
//<![CDATA[
// Nombre d'éléments dans l'autocompletion taxon
const NBRE_ELTS_AUTOCOMP = 20;
 
const widgetProp = {
// url jusqu'à "/widget:cel:"
'urlWidgets' : "<?php echo $widgets_url; ?>",
// id du projet
'idProjet' : "<?php echo $widget['id_projet']; ?>",
// module utilisé (tb_aupresdemonarbre,tb_lichensgo,tb_streets)
'projet' : "<?php echo $widget['projet']; ?>",
// tags du projet
'tagsMotsCles' : "<?php echo $widget['motscles']; ?>",
// local/test/prod
'mode' : "<?php echo $conf_mode; ?>",
'langue' : "<?php echo $langue; ?>",
// La présence du parametre 'debug' dans l'URL enclenche le débogage
'debug' : <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>,
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
'html5' : <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>,
// URL du web service réalisant l'insertion des données dans la base du CEL.
'serviceSaisieUrl' : "<?php echo $url_ws_saisie; ?>",
// URL du web service permettant de récupérer les infos d'une observation du CEL.
'serviceObsUrl' : "<?php echo $url_ws_obs; ?>",
// URL du web service permettant de récupérer les images d'une observation.
'serviceObsImgs' : "<?php echo $url_ws_cel_imgs; ?>",
// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
'serviceObsImgUrl' : "<?php echo $url_ws_cel_img_url; ?>",
// Squelette d'URL du web service de l'annuaire.
'serviceAnnuaireIdUrl' : "<?php echo $url_ws_annuaire; ?>",
// URL de l'icône du chargement en cours d'une image
'chargementImageIconeUrl' : "<?php echo $url_base; ?>img/icones/chargement.gif",
// URL de l'icône pour une photo manquante
'pasDePhotoIconeUrl' : "<?php echo $url_base; ?>img/icones/pasdephoto.png",
// Nombre d'éléments dans l'autocompletion taxon
'autocompletionElementsNbre' : NBRE_ELTS_AUTOCOMP,
'dureeMessage' : 10000,
'obsMaxNbre' : 10,
// URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrlTpl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
'serviceNomCommuneUrl' : "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}",
'serviceNomCommuneUrlAlt' : "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"
 
};
const URL_GEOLOC_SERVICE = "<?php echo $url_ws_geoloc;?>";
const URL_BASE = "<?php echo $url_base;?>";
</script>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-url-widgets="<?php echo $widgets_url; ?>" data-obs-list="<?php echo $url_ws_obs_list; ?>" data-lang="<?php echo $langue; ?>" data-projet="<?php echo $widget['projet']; ?>" data-tag-obs="<?php echo $widget['tag-obs']; ?>" data-mode="<?php echo $conf_mode; ?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.' . preg_replace( '/(?:imag)?e\/?/','', $widget['logo'] ) ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo $widget['titre'];?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3>Aide</h3>
<div id="aide-txt" class="hiden-sm-down">
<p>
Cet outil vous permet de partager simplement vos observations avec le réseau Tela Botanica (sous <a target="_blank" href="https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction"> licence CC BY-SA 2.0 FR</a>).<br>
Identifiez-vous pour retrouver et gérer vos données dans votre <a target="_blank" href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et partagez-les avec le bouton "transmettre". <a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre">Sous certaines conditions</a>, elles apparaîtront alors sur <a target="_blank" href="https://www.tela-botanica.org/appli:identiplante">IdentiPlante</a>, <a target="_blank" href="https://www.tela-botanica.org/appli:pictoflora">PictoFlora</a>, eFlore, les <a target="_blank" href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartes</a> et galeries photos du site.<br>
En cas de question ou pour en savoir plus, <a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie">consultez l'aide</a> ou contactez-nous à cel_remarques@tela-botanica.org.
</p>
</div>
</div>
</div>
</div>
 
<!-- zone observateur -->
<div id="formulaire" class="row mb-3">
<form id="form-observateur" role="form" autocomplete="on">
<h2 class="mb-3">Observateur</h2>
<div id="tb-observateur" class="row">
 
<div class="control-group col-md-6 col-sm-8 mb-3">
<div id="bloc-connexion">
<h3>Je me connecte à mon compte&nbsp;:</h3>
<label for="courriel" class="col-sm-8 obligatoire">
<i class="fa fa-envelope" aria-hidden="true"></i>&nbsp;Courriel
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control has-tooltip" data-toggle="tooltip" type="email" title="Veuillez saisir votre adresse courriel." autocomplete="email">
</div>
 
<label for="mdp" class="col-sm-8 obligatoire">
<i class="fas fa-user-lock"></i>&nbsp;Mot de passe
</label>
<div class="col-sm-8 mb-3">
<input id="mdp" name="mdp" class="form-control has-tooltip" data-toggle="tooltip" type="password" title="Veuillez saisir votre mot de passe." autocomplete="current-password">
</div>
 
<div id="boutons-connexion" class="col-sm-8 ml-3">
<a id="inscription" href="" class="mb-1" target="_blank">Créer un compte</a>
<a id="oublie" href="" class="float-right pr-3 mb-1" target="_blank">Mot de pase oublié?</a>
<div class="mt-3">
<a id="connexion" href="" class="float-right mr-3 btn btn-success" target="_blank">Se connecter</a>
</div>
</div>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte">Bienvenue&nbsp;: </label>
<a href="" class="list-tool btn btn-large btn-info volet-toggle" data-toggle="volet">
<span id="nom-complet"></span>
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" target="_blank">Mon profil</a>
</div>
<div id="deconnexion"><a href="">Déconnexion</a></div>
</div>
</div>
<p id="nb-releves-bienvenue" class="hidden">
Vous avez déjà saisi <span class="font-weight-bold nb-releves">0</span> relevés pour <span class="font-weight-bold">Aupres de mon Arbre</span>. Merci!
</p>
</div>
<div id="releves-utilisateur" class="col-md-6 col-sm-8 mt-3">
<a href="" id="bouton-list-releves" class="mb-3 btn btn-info hidden">
<i class="fas fa-history"></i>&nbsp;Reprendre un précédent relevé
</a>
<div class="table-responsive mb-3">
<table id="table-releves" class="table table-hover hidden">
<tbody id="list-releves" class="border-0">
</tbody>
</table>
</div>
<a href="" id="bouton-nouveau-releve" class="mb-3 btn btn-info hidden" data-load="arbres">
<i class="fas fa-broom"></i>&nbsp;Réinitialiser le formulaire
</a>
</div>
</div>
</form><!-- fin zone observateur -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: observateur non identifié</h4>
<p>
Votre observation doit être liée à un compte.<br>
Veuillez vous connecter afin de vous identifier comme auteur de l'observation.<br>
Pour retrouver vos observations dans le <a target="_blank" href="http://www.tela-botanica.org/appli:cel">Carnet en ligne</a>, il est nécesaire de <a target="_blank" href="http://www.tela-botanica.org/page:inscription">vous inscrire à Tela Botanica</a>.
</p>
</div>
</div>
<!-- zone relevé -->
 
<!-- zone chargement arbres lichens ou plantes -->
<div id="charger-form" data-mode="<?php echo $conf_mode; ?>" data-load="arbres"></div>
<!-- fin zone chargement formulaire -->
 
</div><!-- fin formulaire -->
 
</div><!-- fin Layout-wrapper page -->
</div><!-- fin zone-appli -->
 
<!-- modale -->
<div id="fenetre-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fenetre-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fenetre-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
<input id="prenom" name="prenom" type="hidden">
<input id="nom" name="nom" type="hidden">
<input id="<?php echo $widget['projet']; ?>-obs" type="hidden" value="">
<input id="releve-data" type="hidden" value="">
<input id="dates-rues-communes" type="hidden" value="">
<input id="img-releve-data" type="hidden" value="">
</body>
</html>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/dept.csv
New file
0,0 → 1,102
"dep","reg","cheflieu","tncc","ncc","nccenr","libelle"
"01","84","01053","5",AIN,Ain,Ain
"02","32","02408","5",AISNE,Aisne,Aisne
"03","84","03190","5",ALLIER,Allier,Allier
"04","93","04070","4",ALPES DE HAUTE PROVENCE,Alpes-de-Haute-Provence,Alpes-de-Haute-Provence
"05","93","05061","4",HAUTES ALPES,Hautes-Alpes,Hautes-Alpes
"06","93","06088","4",ALPES MARITIMES,Alpes-Maritimes,Alpes-Maritimes
"07","84","07186","5",ARDECHE,Ardèche,Ardèche
"08","44","08105","4",ARDENNES,Ardennes,Ardennes
"09","76","09122","5",ARIEGE,Ariège,Ariège
"10","44","10387","5",AUBE,Aube,Aube
"11","76","11069","5",AUDE,Aude,Aude
"12","76","12202","5",AVEYRON,Aveyron,Aveyron
"13","93","13055","4",BOUCHES DU RHONE,Bouches-du-Rhône,Bouches-du-Rhône
"14","28","14118","2",CALVADOS,Calvados,Calvados
"15","84","15014","2",CANTAL,Cantal,Cantal
"16","75","16015","3",CHARENTE,Charente,Charente
"17","75","17300","3",CHARENTE MARITIME,Charente-Maritime,Charente-Maritime
"18","24","18033","2",CHER,Cher,Cher
"19","75","19272","3",CORREZE,Corrèze,Corrèze
"21","27","21231","3",COTE D OR,Côte-d'Or,Côte-d'Or
"22","53","22278","4",COTES D ARMOR,Côtes-d'Armor,Côtes-d'Armor
"23","75","23096","3",CREUSE,Creuse,Creuse
"24","75","24322","3",DORDOGNE,Dordogne,Dordogne
"25","27","25056","2",DOUBS,Doubs,Doubs
"26","84","26362","3",DROME,Drôme,Drôme
"27","28","27229","5",EURE,Eure,Eure
"28","24","28085","1",EURE ET LOIR,Eure-et-Loir,Eure-et-Loir
"29","53","29232","2",FINISTERE,Finistère,Finistère
"2A","94","2A004","3",CORSE DU SUD,Corse-du-Sud,Corse-du-Sud
"2B","94","2B033","3",HAUTE CORSE,Haute-Corse,Haute-Corse
"30","76","30189","2",GARD,Gard,Gard
"31","76","31555","3",HAUTE GARONNE,Haute-Garonne,Haute-Garonne
"32","76","32013","2",GERS,Gers,Gers
"33","75","33063","3",GIRONDE,Gironde,Gironde
"34","76","34172","5",HERAULT,Hérault,Hérault
"35","53","35238","1",ILLE ET VILAINE,Ille-et-Vilaine,Ille-et-Vilaine
"36","24","36044","5",INDRE,Indre,Indre
"37","24","37261","1",INDRE ET LOIRE,Indre-et-Loire,Indre-et-Loire
"38","84","38185","5",ISERE,Isère,Isère
"39","27","39300","2",JURA,Jura,Jura
"40","75","40192","4",LANDES,Landes,Landes
"41","24","41018","2",LOIR ET CHER,Loir-et-Cher,Loir-et-Cher
"42","84","42218","3",LOIRE,Loire,Loire
"43","84","43157","3",HAUTE LOIRE,Haute-Loire,Haute-Loire
"44","52","44109","3",LOIRE ATLANTIQUE,Loire-Atlantique,Loire-Atlantique
"45","24","45234","2",LOIRET,Loiret,Loiret
"46","76","46042","2",LOT,Lot,Lot
"47","75","47001","2",LOT ET GARONNE,Lot-et-Garonne,Lot-et-Garonne
"48","76","48095","3",LOZERE,Lozère,Lozère
"49","52","49007","2",MAINE ET LOIRE,Maine-et-Loire,Maine-et-Loire
"50","28","50502","3",MANCHE,Manche,Manche
"51","44","51108","3",MARNE,Marne,Marne
"52","44","52121","3",HAUTE MARNE,Haute-Marne,Haute-Marne
"53","52","53130","3",MAYENNE,Mayenne,Mayenne
"54","44","54395","0",MEURTHE ET MOSELLE,Meurthe-et-Moselle,Meurthe-et-Moselle
"55","44","55029","3",MEUSE,Meuse,Meuse
"56","53","56260","2",MORBIHAN,Morbihan,Morbihan
"57","44","57463","3",MOSELLE,Moselle,Moselle
"58","27","58194","3",NIEVRE,Nièvre,Nièvre
"59","32","59350","2",NORD,Nord,Nord
"60","32","60057","5",OISE,Oise,Oise
"61","28","61001","5",ORNE,Orne,Orne
"62","32","62041","2",PAS DE CALAIS,Pas-de-Calais,Pas-de-Calais
"63","84","63113","2",PUY DE DOME,Puy-de-Dôme,Puy-de-Dôme
"64","75","64445","4",PYRENEES ATLANTIQUES,Pyrénées-Atlantiques,Pyrénées-Atlantiques
"65","76","65440","4",HAUTES PYRENEES,Hautes-Pyrénées,Hautes-Pyrénées
"66","76","66136","4",PYRENEES ORIENTALES,Pyrénées-Orientales,Pyrénées-Orientales
"67","44","67482","2",BAS RHIN,Bas-Rhin,Bas-Rhin
"68","44","68066","2",HAUT RHIN,Haut-Rhin,Haut-Rhin
"69","84","69123","2",RHONE,Rhône,Rhône
"70","27","70550","3",HAUTE SAONE,Haute-Saône,Haute-Saône
"71","27","71270","0",SAONE ET LOIRE,Saône-et-Loire,Saône-et-Loire
"72","52","72181","3",SARTHE,Sarthe,Sarthe
"73","84","73065","3",SAVOIE,Savoie,Savoie
"74","84","74010","3",HAUTE SAVOIE,Haute-Savoie,Haute-Savoie
"75","11","75056","0",PARIS,Paris,Paris
"76","28","76540","3",SEINE MARITIME,Seine-Maritime,Seine-Maritime
"77","11","77288","0",SEINE ET MARNE,Seine-et-Marne,Seine-et-Marne
"78","11","78646","4",YVELINES,Yvelines,Yvelines
"79","75","79191","4",DEUX SEVRES,Deux-Sèvres,Deux-Sèvres
"80","32","80021","3",SOMME,Somme,Somme
"81","76","81004","2",TARN,Tarn,Tarn
"82","76","82121","2",TARN ET GARONNE,Tarn-et-Garonne,Tarn-et-Garonne
"83","93","83137","2",VAR,Var,Var
"84","93","84007","2",VAUCLUSE,Vaucluse,Vaucluse
"85","52","85191","3",VENDEE,Vendée,Vendée
"86","75","86194","3",VIENNE,Vienne,Vienne
"87","75","87085","3",HAUTE VIENNE,Haute-Vienne,Haute-Vienne
"88","44","88160","4",VOSGES,Vosges,Vosges
"89","27","89024","5",YONNE,Yonne,Yonne
"90","27","90010","2",TERRITOIRE DE BELFORT,Territoire de Belfort,Territoire de Belfort
"91","11","91228","5",ESSONNE,Essonne,Essonne
"92","11","92050","4",HAUTS DE SEINE,Hauts-de-Seine,Hauts-de-Seine
"93","11","93008","3",SEINE SAINT DENIS,Seine-Saint-Denis,Seine-Saint-Denis
"94","11","94028","2",VAL DE MARNE,Val-de-Marne,Val-de-Marne
"95","11","95500","2",VAL D OISE,Val-d'Oise,Val-d'Oise
"971","01","97105","3",GUADELOUPE,Guadeloupe,Guadeloupe
"972","02","97209","3",MARTINIQUE,Martinique,Martinique
"973","03","97302","3",GUYANE,Guyane,Guyane
"974","04","97411","0",LA REUNION,La Réunion,La Réunion
"976","06","97608","0",MAYOTTE,Mayotte,Mayotte
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/saisieSpe.css
New file
0,0 → 1,159
@CHARSET "UTF-8";
 
form#form-supp,
#tb-navigation,
#tb-navbar{
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.navbar-nav,
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
flex-direction: row;
}
 
.navbar.navbar-default {
margin-bottom: 0;
}
 
#bouton-connexion label,
#creation-compte label {
width: 100%;
}
 
.navbar-default .navbar-nav > .volet #bouton-anonyme,
.navbar-default .navbar-nav > .volet #inscription {
width: auto;
}
 
.navbar-default .navbar-nav > .volet > a {
margin-left: 0.2rem;
}
 
#bouton-connexion a {
color: #fff;
background-color: #b2cb43;
border-color: #a1b92e;;
}
 
#bouton-connexion a:focus,
#bouton-connexion a:hover {
background-color: #a2b93b;
border-color: #9ab227;
}
 
/*************************************************************************/
 
#zone-appli #formulaire .multiselect.list-checkbox {
padding: 0;
margin: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp select,
#zone-appli #formulaire .list-checkbox select,
#zone-appli #formulaire .selectBox select {
background-color: #fff;
border: 1px solid #ced4da;
}
 
#form-supp select,
.list-checkbox select,
.selectBox select{
border-radius: 0.3rem;
}
 
#form-supp .select-wrapper,
.list-checkbox .select-wrapper,
#zone-appli #formulaire .selectBox {
position: relative;
z-index: 1000;
border-radius: 0.3rem;
}
 
#zone-appli #formulaire .selectBox .focus {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
 
#zone-appli #formulaire .input-group .select-wrapper {
border:none;
}
 
#zone-appli #formulaire .overSelect {
position: absolute;
z-index: 999;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #formulaire .checkboxes {
position: absolute;
z-index: 1001;
top: 120%;
left: 1rem;
right: 1rem;
background-color: #fff;
border: 1px solid #ced4da;
border-top: 0;
border-radius: 0 0 0.3rem 0.3rem;
margin-top: -0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .label label,
#zone-appli #formulaire .list-checkbox .label label,
#zone-appli #formulaire .checkboxes label {
display: block;
padding: 0.5rem;
font-weight: 400;
margin:0;
}
 
#zone-appli #formulaire .checkboxes label:hover {
background: #1e90ff;
color: #fff;
}
 
#zone-appli #formulaire .selectBox select option {
padding-block-start: 0;
padding-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
}
 
#zone-appli #formulaire .collect-other {
margin: 0.5rem;
width: 90%;
}
 
/*************************************************************************/
 
.range-values {
color: #606060;
}
 
.range-live-value {
padding-top: 1rem;
font-size: 1rem;
}
 
.custom-range {
border: none;
}
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
.navbar-nav, .nav {
flex-direction: column;
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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CE,uBR25BiC;EQ15BjC,eRy5B+B;EQx5B/B,YRkEW;EQjEX,0BR6EiC;EMtG/B,sBN8T0B;CQ3R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBR6NmB;CQ3NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eRs4B+B;EQr4B/B,eR2DiC;CQjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBRm4BiC;EQl4BjC,mBAAkB;CACnB;;AC1DC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZgvBF;;AchsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZuvBF;;AcvsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZ8vBF;;Ac9sBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZqwBF;;AcrtBG;EFnDF;ICkBI,aVqMK;IUpML,gBAAe;GDhBlB;CZ4wBF;;Ac5tBG;EFnDF;ICkBI,aVsMK;IUrML,gBAAe;GDhBlB;CZmxBF;;AcnuBG;EFnDF;ICkBI,aVuMK;IUtML,gBAAe;GDhBlB;CZ0xBF;;Ac1uBG;EFnDF;ICkBI,cVwMM;IUvMN,gBAAe;GDhBlB;CZiyBF;;AYxxBC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZqyBF;;AchwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ4yBF;;AcvwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZmzBF;;Ac9wBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ0zBF;;AYlzBC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B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EY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB4WmC;CiB5TpC;;AhBjDG;EiBMA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,uDlB6V+B;UkB7V/B,+ClB6V+B;CkB3VlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBqViC;CkBpVlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBpDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBvDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhB1DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB7DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBgDc;CiBxBf;;AhBlEG;EiB6CA,YAPoD;EAQpD,0BlB4CY;EkB3CZ,sBlB2CY;CC1FS;;AiBkDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBsUmC;EkBrUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBlBmUmC;CiBxSpC;;AhBrEG;EiB6CA,YAPoD;EAQpD,uBlB+TiC;EkB9TjC,mBlB8TiC;CC7WZ;;AiBkDvB;EAEE,uDlByTiC;UkBzTjC,+ClByTiC;CkBxTlC;;AAED;EAEE,YlBoTiC;EkBnTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBlB4SiC;EkB3SjC,mBlB2SiC;CkB1SlC;;ADGH;EC/BE,elBoDc;EkBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBiDc;CiBnBf;;AhBxEG;EiB6CA,YAPoD;EAQpD,0BlB6CY;EkB5CZ,sBlB4CY;CC3FS;;AiBkDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB+Cc;CiBdf;;AhB3EG;EiB6CA,YAPoD;EAQpD,0BlB2CY;EkB1CZ,sBlB0CY;CCzFS;;AiBkDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB6Cc;CiBTf;;AhB9EG;EiB6CA,YAPoD;EAQpD,0BlByCY;EkBxCZ,sBlBwCY;CCvFS;;AiBkDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB4Cc;CiBLf;;AhBjFG;EiB6CA,YAPoD;EAQpD,0BlBwCY;EkBvCZ,sBlBuCY;CCtFS;;AiBkDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADsBH;EACE,oBjB4JyB;EiB3JzB,ejBDc;EiBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBzGC;EgB2GA,0BAAyB;ChB3GJ;;AAUrB;EgBoGA,ejB2E4C;EiB1E5C,2BjB2E6B;EiB1E7B,8BAA6B;ChBnG5B;;AgB4EL;EA0BI,ejBjB+B;CiBsBhC;;AhB9GC;EgB4GE,sBAAqB;ChBzGtB;;AgBmHL;ECxDE,wBlB4TqC;EkB3TrC,mBlByKsB;EMxPpB,sBN6T0B;CiBpL7B;;AACD;EC5DE,wBlByToC;EkBxTpC,oBlB0KsB;EMzPpB,sBN8T0B;CiBjL7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkPoC;CiBjPrC;;AAGD;;;EAII,YAAW;CACZ;;AExKH;EACE,WAAU;EZcN,yCP2TsC;EO3TtC,oCP2TsC;EO3TtC,iCP2TsC;CmBnU3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;AAGH;EAEI,mBAAkB;CACnB;;AAGH;EAEI,yBAAwB;CACzB;;AAGH;EACE,mBAAkB;EAClB,UAAS;EACT,iBAAgB;EZhBZ,sCP4TmC;EO5TnC,iCP4TmC;EO5TnC,8BP4TmC;CmB1SxC;;AChCD;;EAEE,mBAAkB;CACnB;;AAED;EAGI,sBAAqB;EACrB,SAAQ;EACR,UAAS;EACT,mBpB2TyB;EoB1TzB,uBAAsB;EACtB,YAAW;EACX,wBAA8B;EAC9B,sCAA4C;EAC5C,qCAA2C;CAC5C;;AAZH;EAgBI,WAAU;CACX;;AAGH;EAGM,cAAa;EACb,2BAAiC;CAClC;;AAKL;EACE,mBAAkB;EAClB,UAAS;EACT,QAAO;EACP,cpBwiB8B;EoBviB9B,cAAa;EACb,YAAW;EACX,iBpBugBoC;EoBtgBpC,kBAA8B;EAC9B,qBAAgC;EAChC,gBpB6MmB;EoB5MnB,epB2DiC;EoB1DjC,iBAAgB;EAChB,iBAAgB;EAChB,uBpB4CW;EoB3CX,qCAA4B;UAA5B,6BAA4B;EAC5B,sCpB2CW;EM3FT,uBN4T2B;CoBzQ9B;;AAGD;ECrDE,YAAW;EACX,iBAAyB;EACzB,iBAAgB;EAChB,0BrBqGiC;CoBjDlC;;AAKD;EACE,eAAc;EACd,YAAW;EACX,oBpBggBqC;EoB/frC,YAAW;EACX,oBpB0LyB;EoBzLzB,epBmCiC;EoBlCjC,oBAAmB;EACnB,oBAAmB;EACnB,iBAAgB;EAChB,UAAS;CAyBV;;AnBhFG;EmB0DA,epB8emD;EoB7enD,sBAAqB;EACrB,0BpB8B+B;CCvF9B;;AmB0CL;EAoBI,YpBSS;EoBRT,sBAAqB;EACrB,0BpBaY;CoBZb;;AAvBH;EA2BI,epBgB+B;EoBf/B,oBpBmXwC;EoBlXxC,8BAA6B;CAK9B;;AAIH;EAGI,eAAc;CACf;;AAJH;EAQI,WAAU;CACX;;AAOH;EACE,SAAQ;EACR,WAAU;CACX;;AAED;EACE,YAAW;EACX,QAAO;CACR;;AAGD;EACE,eAAc;EACd,uBpBgcqC;EoB/brC,iBAAgB;EAChB,oBpBuHsB;EoBtHtB,epB3BiC;EoB4BjC,oBAAmB;CACpB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,apB4b6B;CoB3b9B;;AAMD;EAGI,UAAS;EACT,aAAY;EACZ,wBpBsZoC;CoBrZrC;;AE5JH;;EAEE,mBAAkB;EAClB,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,uBAAsB;CAyBvB;;AA7BD;;EAOI,mBAAkB;EAClB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;CAYf;;AApBH;;EAaM,WAAU;CrBNS;;AqBPzB;;;;EAkBM,WAAU;CACX;;AAnBL;;;;;;;;EA2BI,kBtB2Ic;CsB1If;;AAIH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAA2B;EAA3B,oCAA2B;MAA3B,qBAA2B;UAA3B,4BAA2B;CAK5B;;AAPD;EAKI,YAAW;CACZ;;AAGH;EACE,iBAAgB;CACjB;;AAGD;EACE,eAAc;CAKf;;AAND;EhBhCI,8BgBoC8B;EhBnC9B,2BgBmC8B;CAC/B;;AAGH;;EhB1BI,6BgB4B2B;EhB3B3B,0BgB2B2B;CAC9B;;AAGD;EACE,YAAW;CACZ;;AACD;EACE,iBAAgB;CACjB;;AACD;;EhBpDI,8BgBuD8B;EhBtD9B,2BgBsD8B;CAC/B;;AAEH;EhB5CI,6BgB6C2B;EhB5C3B,0BgB4C2B;CAC9B;;AAGD;;EAEE,WAAU;CACX;;AAeD;EACE,uBAAmC;EACnC,sBAAkC;CAKnC;;AAPD;EAKI,eAAc;CACf;;AAGH;EACE,wBAAsC;EACtC,uBAAqC;CACtC;;AAED;EACE,wBAAsC;EACtC,uBAAqC;CACtC;;AAmBD;EACE,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CAcxB;;AAlBD;;EAQI,YAAW;CACZ;;AATH;;;;EAeI,iBtBoBc;EsBnBd,eAAc;CACf;;AAGH;EAEI,iBAAgB;CACjB;;AAHH;EhBlII,8BgBuI+B;EhBtI/B,6BgBsI+B;CAChC;;AANH;EhBhJI,2BgBwJ4B;EhBvJ5B,0BgBuJ4B;CAC7B;;AAEH;EACE,iBAAgB;CACjB;;AACD;;EhBhJI,8BgBmJ+B;EhBlJ/B,6BgBkJ+B;CAChC;;AAEH;EhBpKI,2BgBqK0B;EhBpK1B,0BgBoK0B;CAC7B;;AzBq2FD;;;;EyBj1FM,mBAAkB;EAClB,uBAAmB;EACnB,qBAAoB;CACrB;;ACnML;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,YAAW;CAkBZ;;AArBD;EAQI,mBAAkB;EAClB,WAAU;EACV,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EAGd,UAAS;EACT,iBAAgB;CAMjB;;AApBH;EAkBM,WAAU;CtBmCX;;AsB9BL;;;EAIE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CAKxB;;AAXD;;;EjBvBI,iBiBgCwB;CACzB;;AAGH;;EAEE,oBAAmB;EACnB,uBAAsB;CACvB;;AAwBD;EACE,wBvByVqC;EuBxVrC,iBAAgB;EAChB,gBvBoLmB;EuBnLnB,oBvBwLyB;EuBvLzB,kBvBuVmC;EuBtVnC,evBiCiC;EuBhCjC,mBAAkB;EAClB,0BvBiCiC;EuBhCjC,sCvBkBW;EM3FT,uBN4T2B;CuB7N9B;;AA/BD;;;EAcI,wBvBmWkC;EuBlWlC,oBvB0KoB;EMzPpB,sBN8T0B;CuB7O3B;;AAjBH;;;EAmBI,wBvBiWmC;EuBhWnC,mBvBoKoB;EMxPpB,sBN6T0B;CuBvO3B;;AAtBH;;EA4BI,cAAa;CACd;;AASH;;;;;;;EjBzFI,8BiBgG4B;EjB/F5B,2BiB+F4B;CAC/B;;AACD;EACE,gBAAe;CAChB;;AACD;;;;;;;EjBvFI,6BiB8F2B;EjB7F3B,0BiB6F2B;CAC9B;;AACD;EACE,eAAc;CACf;;AAMD;EACE,mBAAkB;EAGlB,aAAY;EACZ,oBAAmB;CAqCpB;;AA1CD;EAUI,mBAAkB;EAElB,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CAUR;;AAtBH;EAeM,kBvBmBY;CuBlBb;;AAhBL;EAoBM,WAAU;CtBlGX;;AsB8EL;;EA4BM,mBvBMY;CuBLb;;AA7BL;;EAkCM,WAAU;EACV,kBvBDY;CuBMb;;AAxCL;;;;EAsCQ,WAAU;CtBpHb;;AuB9CL;EACE,mBAAkB;EAClB,4BAAoB;EAApB,6BAAoB;EAApB,4BAAoB;EAApB,qBAAoB;EACpB,mBAAsC;EACtC,qBxBmc8B;EwBlc9B,mBxBmc4B;EwBlc5B,gBAAe;CAChB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,WAAU;CA8BX;;AAjCD;EAMI,YxBoES;EwBnET,0BxByEY;CwBvEb;;AATH;EAaI,sDxBmEY;UwBnEZ,8CxBmEY;CwBlEb;;AAdH;EAiBI,YxByDS;EwBxDT,0BxBicqE;CwB/btE;;AApBH;EAwBM,oBxBoasC;EwBnatC,0BxBgE6B;CwB/D9B;;AA1BL;EA6BM,exB2D6B;EwB1D7B,oBxB8ZsC;CwB7ZvC;;AAQL;EACE,mBAAkB;EAClB,aAA+D;EAC/D,QAAO;EACP,eAAc;EACd,YxBsZwC;EwBrZxC,axBqZwC;EwBpZxC,qBAAoB;EACpB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,uBxBoZwC;EwBnZxC,6BAA4B;EAC5B,mCAAkC;EAClC,iCxBkZ2C;UwBlZ3C,yBxBkZ2C;CwBhZ5C;;AAMD;ElB3EI,uBN4T2B;CwB9O5B;;AAHH;EAMI,2NxBhBuI;CwBiBxI;;AAPH;EAUI,0BxBWY;EwBVZ,wKxBrBuI;CwBuBxI;;AAOH;EAEI,mBxB6YqB;CwB5YtB;;AAHH;EAMI,qKxBpCuI;CwBqCxI;;AASH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;CASvB;;AAXD;EAKI,uBxB4V4B;CwBvV7B;;AAVH;EAQM,eAAc;CACf;;AAWL;EACE,sBAAqB;EACrB,gBAAe;EAEf,4BAAwD;EACxD,2CxByWuC;EwBxWvC,kBxBmRmC;EwBlRnC,exBnCiC;EwBoCjC,uBAAsB;EACtB,oNAAsG;EACtG,kCxB4WoC;UwB5WpC,0BxB4WoC;EwB3WpC,sCxBnDW;EM3FT,uBN4T2B;EwB3K7B,sBAAqB;EACrB,yBAAwB;CA4BzB;;AA3CD;EAkBI,sBxB2W2D;EwB1W3D,cAAa;CAYd;;AA/BH;EA4BM,exBxD6B;EwByD7B,uBxBtEO;CwBuER;;AA9BL;EAkCI,exB7D+B;EwB8D/B,oBxBsSwC;EwBrSxC,0BxB9D+B;CwB+DhC;;AArCH;EAyCI,WAAU;CACX;;AAGH;EACE,sBxBiUwC;EwBhUxC,yBxBgUwC;EwB/TxC,exBiV+B;CwB3UhC;;AAOD;EACE,mBAAkB;EAClB,sBAAqB;EACrB,gBAAe;EACf,exBkUmC;EwBjUnC,iBAAgB;EAChB,gBAAe;CAChB;;AAED;EACE,iBxB6TkC;EwB5TlC,gBAAe;EACf,exB0TmC;EwBzTnC,UAAS;EACT,yBAA0B;EAC1B,WAAU;CAKX;;AAED;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,QAAO;EACP,WAAU;EACV,exB0SmC;EwBzSnC,qBxB8S8B;EwB7S9B,iBxB8S6B;EwB7S7B,exBxHiC;EwByHjC,qBAAoB;EACpB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,uBxBxIW;EwByIX,sCxBxIW;EM3FT,uBN4T2B;CwB1D9B;;AA5CD;EAmBM,0BxB8SkB;CwB7SnB;;AApBL;EAwBI,mBAAkB;EAClB,UxB1Ec;EwB2Ed,YxB3Ec;EwB4Ed,axB5Ec;EwB6Ed,WAAU;EACV,eAAc;EACd,exBkRiC;EwBjRjC,qBxBsR4B;EwBrR5B,iBxBsR2B;EwBrR3B,exBhJ+B;EwBiJ/B,0BxB/I+B;EwBgJ/B,sCxB9JS;EM3FT,mCkB0PgF;CACjF;;AArCH;EAyCM,kBxB2RU;CwB1RX;;AC/PL;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CACjB;;AAED;EACE,eAAc;EACd,mBzB0mBsC;CyB/lBvC;;AxBLG;EwBHA,sBAAqB;CxBMpB;;AwBXL;EAUI,ezBsF+B;EyBrF/B,oBzBybwC;CyBxbzC;;AAQH;EACE,8BzB2lBgD;CyBzjBjD;;AAnCD;EAII,oBzBqIc;CyBpIf;;AALH;EAQI,8BAAgD;EnB9BhD,iCNsT2B;EMrT3B,gCNqT2B;CyB5Q5B;;AApBH;EAYM,mCzBglB4C;CCrmB7C;;AwBSL;EAgBM,ezB4D6B;EyB3D7B,8BAA6B;EAC7B,0BAAyB;CAC1B;;AAnBL;;EAwBI,ezBmD+B;EyBlD/B,uBzBqCS;EyBpCT,6BzBoCS;CyBnCV;;AA3BH;EA+BI,iBzB0Gc;EM/Jd,2BmBuD4B;EnBtD5B,0BmBsD4B;CAC7B;;AAQH;EnBtEI,uBN4T2B;CyBnP5B;;AAHH;;EAOI,YzBaS;EyBZT,gBAAe;EACf,0BzBiBY;CyBhBb;;AAQH;EAEI,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,mBAAkB;CACnB;;AAGH;EAEI,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,mBAAkB;CACnB;;AAQH;EAEI,cAAa;CACd;;AAHH;EAKI,eAAc;CACf;;ACpGH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,qB1BuHa;C0BtHd;;AAOD;EACE,sBAAqB;EACrB,oBAAmB;EACnB,uBAAsB;EACtB,mB1B2Ga;E0B1Gb,mB1B0NsB;E0BzNtB,qBAAoB;EACpB,oBAAmB;CAKpB;;AzBrBG;EyBmBA,sBAAqB;CzBhBpB;;AyByBL;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CAMjB;;AAXD;EAQI,iBAAgB;EAChB,gBAAe;CAChB;;AAQH;EACE,sBAAqB;EACrB,qBAAuB;EACvB,wBAAuB;CACxB;;AASD;EACE,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,yB1BghByC;E0B/gBzC,mB1B0KsB;E0BzKtB,eAAc;EACd,wBAAuB;EACvB,8BAAuC;EpBjFrC,uBN4T2B;C0BrO9B;;AzBvEG;EyBqEA,sBAAqB;CzBlEpB;;AyBwEL;EACE,sBAAqB;EACrB,aAAY;EACZ,cAAa;EACb,uBAAsB;EACtB,YAAW;EACX,oCAAmC;EACnC,mCAA0B;UAA1B,2BAA0B;CAC3B;;AAID;EACE,mBAAkB;EAClB,W1B+Ba;C0B9Bd;;AACD;EACE,mBAAkB;EAClB,Y1B2Ba;C0B1Bd;;Af7CG;EeiDJ;IASY,iBAAgB;IAChB,YAAW;GACZ;EAXX;IAeU,iBAAgB;IAChB,gBAAe;GAChB;C7By4GR;;Acx9GG;Ee8DJ;IAqBQ,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EApDL;IA0BU,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EAhCT;IA6BY,qBAAoB;IACpB,oBAAmB;GACpB;EA/BX;IAoCU,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAvCT;IA2CU,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EA7CT;IAiDU,cAAa;GACd;C7Bm4GR;;Act+GG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7B+6GR;;Ac9/GG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7By6GR;;Ac5gHG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7Bq9GR;;AcpiHG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7B+8GR;;AcljHG;EesDA;IAIQ,iBAAgB;IAChB,YAAW;GACZ;EANP;IAUM,iBAAgB;IAChB,gBAAe;GAChB;C7B2/GR;;Ac1kHG;EemEA;IAgBI,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GA6BtB;EA/CD;IAqBM,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAMpB;EA3BL;IAwBQ,qBAAoB;IACpB,oBAAmB;GACpB;EA1BP;IA+BM,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,0BAAiB;QAAjB,sBAAiB;YAAjB,kBAAiB;IACjB,0BAAmB;IAAnB,4BAAmB;QAAnB,uBAAmB;YAAnB,oBAAmB;GACpB;EAlCL;IAsCM,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;IACxB,YAAW;GACZ;EAxCL;IA4CM,cAAa;GACd;C7Bq/GR;;A6BliHG;EAgBI,+BAAmB;EAAnB,8BAAmB;EAAnB,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;CA6BtB;;AA/CD;EAIQ,iBAAgB;EAChB,YAAW;CACZ;;AANP;EAUM,iBAAgB;EAChB,gBAAe;CAChB;;AAZL;EAqBM,+BAAmB;EAAnB,8BAAmB;EAAnB,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;CAMpB;;AA3BL;EAwBQ,qBAAoB;EACpB,oBAAmB;CACpB;;AA1BP;EA+BM,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;CACpB;;AAlCL;EAsCM,gCAAwB;EAAxB,iCAAwB;EAAxB,gCAAwB;EAAxB,yBAAwB;EACxB,YAAW;CACZ;;AAxCL;EA4CM,cAAa;CACd;;AAYT;;EAGI,0B1BxFS;C0B6FV;;AARH;;;EAMM,0B1B3FO;CCxER;;AyB6JL;EAYM,0B1BjGO;C0B0GR;;AArBL;EAeQ,0B1BpGK;CCxER;;AyB6JL;EAmBQ,0B1BxGK;C0ByGN;;AApBP;;;;EA2BM,0B1BhHO;C0BiHR;;AA5BL;EAgCI,iC1BrHS;C0BsHV;;AAjCH;EAoCI,sQ1ByZyR;C0BxZ1R;;AArCH;EAwCI,0B1B7HS;C0B8HV;;AAIH;;EAGI,a1BtIS;C0B2IV;;AARH;;;EAMM,a1BzIO;CCvER;;AyB0ML;EAYM,gC1B/IO;C0BwJR;;AArBL;EAeQ,iC1BlJK;CCvER;;AyB0ML;EAmBQ,iC1BtJK;C0BuJN;;AApBP;;;;EA2BM,a1B9JO;C0B+JR;;AA5BL;EAgCI,uC1BnKS;C0BoKV;;AAjCH;EAoCI,4Q1BqW6R;C0BpW9R;;AArCH;EAwCI,gC1B3KS;C0B4KV;;ACtQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB3BsFW;E2BrFX,uC3BsFW;EM3FT,uBN4T2B;C2BrT9B;;AAED;EAGE,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,iB3BorBgC;C2BnrBjC;;AAED;EACE,uB3BirB+B;C2BhrBhC;;AAED;EACE,sBAAgC;EAChC,iBAAgB;CACjB;;AAED;EACE,iBAAgB;CACjB;;A1BrBG;E0ByBA,sBAAqB;C1BzBA;;A0BuBzB;EAMI,qB3B8pB8B;C2B7pB/B;;AAGH;ErBjCI,iCNsT2B;EMrT3B,gCNqT2B;C2BjR1B;;AAJL;ErBnBI,oCNwS2B;EMvS3B,mCNuS2B;C2B3Q1B;;AASL;EACE,yB3BsoBgC;E2BroBhC,iBAAgB;EAChB,0B3B6CiC;E2B5CjC,8C3B6BW;C2BxBZ;;AATD;ErB1DI,2DqBiE8E;CAC/E;;AAGH;EACE,yB3B2nBgC;E2B1nBhC,0B3BmCiC;E2BlCjC,2C3BmBW;C2BdZ;;AARD;ErBrEI,2DNssB2E;C2B1nB5E;;AAQH;EACE,wBAAkC;EAClC,wB3B4mB+B;E2B3mB/B,uBAAiC;EACjC,iBAAgB;CACjB;;AAED;EACE,wBAAkC;EAClC,uBAAiC;CAClC;;AAOD;ECtGE,0B5BiGc;E4BhGd,sB5BgGc;C2BOf;;ACrGC;;EAEE,8BAA6B;CAC9B;;ADmGH;ECzGE,0B5BgGc;E4B/Fd,sB5B+Fc;C2BWf;;ACxGC;;EAEE,8BAA6B;CAC9B;;ADsGH;EC5GE,0B5BkGc;E4BjGd,sB5BiGc;C2BYf;;AC3GC;;EAEE,8BAA6B;CAC9B;;ADyGH;EC/GE,0B5B8Fc;E4B7Fd,sB5B6Fc;C2BmBf;;AC9GC;;EAEE,8BAA6B;CAC9B;;AD4GH;EClHE,0B5B6Fc;E4B5Fd,sB5B4Fc;C2BuBf;;ACjHC;;EAEE,8BAA6B;CAC9B;;ADiHH;EC7GE,8BAA6B;EAC7B,sB5BsFc;C2BwBf;;AACD;EChHE,8BAA6B;EAC7B,mB5ByWmC;C2BxPpC;;AACD;ECnHE,8BAA6B;EAC7B,sB5BuFc;C2B6Bf;;AACD;ECtHE,8BAA6B;EAC7B,sB5BqFc;C2BkCf;;AACD;ECzHE,8BAA6B;EAC7B,sB5BmFc;C2BuCf;;AACD;EC5HE,8BAA6B;EAC7B,sB5BkFc;C2B2Cf;;AAMD;EC3HE,iCAA4B;CD6H7B;;AC3HC;;EAEE,8BAA6B;EAC7B,uCAAkC;CACnC;;AACD;;;;EAIE,YAAW;CACZ;;AACD;;;;EAIE,iCAA4B;CAC7B;;AACD;EAEI,Y5BmDO;CCvER;;A0BkIL;EACE,WAAU;EACV,iBAAgB;EAChB,eAAc;CACf;;AAGD;ErB5JI,mCNssB2E;C2BviB9E;;AACD;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,iB3BsiBgC;C2BriBjC;;AAKD;ErBtKI,6CNgsB2E;EM/rB3E,4CN+rB2E;C2BxhB9E;;AACD;ErB3JI,gDNkrB2E;EMjrB3E,+CNirB2E;C2BrhB9E;;AhB7HG;EgBmIF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GAapB;EAfD;IAKI,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,oBAAW;IAAX,qBAAW;QAAX,iBAAW;YAAX,aAAW;IACX,6BAAsB;IAAtB,8BAAsB;IAAtB,+BAAsB;QAAtB,2BAAsB;YAAtB,uBAAsB;GAOvB;EAdH;IAY0B,kB3B2gB6B;G2B3gBK;EAZ5D;IAayB,mB3B0gB8B;G2B1gBK;C9B0zH7D;;Ac18HG;EgB2JF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GA2CpB;EA7CD;IAKI,oBAAW;IAAX,qBAAW;QAAX,iBAAW;YAAX,aAAW;GAuCZ;EA5CH;IAQM,eAAc;IACd,eAAc;GACf;EAVL;IrBlME,8BqBiNoC;IrBhNpC,2BqBgNoC;GAQ/B;EAvBP;IAkBU,2BAA0B;GAC3B;EAnBT;IAqBU,8BAA6B;GAC9B;EAtBT;IrBpLE,6BqB6MmC;IrB5MnC,0BqB4MmC;GAQ9B;EAjCP;IA4BU,0BAAyB;GAC1B;EA7BT;IA+BU,6BAA4B;GAC7B;EAhCT;IAoCQ,iBAAgB;GAMjB;EA1CP;;IAwCU,iBAAgB;GACjB;C9B+yHV;;Acn/HG;EgBiNF;IACE,wB3B0cyB;O2B1czB,qB3B0cyB;Y2B1czB,gB3B0cyB;I2BzczB,4B3B0c+B;O2B1c/B,yB3B0c+B;Y2B1c/B,oB3B0c+B;G2BnchC;EATD;IAKI,sBAAqB;IACrB,YAAW;IACX,uB3Bsb2B;G2Brb5B;C9BsyHJ;;AgCvjID;EACE,sB7B04BkC;E6Bz4BlC,oB7B0Ia;E6BzIb,iBAAgB;EAChB,0B7ByGiC;EMzG/B,uBN4T2B;C6BzT9B;;ACNC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ADIH;EACE,YAAW;CA2BZ;;AA5BD;EAKI,sBAAqB;EACrB,sB7B63BiC;E6B53BjC,qB7B43BiC;E6B33BjC,e7B2F+B;E6B1F/B,aAAiC;CAClC;;AAVH;EAmBI,2BAA0B;CAC3B;;AApBH;EAsBI,sBAAqB;CACtB;;AAvBH;EA0BI,e7ByE+B;C6BxEhC;;AEpCH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBN4T2B;C+B1T9B;;AAED;EAGM,eAAc;EzBoBhB,mCNiS2B;EMhS3B,gCNgS2B;C+BnT1B;;AALL;EzBSI,oCN+S2B;EM9S3B,iCN8S2B;C+B9S1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,oB/BibwC;E+BhbxC,uB/B8DS;E+B7DT,mB/BmoBuC;C+BloBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BqmB0C;E+BpmB1C,kBAAiB;EACjB,kB/BymBwC;E+BxmBxC,e/ByDc;E+BxDd,uB/BkDW;E+BjDX,uB/B2mByC;C+BnmB1C;;A9BjCG;E8B4BA,e/BmJ4C;E+BlJ5C,sBAAqB;EACrB,0B/B2D+B;E+B1D/B,mB/BymBuC;CCroBtC;;A+BpBH;EACE,wBhC6oBwC;EgC5oBxC,mBhCuPoB;CgCtPrB;;AAIG;E1BqBF,kCNkS0B;EMjS1B,+BNiS0B;CgCrTvB;;AAGD;E1BEF,mCNgT0B;EM/S1B,gCN+S0B;CgChTvB;;AAdL;EACE,wBhC2oBuC;EgC1oBvC,oBhCwPoB;CgCvPrB;;AAIG;E1BqBF,kCNmS0B;EMlS1B,+BNkS0B;CgCtTvB;;AAGD;E1BEF,mCNiT0B;EMhT1B,gCNgT0B;CgCjTvB;;ACZP;EACE,sBAAqB;EACrB,sBjCowBgC;EiCnwBhC,ejCiwB+B;EiChwB/B,kBjCwPqB;EiCvPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBN4T2B;CiC3S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCPG;EgCaA,YjC6DS;EiC5DT,sBAAqB;EACrB,gBAAe;ChCZd;;AgCqBL;EACE,qBjCiuBgC;EiChuBhC,oBjCguBgC;EM1wB9B,qBN6wB+B;CiCjuBlC;;AAMD;ECnDE,0BlCyGiC;CiCpDlC;;AhCpCG;EiCbE,0BAAqC;CjCgBtC;;AgCmCL;ECvDE,0BlCiGc;CiCxCf;;AhCxCG;EiCbE,0BAAqC;CjCgBtC;;AgCuCL;EC3DE,0BlCgGc;CiCnCf;;AhC5CG;EiCbE,0BAAqC;CjCgBtC;;AgC2CL;EC/DE,0BlCkGc;CiCjCf;;AhChDG;EiCbE,0BAAqC;CjCgBtC;;AgC+CL;ECnEE,0BlC8Fc;CiCzBf;;AhCpDG;EiCbE,0BAAqC;CjCgBtC;;AgCmDL;ECvEE,0BlC6Fc;CiCpBf;;AhCxDG;EiCbE,0BAAqC;CjCgBtC;;AkCvBL;EACE,mBAAoD;EACpD,oBnCuqBmC;EmCtqBnC,0BnC0GiC;EMzG/B,sBN6T0B;CmCxT7B;;AxB+CG;EwBxDJ;IAOI,mBnCkqBiC;GmChqBpC;CtCowIA;;AsClwID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCkzBmC;EoCjzBnC,oBpCsIa;EoCrIb,8BAA6C;E9BH3C,uBN4T2B;CoCvT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC8OqB;CoC7OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCyxBgC;EoCxxBhC,gBpCuxBiC;EoCtxBjC,yBpCsxBiC;EoCrxBjC,eAAc;CACf;;AAQH;ECxCE,0BrC+qBsC;EqC9qBtC,sBrC+qB4D;EqC9qB5D,erC4qBsC;CoCpoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BrCmrBsC;EqClrBtC,sBrCmrByD;EqClrBzD,erCgrBsC;CoCroBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BrCurBsC;EqCtrBtC,sBrCwrB4D;EqCvrB5D,erCorBsC;CoCtoBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BrC4rBsC;EqC3rBtC,sBrC4rB2D;EqC3rB3D,erCyrBsC;CoCxoBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACXH;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyCx2ID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCw0BoC;EsCv0BpC,kBtCs0BkC;EsCr0BlC,mBAAkB;EAClB,0BtCgGiC;EMzG/B,uBN4T2B;CsCjT9B;;AACD;EACE,atCg0BkC;EsC/zBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAGD;ECYE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDV7I,mCtCwzBkC;UsCxzBlC,2BtCwzBkC;CsCvzBnC;;AAGD;EACE,2DtC0zBgD;OsC1zBhD,sDtC0zBgD;UsC1zBhD,mDtC0zBgD;CsCzzBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,ezCiF+B;CyChFhC;;AxCNC;EwCUA,ezC6E+B;EyC5E/B,sBAAqB;EACrB,0BzC8E+B;CCvF9B;;AwCJL;EAiBI,ezCsE+B;EyCrE/B,0BzCwE+B;CyCvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBzC+yBsC;EyC7yBtC,oBzCoHgB;EyCnHhB,uBzCwCW;EyCvCX,uCzCwCW;CyCQZ;;AAzDD;EnCpCI,iCNsT2B;EMrT3B,gCNqT2B;CyCrQ5B;;AAbH;EAgBI,iBAAgB;EnCtChB,oCNwS2B;EMvS3B,mCNuS2B;CyChQ5B;;AxC5CC;EwC+CA,sBAAqB;CxC5CpB;;AwCuBL;EA0BI,ezCoC+B;EyCnC/B,oBzCuYwC;EyCtYxC,uBzCoBS;CyCXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,ezC2B6B;CyC1B9B;;AApCL;EAyCI,WAAU;EACV,YzCMS;EyCLT,0BzCWY;EyCVZ,sBzCUY;CyCEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,ezCqwB8D;CyCpwB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e1C6qBoC;E0C5qBpC,0B1C6qBoC;C0C5qBrC;;AAED;;EACE,e1CwqBoC;C0CxpBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CiqBkC;E0ChqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C2pBkC;E0C1pBlC,sB1C0pBkC;C0CzpBnC;;AArBH;EACE,e1CirBoC;E0ChrBpC,0B1CirBoC;C0ChrBrC;;AAED;;EACE,e1C4qBoC;C0C5pBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CqqBkC;E0CpqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C+pBkC;E0C9pBlC,sB1C8pBkC;C0C7pBnC;;AArBH;EACE,e1CqrBoC;E0CprBpC,0B1CqrBoC;C0CprBrC;;AAED;;EACE,e1CgrBoC;C0ChqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CyqBkC;E0CxqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CmqBkC;E0ClqBlC,sB1CkqBkC;C0CjqBnC;;AArBH;EACE,e1C0rBoC;E0CzrBpC,0B1C0rBoC;C0CzrBrC;;AAED;;EACE,e1CqrBoC;C0CrqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1C8qBkC;E0C7qBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1Cw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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0.5rem 1rem;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n color: #fff;\n background-color: #0275d8;\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-right-radius: calc(0.3rem - 1px);\n border-top-left-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-grid.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aEqMK;IFpML,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aEsMK;IFrML,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aEuMK;IFtML,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEwMM;IFvMN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe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AiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL2hCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap.css
New file
0,0 → 1,9320
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
@media print {
*,
*::before,
*::after,
p::first-letter,
div::first-letter,
blockquote::first-letter,
li::first-letter,
p::first-line,
div::first-line,
blockquote::first-line,
li::first-line {
text-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
 
h1, .h1 {
font-size: 2.5rem;
}
 
h2, .h2 {
font-size: 2rem;
}
 
h3, .h3 {
font-size: 1.75rem;
}
 
h4, .h4 {
font-size: 1.5rem;
}
 
h5, .h5 {
font-size: 1.25rem;
}
 
h6, .h6 {
font-size: 1rem;
}
 
.lead {
font-size: 1.25rem;
font-weight: 300;
}
 
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.1;
}
 
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
 
small,
.small {
font-size: 80%;
font-weight: normal;
}
 
mark,
.mark {
padding: 0.2em;
background-color: #fcf8e3;
}
 
.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: 5px;
}
 
.initialism {
font-size: 90%;
text-transform: uppercase;
}
 
.blockquote {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-left: 0.25rem solid #eceeef;
}
 
.blockquote-footer {
display: block;
font-size: 80%;
color: #636c72;
}
 
.blockquote-footer::before {
content: "\2014 \00A0";
}
 
.blockquote-reverse {
padding-right: 1rem;
padding-left: 0;
text-align: right;
border-right: 0.25rem solid #eceeef;
border-left: 0;
}
 
.blockquote-reverse .blockquote-footer::before {
content: "";
}
 
.blockquote-reverse .blockquote-footer::after {
content: "\00A0 \2014";
}
 
.img-fluid {
max-width: 100%;
height: auto;
}
 
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
max-width: 100%;
height: auto;
}
 
.figure {
display: inline-block;
}
 
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
 
.figure-caption {
font-size: 90%;
color: #636c72;
}
 
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
 
code {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
border-radius: 0.25rem;
}
 
a > code {
padding: 0;
color: inherit;
background-color: inherit;
}
 
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #292b2c;
border-radius: 0.2rem;
}
 
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
}
 
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 90%;
color: #292b2c;
}
 
pre code {
padding: 0;
font-size: inherit;
color: inherit;
background-color: transparent;
border-radius: 0;
}
 
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
 
.table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
}
 
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #eceeef;
}
 
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
 
.table tbody + tbody {
border-top: 2px solid #eceeef;
}
 
.table .table {
background-color: #fff;
}
 
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
 
.table-bordered {
border: 1px solid #eceeef;
}
 
.table-bordered th,
.table-bordered td {
border: 1px solid #eceeef;
}
 
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
 
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
 
.table-hover tbody tr:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-success,
.table-success > th,
.table-success > td {
background-color: #dff0d8;
}
 
.table-hover .table-success:hover {
background-color: #d0e9c6;
}
 
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #d0e9c6;
}
 
.table-info,
.table-info > th,
.table-info > td {
background-color: #d9edf7;
}
 
.table-hover .table-info:hover {
background-color: #c4e3f3;
}
 
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #c4e3f3;
}
 
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #fcf8e3;
}
 
.table-hover .table-warning:hover {
background-color: #faf2cc;
}
 
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #faf2cc;
}
 
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f2dede;
}
 
.table-hover .table-danger:hover {
background-color: #ebcccc;
}
 
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #ebcccc;
}
 
.thead-inverse th {
color: #fff;
background-color: #292b2c;
}
 
.thead-default th {
color: #464a4c;
background-color: #eceeef;
}
 
.table-inverse {
color: #fff;
background-color: #292b2c;
}
 
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
border-color: #fff;
}
 
.table-inverse.table-bordered {
border: 0;
}
 
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
 
.table-responsive.table-bordered {
border: 0;
}
 
.form-control {
display: block;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
background-color: #fff;
background-image: none;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}
 
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
 
.form-control:focus {
color: #464a4c;
background-color: #fff;
border-color: #5cb3fd;
outline: none;
}
 
.form-control::-webkit-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::-moz-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:-ms-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:disabled, .form-control[readonly] {
background-color: #eceeef;
opacity: 1;
}
 
.form-control:disabled {
cursor: not-allowed;
}
 
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
 
select.form-control:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.form-control-file,
.form-control-range {
display: block;
}
 
.col-form-label {
padding-top: calc(0.5rem - 1px * 2);
padding-bottom: calc(0.5rem - 1px * 2);
margin-bottom: 0;
}
 
.col-form-label-lg {
padding-top: calc(0.75rem - 1px * 2);
padding-bottom: calc(0.75rem - 1px * 2);
font-size: 1.25rem;
}
 
.col-form-label-sm {
padding-top: calc(0.25rem - 1px * 2);
padding-bottom: calc(0.25rem - 1px * 2);
font-size: 0.875rem;
}
 
.col-form-legend {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
font-size: 1rem;
}
 
.form-control-static {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
line-height: 1.25;
border: solid transparent;
border-width: 1px 0;
}
 
.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn {
padding-right: 0;
padding-left: 0;
}
 
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 1.8125rem;
}
 
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 3.166667rem;
}
 
.form-group {
margin-bottom: 1rem;
}
 
.form-text {
display: block;
margin-top: 0.25rem;
}
 
.form-check {
position: relative;
display: block;
margin-bottom: 0.5rem;
}
 
.form-check.disabled .form-check-label {
color: #636c72;
cursor: not-allowed;
}
 
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
cursor: pointer;
}
 
.form-check-input {
position: absolute;
margin-top: 0.25rem;
margin-left: -1.25rem;
}
 
.form-check-input:only-child {
position: static;
}
 
.form-check-inline {
display: inline-block;
}
 
.form-check-inline .form-check-label {
vertical-align: middle;
}
 
.form-check-inline + .form-check-inline {
margin-left: 0.75rem;
}
 
.form-control-feedback {
margin-top: 0.25rem;
}
 
.form-control-success,
.form-control-warning,
.form-control-danger {
padding-right: 2.25rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
background-size: 1.125rem 1.125rem;
}
 
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .col-form-label,
.has-success .form-check-label,
.has-success .custom-control {
color: #5cb85c;
}
 
.has-success .form-control {
border-color: #5cb85c;
}
 
.has-success .input-group-addon {
color: #5cb85c;
border-color: #5cb85c;
background-color: #eaf6ea;
}
 
.has-success .form-control-success {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
}
 
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .col-form-label,
.has-warning .form-check-label,
.has-warning .custom-control {
color: #f0ad4e;
}
 
.has-warning .form-control {
border-color: #f0ad4e;
}
 
.has-warning .input-group-addon {
color: #f0ad4e;
border-color: #f0ad4e;
background-color: white;
}
 
.has-warning .form-control-warning {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
 
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .col-form-label,
.has-danger .form-check-label,
.has-danger .custom-control {
color: #d9534f;
}
 
.has-danger .form-control {
border-color: #d9534f;
}
 
.has-danger .input-group-addon {
color: #d9534f;
border-color: #d9534f;
background-color: #fdf7f7;
}
 
.has-danger .form-control-danger {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}
 
.form-inline {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.form-inline .form-check {
width: 100%;
}
 
@media (min-width: 576px) {
.form-inline label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
width: auto;
}
.form-inline .form-control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-check {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
margin-top: 0;
margin-bottom: 0;
}
.form-inline .form-check-label {
padding-left: 0;
}
.form-inline .form-check-input {
position: relative;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0;
}
.form-inline .custom-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
}
.form-inline .custom-control-indicator {
position: static;
display: inline-block;
margin-right: 0.25rem;
vertical-align: text-bottom;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
 
.btn {
display: inline-block;
font-weight: normal;
line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
 
.btn:focus, .btn:hover {
text-decoration: none;
}
 
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
}
 
.btn.disabled, .btn:disabled {
cursor: not-allowed;
opacity: .65;
}
 
.btn:active, .btn.active {
background-image: none;
}
 
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
 
.btn-primary {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:hover {
color: #fff;
background-color: #025aa5;
border-color: #01549b;
}
 
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-primary.disabled, .btn-primary:disabled {
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #025aa5;
background-image: none;
border-color: #01549b;
}
 
.btn-secondary {
color: #292b2c;
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:hover {
color: #292b2c;
background-color: #e6e6e6;
border-color: #adadad;
}
 
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-secondary.disabled, .btn-secondary:disabled {
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #292b2c;
background-color: #e6e6e6;
background-image: none;
border-color: #adadad;
}
 
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #2aabd2;
}
 
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-info.disabled, .btn-info:disabled {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #31b0d5;
background-image: none;
border-color: #2aabd2;
}
 
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #419641;
}
 
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-success.disabled, .btn-success:disabled {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #449d44;
background-image: none;
border-color: #419641;
}
 
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #eb9316;
}
 
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-warning.disabled, .btn-warning:disabled {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #fff;
background-color: #ec971f;
background-image: none;
border-color: #eb9316;
}
 
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #c12e2a;
}
 
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-danger.disabled, .btn-danger:disabled {
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #c9302c;
background-image: none;
border-color: #c12e2a;
}
 
.btn-outline-primary {
color: #0275d8;
background-image: none;
background-color: transparent;
border-color: #0275d8;
}
 
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #0275d8;
background-color: transparent;
}
 
.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-secondary {
color: #ccc;
background-image: none;
background-color: transparent;
border-color: #ccc;
}
 
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #ccc;
background-color: transparent;
}
 
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-info {
color: #5bc0de;
background-image: none;
background-color: transparent;
border-color: #5bc0de;
}
 
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #5bc0de;
background-color: transparent;
}
 
.btn-outline-info:active, .btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-success {
color: #5cb85c;
background-image: none;
background-color: transparent;
border-color: #5cb85c;
}
 
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #5cb85c;
background-color: transparent;
}
 
.btn-outline-success:active, .btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-warning {
color: #f0ad4e;
background-image: none;
background-color: transparent;
border-color: #f0ad4e;
}
 
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #f0ad4e;
background-color: transparent;
}
 
.btn-outline-warning:active, .btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-danger {
color: #d9534f;
background-image: none;
background-color: transparent;
border-color: #d9534f;
}
 
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #d9534f;
background-color: transparent;
}
 
.btn-outline-danger:active, .btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-link {
font-weight: normal;
color: #0275d8;
border-radius: 0;
}
 
.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
background-color: transparent;
}
 
.btn-link, .btn-link:focus, .btn-link:active {
border-color: transparent;
}
 
.btn-link:hover {
border-color: transparent;
}
 
.btn-link:focus, .btn-link:hover {
color: #014c8c;
text-decoration: underline;
background-color: transparent;
}
 
.btn-link:disabled {
color: #636c72;
}
 
.btn-link:disabled:focus, .btn-link:disabled:hover {
text-decoration: none;
}
 
.btn-lg, .btn-group-lg > .btn {
padding: 0.75rem 1.5rem;
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;
}
 
.btn-block {
display: block;
width: 100%;
}
 
.btn-block + .btn-block {
margin-top: 0.5rem;
}
 
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
 
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
 
.fade.show {
opacity: 1;
}
 
.collapse {
display: none;
}
 
.collapse.show {
display: block;
}
 
tr.collapse.show {
display: table-row;
}
 
tbody.collapse.show {
display: table-row-group;
}
 
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
 
.dropup,
.dropdown {
position: relative;
}
 
.dropdown-toggle::after {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
 
.dropdown-toggle:focus {
outline: 0;
}
 
.dropup .dropdown-toggle::after {
border-top: 0;
border-bottom: 0.3em solid;
}
 
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
font-size: 1rem;
color: #292b2c;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.dropdown-divider {
height: 1px;
margin: 0.5rem 0;
overflow: hidden;
background-color: #eceeef;
}
 
.dropdown-item {
display: block;
width: 100%;
padding: 3px 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
text-align: inherit;
white-space: nowrap;
background: none;
border: 0;
}
 
.dropdown-item:focus, .dropdown-item:hover {
color: #1d1e1f;
text-decoration: none;
background-color: #f7f7f9;
}
 
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0275d8;
}
 
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: transparent;
}
 
.show > .dropdown-menu {
display: block;
}
 
.show > a {
outline: 0;
}
 
.dropdown-menu-right {
right: 0;
left: auto;
}
 
.dropdown-menu-left {
right: auto;
left: 0;
}
 
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #636c72;
white-space: nowrap;
}
 
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
 
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 0.125rem;
}
 
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
 
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
 
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
z-index: 2;
}
 
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
 
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.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-left: -1px;
}
 
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
 
.btn-toolbar .input-group {
width: auto;
}
 
.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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
 
.btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
 
.btn + .dropdown-toggle-split::after {
margin-left: 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: 1.125rem;
padding-left: 1.125rem;
}
 
.btn-group-vertical {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
width: 100%;
}
 
.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-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
 
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.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-right-radius: 0;
border-top-left-radius: 0;
}
 
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
 
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
}
 
.input-group .form-control {
position: relative;
z-index: 2;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0;
}
 
.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
z-index: 3;
}
 
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
 
.input-group-addon,
.input-group-btn {
white-space: nowrap;
vertical-align: middle;
}
 
.input-group-addon {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
line-height: 1.25;
color: #464a4c;
text-align: center;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
 
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.input-group-addon:not(:last-child) {
border-right: 0;
}
 
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.form-control + .input-group-addon:not(:first-child) {
border-left: 0;
}
 
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
 
.input-group-btn > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
 
.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
z-index: 3;
}
 
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
margin-right: -1px;
}
 
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
z-index: 2;
margin-left: -1px;
}
 
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
z-index: 3;
}
 
.custom-control {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
cursor: pointer;
}
 
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0;
}
 
.custom-control-input:checked ~ .custom-control-indicator {
color: #fff;
background-color: #0275d8;
}
 
.custom-control-input:focus ~ .custom-control-indicator {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
}
 
.custom-control-input:active ~ .custom-control-indicator {
color: #fff;
background-color: #8fcafe;
}
 
.custom-control-input:disabled ~ .custom-control-indicator {
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
cursor: not-allowed;
}
 
.custom-control-indicator {
position: absolute;
top: 0.25rem;
left: 0;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #ddd;
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
}
 
.custom-checkbox .custom-control-indicator {
border-radius: 0.25rem;
}
 
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
 
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
background-color: #0275d8;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
 
.custom-radio .custom-control-indicator {
border-radius: 50%;
}
 
.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
 
.custom-controls-stacked {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
 
.custom-controls-stacked .custom-control {
margin-bottom: 0.25rem;
}
 
.custom-controls-stacked .custom-control + .custom-control {
margin-left: 0;
}
 
.custom-select {
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.25;
color: #464a4c;
vertical-align: middle;
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
-webkit-background-size: 8px 10px;
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-moz-appearance: none;
-webkit-appearance: none;
}
 
.custom-select:focus {
border-color: #5cb3fd;
outline: none;
}
 
.custom-select:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.custom-select:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-select::-ms-expand {
opacity: 0;
}
 
.custom-select-sm {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
font-size: 75%;
}
 
.custom-file {
position: relative;
display: inline-block;
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
cursor: pointer;
}
 
.custom-file-input {
min-width: 14rem;
max-width: 100%;
height: 2.5rem;
margin: 0;
filter: alpha(opacity=0);
opacity: 0;
}
 
.custom-file-control {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 5;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
 
.custom-file-control::before {
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
z-index: 6;
display: block;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0 0.25rem 0.25rem 0;
}
 
.custom-file-control:lang(en)::before {
content: "Browse";
}
 
.nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.nav-link {
display: block;
padding: 0.5em 1em;
}
 
.nav-link:focus, .nav-link:hover {
text-decoration: none;
}
 
.nav-link.disabled {
color: #636c72;
cursor: not-allowed;
}
 
.nav-tabs {
border-bottom: 1px solid #ddd;
}
 
.nav-tabs .nav-item {
margin-bottom: -1px;
}
 
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
border-color: #eceeef #eceeef #ddd;
}
 
.nav-tabs .nav-link.disabled {
color: #636c72;
background-color: transparent;
border-color: transparent;
}
 
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #464a4c;
background-color: #fff;
border-color: #ddd #ddd #fff;
}
 
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.nav-pills .nav-link {
border-radius: 0.25rem;
}
 
.nav-pills .nav-link.active,
.nav-pills .nav-item.show .nav-link {
color: #fff;
cursor: default;
background-color: #0275d8;
}
 
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
 
.nav-justified .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
text-align: center;
}
 
.tab-content > .tab-pane {
display: none;
}
 
.tab-content > .active {
display: block;
}
 
.navbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 0.5rem 1rem;
}
 
.navbar-brand {
display: inline-block;
padding-top: .25rem;
padding-bottom: .25rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
 
.navbar-brand:focus, .navbar-brand:hover {
text-decoration: none;
}
 
.navbar-nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
 
.navbar-text {
display: inline-block;
padding-top: .425rem;
padding-bottom: .425rem;
}
 
.navbar-toggler {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
padding: 0.25rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.navbar-toggler:focus, .navbar-toggler:hover {
text-decoration: none;
}
 
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.navbar-toggler-left {
position: absolute;
left: 1rem;
}
 
.navbar-toggler-right {
position: absolute;
right: 1rem;
}
 
@media (max-width: 575px) {
.navbar-toggleable .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 576px) {
.navbar-toggleable {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable .navbar-toggler {
display: none;
}
}
 
@media (max-width: 767px) {
.navbar-toggleable-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 768px) {
.navbar-toggleable-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-sm > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-sm .navbar-toggler {
display: none;
}
}
 
@media (max-width: 991px) {
.navbar-toggleable-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-md > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 992px) {
.navbar-toggleable-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-md > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-md .navbar-toggler {
display: none;
}
}
 
@media (max-width: 1199px) {
.navbar-toggleable-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-lg > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 1200px) {
.navbar-toggleable-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-lg > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-lg .navbar-toggler {
display: none;
}
}
 
.navbar-toggleable-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
 
.navbar-toggleable-xl > .container {
padding-right: 0;
padding-left: 0;
}
 
.navbar-toggleable-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
 
.navbar-toggleable-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
 
.navbar-toggleable-xl > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
 
.navbar-toggleable-xl .navbar-toggler {
display: none;
}
 
.navbar-light .navbar-brand,
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
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 .open > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-toggler {
border-color: rgba(0, 0, 0, 0.1);
}
 
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-toggler {
color: white;
}
 
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-toggler:focus,
.navbar-inverse .navbar-toggler:hover {
color: white;
}
 
.navbar-inverse .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.5);
}
 
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
color: rgba(255, 255, 255, 0.75);
}
 
.navbar-inverse .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
 
.navbar-inverse .navbar-nav .open > .nav-link,
.navbar-inverse .navbar-nav .active > .nav-link,
.navbar-inverse .navbar-nav .nav-link.open,
.navbar-inverse .navbar-nav .nav-link.active {
color: white;
}
 
.navbar-inverse .navbar-toggler {
border-color: rgba(255, 255, 255, 0.1);
}
 
.navbar-inverse .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-inverse .navbar-text {
color: rgba(255, 255, 255, 0.5);
}
 
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
 
.card-block {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
}
 
.card-title {
margin-bottom: 0.75rem;
}
 
.card-subtitle {
margin-top: -0.375rem;
margin-bottom: 0;
}
 
.card-text:last-child {
margin-bottom: 0;
}
 
.card-link:hover {
text-decoration: none;
}
 
.card-link + .card-link {
margin-left: 1.25rem;
}
 
.card > .list-group:first-child .list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.card-header {
padding: 0.75rem 1.25rem;
margin-bottom: 0;
background-color: #f7f7f9;
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.75rem 1.25rem;
background-color: #f7f7f9;
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.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0;
}
 
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem;
}
 
.card-primary {
background-color: #0275d8;
border-color: #0275d8;
}
 
.card-primary .card-header,
.card-primary .card-footer {
background-color: transparent;
}
 
.card-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.card-success .card-header,
.card-success .card-footer {
background-color: transparent;
}
 
.card-info {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.card-info .card-header,
.card-info .card-footer {
background-color: transparent;
}
 
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.card-warning .card-header,
.card-warning .card-footer {
background-color: transparent;
}
 
.card-danger {
background-color: #d9534f;
border-color: #d9534f;
}
 
.card-danger .card-header,
.card-danger .card-footer {
background-color: transparent;
}
 
.card-outline-primary {
background-color: transparent;
border-color: #0275d8;
}
 
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
 
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
 
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
 
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
 
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
 
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-header,
.card-inverse .card-footer {
background-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
 
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff;
}
 
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-subtitle,
.card-inverse .card-blockquote .blockquote-footer {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-link:focus, .card-inverse .card-link:hover {
color: #fff;
}
 
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0;
}
 
.card-img {
border-radius: calc(0.25rem - 1px);
}
 
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
}
 
.card-img-top {
border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
 
.card-img-bottom {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
 
@media (min-width: 576px) {
.card-deck {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-deck .card {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.card-deck .card:not(:first-child) {
margin-left: 15px;
}
.card-deck .card:not(:last-child) {
margin-right: 15px;
}
}
 
@media (min-width: 576px) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
}
.card-group .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0;
}
}
 
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
}
.card-columns .card {
display: inline-block;
width: 100%;
margin-bottom: 0.75rem;
}
}
 
.breadcrumb {
padding: 0.75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.breadcrumb::after {
display: block;
content: "";
clear: both;
}
 
.breadcrumb-item {
float: left;
}
 
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
padding-left: 0.5rem;
color: #636c72;
content: "/";
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: underline;
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: none;
}
 
.breadcrumb-item.active {
color: #636c72;
}
 
.pagination {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: 0.25rem;
}
 
.page-item:first-child .page-link {
margin-left: 0;
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.page-item:last-child .page-link {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.page-item.active .page-link {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
 
.page-link {
position: relative;
display: block;
padding: 0.5rem 0.75rem;
margin-left: -1px;
line-height: 1.25;
color: #0275d8;
background-color: #fff;
border: 1px solid #ddd;
}
 
.page-link:focus, .page-link:hover {
color: #014c8c;
text-decoration: none;
background-color: #eceeef;
border-color: #ddd;
}
 
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
 
.pagination-lg .page-item:first-child .page-link {
border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
}
 
.pagination-lg .page-item:last-child .page-link {
border-bottom-right-radius: 0.3rem;
border-top-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-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
}
 
.pagination-sm .page-item:last-child .page-link {
border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
}
 
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
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;
}
 
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
 
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
 
.badge-default {
background-color: #636c72;
}
 
.badge-default[href]:focus, .badge-default[href]:hover {
background-color: #4b5257;
}
 
.badge-primary {
background-color: #0275d8;
}
 
.badge-primary[href]:focus, .badge-primary[href]:hover {
background-color: #025aa5;
}
 
.badge-success {
background-color: #5cb85c;
}
 
.badge-success[href]:focus, .badge-success[href]:hover {
background-color: #449d44;
}
 
.badge-info {
background-color: #5bc0de;
}
 
.badge-info[href]:focus, .badge-info[href]:hover {
background-color: #31b0d5;
}
 
.badge-warning {
background-color: #f0ad4e;
}
 
.badge-warning[href]:focus, .badge-warning[href]:hover {
background-color: #ec971f;
}
 
.badge-danger {
background-color: #d9534f;
}
 
.badge-danger[href]:focus, .badge-danger[href]:hover {
background-color: #c9302c;
}
 
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #eceeef;
border-radius: 0.3rem;
}
 
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem;
}
}
 
.jumbotron-hr {
border-top-color: #d0d5d8;
}
 
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0;
}
 
.alert {
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.alert-heading {
color: inherit;
}
 
.alert-link {
font-weight: bold;
}
 
.alert-dismissible .close {
position: relative;
top: -0.75rem;
right: -1.25rem;
padding: 0.75rem 1.25rem;
color: inherit;
}
 
.alert-success {
background-color: #dff0d8;
border-color: #d0e9c6;
color: #3c763d;
}
 
.alert-success hr {
border-top-color: #c1e2b3;
}
 
.alert-success .alert-link {
color: #2b542c;
}
 
.alert-info {
background-color: #d9edf7;
border-color: #bcdff1;
color: #31708f;
}
 
.alert-info hr {
border-top-color: #a6d5ec;
}
 
.alert-info .alert-link {
color: #245269;
}
 
.alert-warning {
background-color: #fcf8e3;
border-color: #faf2cc;
color: #8a6d3b;
}
 
.alert-warning hr {
border-top-color: #f7ecb5;
}
 
.alert-warning .alert-link {
color: #66512c;
}
 
.alert-danger {
background-color: #f2dede;
border-color: #ebcccc;
color: #a94442;
}
 
.alert-danger hr {
border-top-color: #e4b9b9;
}
 
.alert-danger .alert-link {
color: #843534;
}
 
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@-o-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
.progress {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
font-size: 0.75rem;
line-height: 1rem;
text-align: center;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.progress-bar {
height: 1rem;
color: #fff;
background-color: #0275d8;
}
 
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
 
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
-o-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
 
.media {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
 
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.list-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
}
 
.list-group-item-action {
width: 100%;
color: #464a4c;
text-align: inherit;
}
 
.list-group-item-action .list-group-item-heading {
color: #292b2c;
}
 
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
background-color: #f7f7f9;
}
 
.list-group-item-action:active {
color: #292b2c;
background-color: #eceeef;
}
 
.list-group-item {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
 
.list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.list-group-item:focus, .list-group-item:hover {
text-decoration: none;
}
 
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #fff;
}
 
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
color: inherit;
}
 
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
color: #636c72;
}
 
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.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 {
color: inherit;
}
 
.list-group-item.active .list-group-item-text {
color: #daeeff;
}
 
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
 
.list-group-flush:first-child .list-group-item:first-child {
border-top: 0;
}
 
.list-group-flush:last-child .list-group-item:last-child {
border-bottom: 0;
}
 
.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,
button.list-group-item-success.active {
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,
button.list-group-item-info.active {
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,
button.list-group-item-warning.active {
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,
button.list-group-item-danger.active {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
 
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
 
.embed-responsive::before {
display: block;
content: "";
}
 
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
 
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
 
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
 
.embed-responsive-4by3::before {
padding-top: 75%;
}
 
.embed-responsive-1by1::before {
padding-top: 100%;
}
 
.close {
float: right;
font-size: 1.5rem;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
}
 
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
 
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
 
.modal-open {
overflow: hidden;
}
 
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: hidden;
outline: 0;
}
 
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
}
 
.modal.show .modal-dialog {
-webkit-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;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
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;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
 
.modal-backdrop.fade {
opacity: 0;
}
 
.modal-backdrop.show {
opacity: 0.5;
}
 
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
 
.modal-title {
margin-bottom: 0;
line-height: 1.5;
}
 
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
}
 
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #eceeef;
}
 
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
 
.modal-footer > :not(:last-child) {
margin-right: .25rem;
}
 
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
 
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto;
}
.modal-sm {
max-width: 300px;
}
}
 
@media (min-width: 992px) {
.modal-lg {
max-width: 800px;
}
}
 
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
}
 
.tooltip.show {
opacity: 0.9;
}
 
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
padding: 5px 0;
margin-top: -3px;
}
 
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
bottom: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
 
.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
padding: 0 5px;
margin-left: 3px;
}
 
.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
top: 50%;
left: 0;
margin-top: -5px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
 
.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
padding: 5px 0;
margin-top: 3px;
}
 
.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
top: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
 
.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
padding: 0 5px;
margin-left: -3px;
}
 
.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
top: 50%;
right: 0;
margin-top: -5px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
 
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem;
}
 
.tooltip-inner::before {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: block;
max-width: 276px;
padding: 1px;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
 
.popover.popover-top, .popover.bs-tether-element-attached-bottom {
margin-top: -10px;
}
 
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
left: 50%;
border-bottom-width: 0;
}
 
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
 
.popover.popover-right, .popover.bs-tether-element-attached-left {
margin-left: 10px;
}
 
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
top: 50%;
border-left-width: 0;
}
 
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
 
.popover.popover-bottom, .popover.bs-tether-element-attached-top {
margin-top: 10px;
}
 
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
left: 50%;
border-top-width: 0;
}
 
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
top: -10px;
margin-left: -10px;
border-bottom-color: #f7f7f7;
}
 
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 20px;
margin-left: -10px;
content: "";
border-bottom: 1px solid #f7f7f7;
}
 
.popover.popover-left, .popover.bs-tether-element-attached-right {
margin-left: -10px;
}
 
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
top: 50%;
border-right-width: 0;
}
 
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
}
 
.popover-title {
padding: 8px 14px;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
 
.popover-title:empty {
display: none;
}
 
.popover-content {
padding: 9px 14px;
}
 
.popover::before,
.popover::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover::before {
content: "";
border-width: 11px;
}
 
.popover::after {
content: "";
border-width: 10px;
}
 
.carousel {
position: relative;
}
 
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
 
.carousel-item {
position: relative;
display: none;
width: 100%;
}
 
@media (-webkit-transform-3d) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
 
.carousel-item-next,
.carousel-item-prev {
position: absolute;
top: 0;
}
 
@media (-webkit-transform-3d) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: 0.5;
}
 
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9;
}
 
.carousel-control-prev {
left: 0;
}
 
.carousel-control-next {
right: 0;
}
 
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 20px;
height: 20px;
background: transparent no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
 
.carousel-control-next-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
 
.carousel-indicators {
position: absolute;
right: 0;
bottom: 10px;
left: 0;
z-index: 15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none;
}
 
.carousel-indicators li {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
max-width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
 
.carousel-indicators li::before {
position: absolute;
top: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators li::after {
position: absolute;
bottom: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators .active {
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;
}
 
.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;
}
 
.bg-faded {
background-color: #f7f7f7;
}
 
.bg-primary {
background-color: #0275d8 !important;
}
 
a.bg-primary:focus, a.bg-primary:hover {
background-color: #025aa5 !important;
}
 
.bg-success {
background-color: #5cb85c !important;
}
 
a.bg-success:focus, a.bg-success:hover {
background-color: #449d44 !important;
}
 
.bg-info {
background-color: #5bc0de !important;
}
 
a.bg-info:focus, a.bg-info:hover {
background-color: #31b0d5 !important;
}
 
.bg-warning {
background-color: #f0ad4e !important;
}
 
a.bg-warning:focus, a.bg-warning:hover {
background-color: #ec971f !important;
}
 
.bg-danger {
background-color: #d9534f !important;
}
 
a.bg-danger:focus, a.bg-danger:hover {
background-color: #c9302c !important;
}
 
.bg-inverse {
background-color: #292b2c !important;
}
 
a.bg-inverse:focus, a.bg-inverse:hover {
background-color: #101112 !important;
}
 
.border-0 {
border: 0 !important;
}
 
.border-top-0 {
border-top: 0 !important;
}
 
.border-right-0 {
border-right: 0 !important;
}
 
.border-bottom-0 {
border-bottom: 0 !important;
}
 
.border-left-0 {
border-left: 0 !important;
}
 
.rounded {
border-radius: 0.25rem;
}
 
.rounded-top {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-right {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.rounded-bottom {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.rounded-left {
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-circle {
border-radius: 50%;
}
 
.rounded-0 {
border-radius: 0;
}
 
.clearfix::after {
display: block;
content: "";
clear: both;
}
 
.d-none {
display: none !important;
}
 
.d-inline {
display: inline !important;
}
 
.d-inline-block {
display: inline-block !important;
}
 
.d-block {
display: block !important;
}
 
.d-table {
display: table !important;
}
 
.d-table-cell {
display: table-cell !important;
}
 
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
 
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
 
@media (min-width: 576px) {
.d-sm-none {
display: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 768px) {
.d-md-none {
display: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 992px) {
.d-lg-none {
display: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 1200px) {
.d-xl-none {
display: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
.flex-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
 
.flex-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
 
.flex-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
 
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
 
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
 
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
 
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
 
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
 
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
 
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
 
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
 
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
 
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
 
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
 
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
 
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
 
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
 
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
 
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
 
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
 
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
 
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
 
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
 
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
 
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
 
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
 
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
 
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
 
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
 
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
 
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
 
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
 
@media (min-width: 576px) {
.flex-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-sm-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 768px) {
.flex-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-md-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 992px) {
.flex-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-lg-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 1200px) {
.flex-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-xl-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
.float-left {
float: left !important;
}
 
.float-right {
float: right !important;
}
 
.float-none {
float: none !important;
}
 
@media (min-width: 576px) {
.float-sm-left {
float: left !important;
}
.float-sm-right {
float: right !important;
}
.float-sm-none {
float: none !important;
}
}
 
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
.float-md-right {
float: right !important;
}
.float-md-none {
float: none !important;
}
}
 
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
.float-lg-right {
float: right !important;
}
.float-lg-none {
float: none !important;
}
}
 
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
.float-xl-right {
float: right !important;
}
.float-xl-none {
float: none !important;
}
}
 
.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: 1030;
}
 
.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;
}
 
.w-25 {
width: 25% !important;
}
 
.w-50 {
width: 50% !important;
}
 
.w-75 {
width: 75% !important;
}
 
.w-100 {
width: 100% !important;
}
 
.h-25 {
height: 25% !important;
}
 
.h-50 {
height: 50% !important;
}
 
.h-75 {
height: 75% !important;
}
 
.h-100 {
height: 100% !important;
}
 
.mw-100 {
max-width: 100% !important;
}
 
.mh-100 {
max-height: 100% !important;
}
 
.m-0 {
margin: 0 0 !important;
}
 
.mt-0 {
margin-top: 0 !important;
}
 
.mr-0 {
margin-right: 0 !important;
}
 
.mb-0 {
margin-bottom: 0 !important;
}
 
.ml-0 {
margin-left: 0 !important;
}
 
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
 
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
 
.m-1 {
margin: 0.25rem 0.25rem !important;
}
 
.mt-1 {
margin-top: 0.25rem !important;
}
 
.mr-1 {
margin-right: 0.25rem !important;
}
 
.mb-1 {
margin-bottom: 0.25rem !important;
}
 
.ml-1 {
margin-left: 0.25rem !important;
}
 
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
 
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
 
.m-2 {
margin: 0.5rem 0.5rem !important;
}
 
.mt-2 {
margin-top: 0.5rem !important;
}
 
.mr-2 {
margin-right: 0.5rem !important;
}
 
.mb-2 {
margin-bottom: 0.5rem !important;
}
 
.ml-2 {
margin-left: 0.5rem !important;
}
 
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
 
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
 
.m-3 {
margin: 1rem 1rem !important;
}
 
.mt-3 {
margin-top: 1rem !important;
}
 
.mr-3 {
margin-right: 1rem !important;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
.ml-3 {
margin-left: 1rem !important;
}
 
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
 
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
 
.m-4 {
margin: 1.5rem 1.5rem !important;
}
 
.mt-4 {
margin-top: 1.5rem !important;
}
 
.mr-4 {
margin-right: 1.5rem !important;
}
 
.mb-4 {
margin-bottom: 1.5rem !important;
}
 
.ml-4 {
margin-left: 1.5rem !important;
}
 
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
 
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
 
.m-5 {
margin: 3rem 3rem !important;
}
 
.mt-5 {
margin-top: 3rem !important;
}
 
.mr-5 {
margin-right: 3rem !important;
}
 
.mb-5 {
margin-bottom: 3rem !important;
}
 
.ml-5 {
margin-left: 3rem !important;
}
 
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
 
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
 
.p-0 {
padding: 0 0 !important;
}
 
.pt-0 {
padding-top: 0 !important;
}
 
.pr-0 {
padding-right: 0 !important;
}
 
.pb-0 {
padding-bottom: 0 !important;
}
 
.pl-0 {
padding-left: 0 !important;
}
 
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
 
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
 
.p-1 {
padding: 0.25rem 0.25rem !important;
}
 
.pt-1 {
padding-top: 0.25rem !important;
}
 
.pr-1 {
padding-right: 0.25rem !important;
}
 
.pb-1 {
padding-bottom: 0.25rem !important;
}
 
.pl-1 {
padding-left: 0.25rem !important;
}
 
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
 
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
 
.p-2 {
padding: 0.5rem 0.5rem !important;
}
 
.pt-2 {
padding-top: 0.5rem !important;
}
 
.pr-2 {
padding-right: 0.5rem !important;
}
 
.pb-2 {
padding-bottom: 0.5rem !important;
}
 
.pl-2 {
padding-left: 0.5rem !important;
}
 
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
 
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
 
.p-3 {
padding: 1rem 1rem !important;
}
 
.pt-3 {
padding-top: 1rem !important;
}
 
.pr-3 {
padding-right: 1rem !important;
}
 
.pb-3 {
padding-bottom: 1rem !important;
}
 
.pl-3 {
padding-left: 1rem !important;
}
 
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
 
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
 
.p-4 {
padding: 1.5rem 1.5rem !important;
}
 
.pt-4 {
padding-top: 1.5rem !important;
}
 
.pr-4 {
padding-right: 1.5rem !important;
}
 
.pb-4 {
padding-bottom: 1.5rem !important;
}
 
.pl-4 {
padding-left: 1.5rem !important;
}
 
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
 
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
 
.p-5 {
padding: 3rem 3rem !important;
}
 
.pt-5 {
padding-top: 3rem !important;
}
 
.pr-5 {
padding-right: 3rem !important;
}
 
.pb-5 {
padding-bottom: 3rem !important;
}
 
.pl-5 {
padding-left: 3rem !important;
}
 
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
 
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
 
.m-auto {
margin: auto !important;
}
 
.mt-auto {
margin-top: auto !important;
}
 
.mr-auto {
margin-right: auto !important;
}
 
.mb-auto {
margin-bottom: auto !important;
}
 
.ml-auto {
margin-left: auto !important;
}
 
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
 
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
 
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mr-sm-0 {
margin-right: 0 !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.ml-sm-0 {
margin-left: 0 !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-sm-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mr-sm-1 {
margin-right: 0.25rem !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.ml-sm-1 {
margin-left: 0.25rem !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mr-sm-2 {
margin-right: 0.5rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.ml-sm-2 {
margin-left: 0.5rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mr-sm-3 {
margin-right: 1rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.ml-sm-3 {
margin-left: 1rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mr-sm-4 {
margin-right: 1.5rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.ml-sm-4 {
margin-left: 1.5rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mr-sm-5 {
margin-right: 3rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.ml-sm-5 {
margin-left: 3rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-sm-0 {
padding: 0 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pr-sm-0 {
padding-right: 0 !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pl-sm-0 {
padding-left: 0 !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-sm-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pr-sm-1 {
padding-right: 0.25rem !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pl-sm-1 {
padding-left: 0.25rem !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pr-sm-2 {
padding-right: 0.5rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pl-sm-2 {
padding-left: 0.5rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pr-sm-3 {
padding-right: 1rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pl-sm-3 {
padding-left: 1rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pr-sm-4 {
padding-right: 1.5rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pl-sm-4 {
padding-left: 1.5rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pr-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.pl-sm-5 {
padding-left: 3rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.mr-sm-auto {
margin-right: auto !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ml-sm-auto {
margin-left: auto !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 768px) {
.m-md-0 {
margin: 0 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mr-md-0 {
margin-right: 0 !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.ml-md-0 {
margin-left: 0 !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-md-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mr-md-1 {
margin-right: 0.25rem !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.ml-md-1 {
margin-left: 0.25rem !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mr-md-2 {
margin-right: 0.5rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.ml-md-2 {
margin-left: 0.5rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-md-3 {
margin: 1rem 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mr-md-3 {
margin-right: 1rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.ml-md-3 {
margin-left: 1rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-md-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mr-md-4 {
margin-right: 1.5rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.ml-md-4 {
margin-left: 1.5rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-md-5 {
margin: 3rem 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mr-md-5 {
margin-right: 3rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.ml-md-5 {
margin-left: 3rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-md-0 {
padding: 0 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pr-md-0 {
padding-right: 0 !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pl-md-0 {
padding-left: 0 !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-md-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pr-md-1 {
padding-right: 0.25rem !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pl-md-1 {
padding-left: 0.25rem !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pr-md-2 {
padding-right: 0.5rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pl-md-2 {
padding-left: 0.5rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-md-3 {
padding: 1rem 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pr-md-3 {
padding-right: 1rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pl-md-3 {
padding-left: 1rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-md-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pr-md-4 {
padding-right: 1.5rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pl-md-4 {
padding-left: 1.5rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-md-5 {
padding: 3rem 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pr-md-5 {
padding-right: 3rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.pl-md-5 {
padding-left: 3rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.mr-md-auto {
margin-right: auto !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ml-md-auto {
margin-left: auto !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mr-lg-0 {
margin-right: 0 !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.ml-lg-0 {
margin-left: 0 !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-lg-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mr-lg-1 {
margin-right: 0.25rem !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.ml-lg-1 {
margin-left: 0.25rem !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mr-lg-2 {
margin-right: 0.5rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.ml-lg-2 {
margin-left: 0.5rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mr-lg-3 {
margin-right: 1rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.ml-lg-3 {
margin-left: 1rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mr-lg-4 {
margin-right: 1.5rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.ml-lg-4 {
margin-left: 1.5rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mr-lg-5 {
margin-right: 3rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.ml-lg-5 {
margin-left: 3rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-lg-0 {
padding: 0 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pr-lg-0 {
padding-right: 0 !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pl-lg-0 {
padding-left: 0 !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-lg-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pr-lg-1 {
padding-right: 0.25rem !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pl-lg-1 {
padding-left: 0.25rem !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pr-lg-2 {
padding-right: 0.5rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pl-lg-2 {
padding-left: 0.5rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pr-lg-3 {
padding-right: 1rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pl-lg-3 {
padding-left: 1rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pr-lg-4 {
padding-right: 1.5rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pl-lg-4 {
padding-left: 1.5rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pr-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.pl-lg-5 {
padding-left: 3rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.mr-lg-auto {
margin-right: auto !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ml-lg-auto {
margin-left: auto !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mr-xl-0 {
margin-right: 0 !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.ml-xl-0 {
margin-left: 0 !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-xl-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mr-xl-1 {
margin-right: 0.25rem !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.ml-xl-1 {
margin-left: 0.25rem !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mr-xl-2 {
margin-right: 0.5rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.ml-xl-2 {
margin-left: 0.5rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mr-xl-3 {
margin-right: 1rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.ml-xl-3 {
margin-left: 1rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mr-xl-4 {
margin-right: 1.5rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.ml-xl-4 {
margin-left: 1.5rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mr-xl-5 {
margin-right: 3rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.ml-xl-5 {
margin-left: 3rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-xl-0 {
padding: 0 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pr-xl-0 {
padding-right: 0 !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pl-xl-0 {
padding-left: 0 !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-xl-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pr-xl-1 {
padding-right: 0.25rem !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pl-xl-1 {
padding-left: 0.25rem !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pr-xl-2 {
padding-right: 0.5rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pl-xl-2 {
padding-left: 0.5rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pr-xl-3 {
padding-right: 1rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pl-xl-3 {
padding-left: 1rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pr-xl-4 {
padding-right: 1.5rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pl-xl-4 {
padding-left: 1.5rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pr-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.pl-xl-5 {
padding-left: 3rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.mr-xl-auto {
margin-right: auto !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ml-xl-auto {
margin-left: auto !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
.text-justify {
text-align: justify !important;
}
 
.text-nowrap {
white-space: nowrap !important;
}
 
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
 
.text-left {
text-align: left !important;
}
 
.text-right {
text-align: right !important;
}
 
.text-center {
text-align: center !important;
}
 
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important;
}
.text-sm-right {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
 
@media (min-width: 768px) {
.text-md-left {
text-align: left !important;
}
.text-md-right {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
 
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important;
}
.text-lg-right {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
 
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important;
}
.text-xl-right {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
 
.text-lowercase {
text-transform: lowercase !important;
}
 
.text-uppercase {
text-transform: uppercase !important;
}
 
.text-capitalize {
text-transform: capitalize !important;
}
 
.font-weight-normal {
font-weight: normal;
}
 
.font-weight-bold {
font-weight: bold;
}
 
.font-italic {
font-style: italic;
}
 
.text-white {
color: #fff !important;
}
 
.text-muted {
color: #636c72 !important;
}
 
a.text-muted:focus, a.text-muted:hover {
color: #4b5257 !important;
}
 
.text-primary {
color: #0275d8 !important;
}
 
a.text-primary:focus, a.text-primary:hover {
color: #025aa5 !important;
}
 
.text-success {
color: #5cb85c !important;
}
 
a.text-success:focus, a.text-success:hover {
color: #449d44 !important;
}
 
.text-info {
color: #5bc0de !important;
}
 
a.text-info:focus, a.text-info:hover {
color: #31b0d5 !important;
}
 
.text-warning {
color: #f0ad4e !important;
}
 
a.text-warning:focus, a.text-warning:hover {
color: #ec971f !important;
}
 
.text-danger {
color: #d9534f !important;
}
 
a.text-danger:focus, a.text-danger:hover {
color: #c9302c !important;
}
 
.text-gray-dark {
color: #292b2c !important;
}
 
a.text-gray-dark:focus, a.text-gray-dark:hover {
color: #101112 !important;
}
 
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
 
.invisible {
visibility: hidden !important;
}
 
.hidden-xs-up {
display: none !important;
}
 
@media (max-width: 575px) {
.hidden-xs-down {
display: none !important;
}
}
 
@media (min-width: 576px) {
.hidden-sm-up {
display: none !important;
}
}
 
@media (max-width: 767px) {
.hidden-sm-down {
display: none !important;
}
}
 
@media (min-width: 768px) {
.hidden-md-up {
display: none !important;
}
}
 
@media (max-width: 991px) {
.hidden-md-down {
display: none !important;
}
}
 
@media (min-width: 992px) {
.hidden-lg-up {
display: none !important;
}
}
 
@media (max-width: 1199px) {
.hidden-lg-down {
display: none !important;
}
}
 
@media (min-width: 1200px) {
.hidden-xl-up {
display: none !important;
}
}
 
.hidden-xl-down {
display: none !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;
}
}
/*# sourceMappingURL=bootstrap.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap.min.css
New file
0,0 → 1,6
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}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.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.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 .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:.75rem 1.25rem;background-color:#f7f7f9;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:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{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:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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:1030}.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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!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}}/*# sourceMappingURL=bootstrap.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-grid.css
New file
0,0 → 1,1339
@-ms-viewport {
width: device-width;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-overflow-style: scrollbar;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
/*# sourceMappingURL=bootstrap-grid.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-reboot.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css
New file
0,0 → 1,0
@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-reboot.css
New file
0,0 → 1,459
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css
New file
0,0 → 1,0
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/js/bootstrap.js
New file
0,0 → 1,3535
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
 
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
 
+function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}(jQuery);
 
 
+function () {
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
 
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Util = function ($) {
 
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
 
var transition = false;
 
var MAX_UID = 1000000;
 
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
 
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
 
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
 
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
return undefined;
}
};
}
 
function transitionEndTest() {
if (window.QUnit) {
return false;
}
 
var el = document.createElement('bootstrap');
 
for (var name in TransitionEndEvent) {
if (el.style[name] !== undefined) {
return {
end: TransitionEndEvent[name]
};
}
}
 
return false;
}
 
function transitionEndEmulator(duration) {
var _this = this;
 
var called = false;
 
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
 
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
 
return this;
}
 
function setTransitionEndSupport() {
transition = transitionEndTest();
 
$.fn.emulateTransitionEnd = transitionEndEmulator;
 
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
 
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
 
var Util = {
 
TRANSITION_END: 'bsTransitionEnd',
 
getUID: function getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
 
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
 
return selector;
},
reflow: function reflow(element) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
 
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
 
setTransitionEndSupport();
 
return Util;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Alert = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'alert';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
 
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Alert = function () {
function Alert(element) {
_classCallCheck(this, Alert);
 
this._element = element;
}
 
// getters
 
// public
 
Alert.prototype.close = function close(element) {
element = element || this._element;
 
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
 
if (customEvent.isDefaultPrevented()) {
return;
}
 
this._removeElement(rootElement);
};
 
Alert.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Alert.prototype._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element);
var parent = false;
 
if (selector) {
parent = $(selector)[0];
}
 
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
 
return parent;
};
 
Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
 
$(element).trigger(closeEvent);
return closeEvent;
};
 
Alert.prototype._removeElement = function _removeElement(element) {
var _this2 = this;
 
$(element).removeClass(ClassName.SHOW);
 
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
 
$(element).one(Util.TRANSITION_END, function (event) {
return _this2._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Alert.prototype._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
};
 
// static
 
Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
 
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
 
if (config === 'close') {
data[config](this);
}
});
};
 
Alert._handleDismiss = function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
 
alertInstance.close(this);
};
};
 
_createClass(Alert, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Alert;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
 
return Alert;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Button = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'button';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
 
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
 
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Button = function () {
function Button(element) {
_classCallCheck(this, Button);
 
this._element = element;
}
 
// getters
 
// public
 
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
 
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
 
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
 
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
 
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
 
input.focus();
}
}
 
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
 
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
};
 
Button.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// static
 
Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
 
if (config === 'toggle') {
data[config]();
}
});
};
 
_createClass(Button, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Button;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
 
var button = event.target;
 
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
 
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
 
return Button;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Carousel = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'carousel';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
 
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
 
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
 
var Direction = {
NEXT: 'next',
PREV: 'prev',
LEFT: 'left',
RIGHT: 'right'
};
 
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'carousel-item-right',
LEFT: 'carousel-item-left',
NEXT: 'carousel-item-next',
PREV: 'carousel-item-prev',
ITEM: 'carousel-item'
};
 
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Carousel = function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
 
this._items = null;
this._interval = null;
this._activeElement = null;
 
this._isPaused = false;
this._isSliding = false;
 
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
 
this._addEventListeners();
}
 
// getters
 
// public
 
Carousel.prototype.next = function next() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.NEXT);
};
 
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
};
 
Carousel.prototype.prev = function prev() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.PREVIOUS);
};
 
Carousel.prototype.pause = function pause(event) {
if (!event) {
this._isPaused = true;
}
 
if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
 
clearInterval(this._interval);
this._interval = null;
};
 
Carousel.prototype.cycle = function cycle(event) {
if (!event) {
this._isPaused = false;
}
 
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
 
if (this._config.interval && !this._isPaused) {
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
 
Carousel.prototype.to = function to(index) {
var _this3 = this;
 
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
 
var activeIndex = this._getItemIndex(this._activeElement);
 
if (index > this._items.length - 1 || index < 0) {
return;
}
 
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this3.to(index);
});
return;
}
 
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
 
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
 
this._slide(direction, this._items[index]);
};
 
Carousel.prototype.dispose = function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
 
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
};
 
// private
 
Carousel.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Carousel.prototype._addEventListeners = function _addEventListeners() {
var _this4 = this;
 
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, function (event) {
return _this4._keydown(event);
});
}
 
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
}
};
 
Carousel.prototype._keydown = function _keydown(event) {
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
 
switch (event.which) {
case ARROW_LEFT_KEYCODE:
event.preventDefault();
this.prev();
break;
case ARROW_RIGHT_KEYCODE:
event.preventDefault();
this.next();
break;
default:
return;
}
};
 
Carousel.prototype._getItemIndex = function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
};
 
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
 
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
 
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
 
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName
});
 
$(this._element).trigger(slideEvent);
 
return slideEvent;
};
 
Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
};
 
Carousel.prototype._slide = function _slide(direction, element) {
var _this5 = this;
 
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
var isCycling = Boolean(this._interval);
 
var directionalClassName = void 0;
var orderClassName = void 0;
var eventDirectionName = void 0;
 
if (direction === Direction.NEXT) {
directionalClassName = ClassName.LEFT;
orderClassName = ClassName.NEXT;
eventDirectionName = Direction.LEFT;
} else {
directionalClassName = ClassName.RIGHT;
orderClassName = ClassName.PREV;
eventDirectionName = Direction.RIGHT;
}
 
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
 
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.isDefaultPrevented()) {
return;
}
 
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
 
this._isSliding = true;
 
if (isCycling) {
this.pause();
}
 
this._setActiveIndicatorElement(nextElement);
 
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: eventDirectionName
});
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
 
$(nextElement).addClass(orderClassName);
 
Util.reflow(nextElement);
 
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
 
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
 
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
 
_this5._isSliding = false;
 
setTimeout(function () {
return $(_this5._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
 
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
 
if (isCycling) {
this.cycle();
}
};
 
// static
 
Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
 
if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
$.extend(_config, config);
}
 
var action = typeof config === 'string' ? config : _config.slide;
 
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
};
 
Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
var selector = Util.getSelectorFromElement(this);
 
if (!selector) {
return;
}
 
var target = $(selector)[0];
 
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
 
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
 
if (slideIndex) {
config.interval = false;
}
 
Carousel._jQueryInterface.call($(target), config);
 
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
 
event.preventDefault();
};
 
_createClass(Carousel, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Carousel;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
 
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
 
return Carousel;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Collapse = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'collapse';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
 
var Default = {
toggle: true,
parent: ''
};
 
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
 
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SHOW: 'show',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
 
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
 
var Selector = {
ACTIVES: '.card > .show, .card > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Collapse = function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
 
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
 
this._parent = this._config.parent ? this._getParent() : null;
 
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
 
if (this._config.toggle) {
this.toggle();
}
}
 
// getters
 
// public
 
Collapse.prototype.toggle = function toggle() {
if ($(this._element).hasClass(ClassName.SHOW)) {
this.hide();
} else {
this.show();
}
};
 
Collapse.prototype.show = function show() {
var _this6 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if ($(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var actives = void 0;
var activesData = void 0;
 
if (this._parent) {
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
 
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
 
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
 
var dimension = this._getDimension();
 
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
 
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
 
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
 
_this6._element.style[dimension] = '';
 
_this6.setTransitioning(false);
 
$(_this6._element).trigger(Event.SHOWN);
};
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
 
this._element.style[dimension] = this._element[scrollSize] + 'px';
};
 
Collapse.prototype.hide = function hide() {
var _this7 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if (!$(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
 
this._element.style[dimension] = this._element[offsetDimension] + 'px';
 
Util.reflow(this._element);
 
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
 
this._element.setAttribute('aria-expanded', false);
 
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
_this7.setTransitioning(false);
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
 
this._element.style[dimension] = '';
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
};
 
Collapse.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
};
 
// private
 
Collapse.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Collapse.prototype._getDimension = function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
};
 
Collapse.prototype._getParent = function _getParent() {
var _this8 = this;
 
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
 
$(parent).find(selector).each(function (i, element) {
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
 
return parent;
};
 
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
element.setAttribute('aria-expanded', isOpen);
 
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
};
 
// static
 
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
};
 
Collapse._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
 
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Collapse, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Collapse;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
 
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
 
Collapse._jQueryInterface.call($(target), config);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
 
return Collapse;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Dropdown = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
 
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Dropdown = function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
 
this._element = element;
 
this._addEventListeners();
}
 
// getters
 
// public
 
Dropdown.prototype.toggle = function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
Dropdown._clearMenus();
 
if (isActive) {
return false;
}
 
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
 
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
 
var relatedTarget = {
relatedTarget: this
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
 
$(parent).trigger(showEvent);
 
if (showEvent.isDefaultPrevented()) {
return false;
}
 
this.focus();
this.setAttribute('aria-expanded', true);
 
$(parent).toggleClass(ClassName.SHOW);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
 
return false;
};
 
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
};
 
// private
 
Dropdown.prototype._addEventListeners = function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
};
 
// static
 
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Dropdown(this);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
};
 
Dropdown._clearMenus = function _clearMenus(event) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
 
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
 
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
 
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = {
relatedTarget: toggles[i]
};
 
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
 
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
continue;
}
 
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
 
toggles[i].setAttribute('aria-expanded', 'false');
 
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
 
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent = void 0;
var selector = Util.getSelectorFromElement(element);
 
if (selector) {
parent = $(selector)[0];
}
 
return parent || element.parentNode;
};
 
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
 
event.preventDefault();
event.stopPropagation();
 
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
 
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
 
$(this).trigger('click');
return;
}
 
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
 
if (!items.length) {
return;
}
 
var index = items.indexOf(event.target);
 
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
 
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}
 
if (index < 0) {
index = 0;
}
 
items[index].focus();
};
 
_createClass(Dropdown, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Dropdown;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
 
return Dropdown;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Modal = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'modal';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
 
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
 
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Modal = function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
 
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
 
// getters
 
// public
 
Modal.prototype.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
 
Modal.prototype.show = function show(relatedTarget) {
var _this9 = this;
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
 
$(this._element).trigger(showEvent);
 
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = true;
 
this._checkScrollbar();
this._setScrollbar();
 
$(document.body).addClass(ClassName.OPEN);
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
return _this9.hide(event);
});
 
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this9._element)) {
_this9._ignoreBackdropClick = true;
}
});
});
 
this._showBackdrop(function () {
return _this9._showElement(relatedTarget);
});
};
 
Modal.prototype.hide = function hide(event) {
var _this10 = this;
 
if (event) {
event.preventDefault();
}
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
}
 
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
 
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = false;
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(document).off(Event.FOCUSIN);
 
$(this._element).removeClass(ClassName.SHOW);
 
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
if (transition) {
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this10._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
};
 
Modal.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
 
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
 
// private
 
Modal.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Modal.prototype._showElement = function _showElement(relatedTarget) {
var _this11 = this;
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
 
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
 
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0;
 
if (transition) {
Util.reflow(this._element);
}
 
$(this._element).addClass(ClassName.SHOW);
 
if (this._config.focus) {
this._enforceFocus();
}
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
 
var transitionComplete = function transitionComplete() {
if (_this11._config.focus) {
_this11._element.focus();
}
_this11._isTransitioning = false;
$(_this11._element).trigger(shownEvent);
};
 
if (transition) {
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
};
 
Modal.prototype._enforceFocus = function _enforceFocus() {
var _this12 = this;
 
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
_this12._element.focus();
}
});
};
 
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
var _this13 = this;
 
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
_this13.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
};
 
Modal.prototype._setResizeEvent = function _setResizeEvent() {
var _this14 = this;
 
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
return _this14._handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
}
};
 
Modal.prototype._hideModal = function _hideModal() {
var _this15 = this;
 
this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this15._resetAdjustments();
_this15._resetScrollbar();
$(_this15._element).trigger(Event.HIDDEN);
});
};
 
Modal.prototype._removeBackdrop = function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
};
 
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
var _this16 = this;
 
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
 
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
 
if (animate) {
$(this._backdrop).addClass(animate);
}
 
$(this._backdrop).appendTo(document.body);
 
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this16._ignoreBackdropClick) {
_this16._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this16._config.backdrop === 'static') {
_this16._element.focus();
} else {
_this16.hide();
}
});
 
if (doAnimate) {
Util.reflow(this._backdrop);
}
 
$(this._backdrop).addClass(ClassName.SHOW);
 
if (!callback) {
return;
}
 
if (!doAnimate) {
callback();
return;
}
 
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
 
var callbackRemove = function callbackRemove() {
_this16._removeBackdrop();
if (callback) {
callback();
}
};
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
};
 
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
 
Modal.prototype._handleUpdate = function _handleUpdate() {
this._adjustDialog();
};
 
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
 
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetAdjustments = function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
};
 
Modal.prototype._checkScrollbar = function _checkScrollbar() {
this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
 
Modal.prototype._setScrollbar = function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
 
this._originalBodyPadding = document.body.style.paddingRight || '';
 
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetScrollbar = function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
};
 
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
 
// static
 
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
};
 
_createClass(Modal, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Modal;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this17 = this;
 
var target = void 0;
var selector = Util.getSelectorFromElement(this);
 
if (selector) {
target = $(selector)[0];
}
 
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
 
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
 
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
 
$target.one(Event.HIDDEN, function () {
if ($(_this17).is(':visible')) {
_this17.focus();
}
});
});
 
Modal._jQueryInterface.call($(target), config, this);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
 
return Modal;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var ScrollSpy = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = {
offset: 10,
method: 'auto',
target: ''
};
 
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
 
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
 
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
 
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var ScrollSpy = function () {
function ScrollSpy(element, config) {
var _this18 = this;
 
_classCallCheck(this, ScrollSpy);
 
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
 
$(this._scrollElement).on(Event.SCROLL, function (event) {
return _this18._process(event);
});
 
this.refresh();
this._process();
}
 
// getters
 
// public
 
ScrollSpy.prototype.refresh = function refresh() {
var _this19 = this;
 
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
 
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
 
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
 
this._offsets = [];
this._targets = [];
 
this._scrollHeight = this._getScrollHeight();
 
var targets = $.makeArray($(this._selector));
 
targets.map(function (element) {
var target = void 0;
var targetSelector = Util.getSelectorFromElement(element);
 
if (targetSelector) {
target = $(targetSelector)[0];
}
 
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
return null;
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this19._offsets.push(item[0]);
_this19._targets.push(item[1]);
});
};
 
ScrollSpy.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
 
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
};
 
// private
 
ScrollSpy.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
 
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = Util.getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
 
Util.typeCheckConfig(NAME, config, DefaultType);
 
return config;
};
 
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
 
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
};
 
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
};
 
ScrollSpy.prototype._process = function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
 
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
 
if (this._activeTarget !== target) {
this._activate(target);
}
return;
}
 
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
this._activeTarget = null;
this._clear();
return;
}
 
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
 
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
};
 
ScrollSpy.prototype._activate = function _activate(target) {
this._activeTarget = target;
 
this._clear();
 
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
 
var $link = $(queries.join(','));
 
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus...
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
 
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
};
 
ScrollSpy.prototype._clear = function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
};
 
// static
 
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(ScrollSpy, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return ScrollSpy;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
 
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
 
return ScrollSpy;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tab = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tab';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
DISABLED: 'disabled',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tab = function () {
function Tab(element) {
_classCallCheck(this, Tab);
 
this._element = element;
}
 
// getters
 
// public
 
Tab.prototype.show = function show() {
var _this20 = this;
 
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
 
var target = void 0;
var previous = void 0;
var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
 
if (listElement) {
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
 
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
 
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
 
if (previous) {
$(previous).trigger(hideEvent);
}
 
$(this._element).trigger(showEvent);
 
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
 
if (selector) {
target = $(selector)[0];
}
 
this._activate(this._element, listElement);
 
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this20._element
});
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
 
$(previous).trigger(hiddenEvent);
$(_this20._element).trigger(shownEvent);
};
 
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
};
 
Tab.prototype.dispose = function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Tab.prototype._activate = function _activate(element, container, callback) {
var _this21 = this;
 
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
 
var complete = function complete() {
return _this21._transitionComplete(element, active, isTransitioning, callback);
};
 
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
if (active) {
$(active).removeClass(ClassName.SHOW);
}
};
 
Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
 
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
 
active.setAttribute('aria-expanded', false);
}
 
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
 
if (isTransitioning) {
Util.reflow(element);
$(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
 
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
 
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
 
element.setAttribute('aria-expanded', true);
}
 
if (callback) {
callback();
}
};
 
// static
 
Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
 
if (!data) {
data = new Tab(this);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tab, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Tab;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
 
return Tab;
}(jQuery);
 
/* global Tether */
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tooltip = function ($) {
 
/**
* Check for Tether dependency
* Tether - http://tether.io/
*/
if (typeof Tether === 'undefined') {
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
}
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
 
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: [],
container: false
};
 
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array',
container: '(string|element|boolean)'
};
 
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
 
var HoverState = {
SHOW: 'show',
OUT: 'out'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
 
var TetherClass = {
element: false,
enabled: false
};
 
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tooltip = function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
 
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._isTransitioning = false;
this._tether = null;
 
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
 
this._setListeners();
}
 
// getters
 
// public
 
Tooltip.prototype.enable = function enable() {
this._isEnabled = true;
};
 
Tooltip.prototype.disable = function disable() {
this._isEnabled = false;
};
 
Tooltip.prototype.toggleEnabled = function toggleEnabled() {
this._isEnabled = !this._isEnabled;
};
 
Tooltip.prototype.toggle = function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
context._activeTrigger.click = !context._activeTrigger.click;
 
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
 
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
this._leave(null, this);
return;
}
 
this._enter(null, this);
}
};
 
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
 
this.cleanupTether();
 
$.removeData(this.element, this.constructor.DATA_KEY);
 
$(this.element).off(this.constructor.EVENT_KEY);
$(this.element).closest('.modal').off('hide.bs.modal');
 
if (this.tip) {
$(this.tip).remove();
}
 
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
 
this.element = null;
this.config = null;
this.tip = null;
};
 
Tooltip.prototype.show = function show() {
var _this22 = this;
 
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
 
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
$(this.element).trigger(showEvent);
 
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
 
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
 
var tip = this.getTipElement();
var tipId = Util.getUID(this.constructor.NAME);
 
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
 
this.setContent();
 
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
 
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
 
var attachment = this._getAttachment(placement);
 
var container = this.config.container === false ? document.body : $(this.config.container);
 
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
 
$(this.element).trigger(this.constructor.Event.INSERTED);
 
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
 
Util.reflow(tip);
this._tether.position();
 
$(tip).addClass(ClassName.SHOW);
 
var complete = function complete() {
var prevHoverState = _this22._hoverState;
_this22._hoverState = null;
_this22._isTransitioning = false;
 
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
 
if (prevHoverState === HoverState.OUT) {
_this22._leave(null, _this22);
}
};
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
 
complete();
}
};
 
Tooltip.prototype.hide = function hide(callback) {
var _this23 = this;
 
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
var complete = function complete() {
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
 
_this23.element.removeAttribute('aria-describedby');
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
_this23._isTransitioning = false;
_this23.cleanupTether();
 
if (callback) {
callback();
}
};
 
$(this.element).trigger(hideEvent);
 
if (hideEvent.isDefaultPrevented()) {
return;
}
 
$(tip).removeClass(ClassName.SHOW);
 
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
this._hoverState = '';
};
 
// protected
 
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
 
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
};
 
Tooltip.prototype.getTitle = function getTitle() {
var title = this.element.getAttribute('data-original-title');
 
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
 
return title;
};
 
Tooltip.prototype.cleanupTether = function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
};
 
// private
 
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
};
 
Tooltip.prototype._setListeners = function _setListeners() {
var _this24 = this;
 
var triggers = this.config.trigger.split(' ');
 
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
return _this24.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
 
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
return _this24._enter(event);
}).on(eventOut, _this24.config.selector, function (event) {
return _this24._leave(event);
});
}
 
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
return _this24.hide();
});
});
 
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
};
 
Tooltip.prototype._fixTitle = function _fixTitle() {
var titleType = _typeof(this.element.getAttribute('data-original-title'));
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
};
 
Tooltip.prototype._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
 
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW;
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.SHOW;
 
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.SHOW) {
context.show();
}
}, context.config.delay.show);
};
 
Tooltip.prototype._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
 
if (context._isWithActiveTrigger()) {
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.OUT;
 
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
};
 
Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
 
return false;
};
 
Tooltip.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
 
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
 
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 
return config;
};
 
Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
var config = {};
 
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
 
return config;
};
 
// static
 
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data && /dispose|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tooltip, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Tooltip;
}();
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
 
return Tooltip;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Popover = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'popover';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
 
var DefaultType = $.extend({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Popover = function (_Tooltip) {
_inherits(Popover, _Tooltip);
 
function Popover() {
_classCallCheck(this, Popover);
 
return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
}
 
// overrides
 
Popover.prototype.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
 
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Popover.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
// private
 
Popover.prototype._getContent = function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
 
// static
 
Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
 
if (!data && /destroy|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Popover, null, [{
key: 'VERSION',
 
 
// getters
 
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Popover;
}(Tooltip);
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
 
return Popover;
}(jQuery);
 
}();
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/bootstrap-4/js/bootstrap.min.js
New file
0,0 → 1,7
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="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},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.6",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.6",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.6",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API+" "+_.FOCUSIN_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;
if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.6",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.6",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.6",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}();
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/saisie.css
New file
0,0 → 1,661
@CHARSET "UTF-8";
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
}
 
#zone-appli {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.9);
margin: 2rem auto;
}
 
#zone-appli .zone-alerte{
width: 100%;
}
 
#logo {
max-width: 100%;
color: transparent;
}
 
h1, h2, h3, h4, h5 {
font-family: Muli,sans-serif;
color: #606060;
font-weight: 700;
}
 
form {
font-family: Muli,sans-serif;
float: none;
}
 
h1 {
font-weight: 700;
font-size: 2rem;
}
 
h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
h3 {
font-size: 1.2rem;
}
 
ul {
padding-inline-start: 0;
}
 
#zone-appli .obligatoire::before {
content: '*';
position: absolute;
left: 0;
}
 
.btn.focus,
.btn:focus {
box-shadow: none;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse {
color: #fff !important;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse,
.btn.btn-outline-primary,
.btn.btn-outline-info,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-inverse {
border-radius: 0.15rem;
}
 
button {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #a2b93b;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
border-bottom-style: none;
border-bottom-width: 0;
border-image-outset: 0 0 0 0;
border-image-repeat: stretch stretch;
border-image-slice: 100% 100% 100% 100%;
border-image-source: none;
border-image-width: 1 1 1 1;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: 0;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: 0;
border-top-color: currentcolor;
border-top-left-radius: 0.2rem;
border-top-right-radius: 0.2rem;
border-top-style: none;
border-top-width: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 1.5rem;
padding-bottom: 1.25rem;
padding-left: 2rem;
padding-right: 2rem;
padding-top: 1.25rem;
text-align: center;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-transform: uppercase;
transition-delay: 0s;
transition-duration: 0.2s;
transition-property: background;
transition-timing-function: ease;
}
 
.mb2,
.mb-3 {
align-self: start;
}
 
label,
#zone-appli .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli .form-inline label,
#zone-appli .form-inline .list-label {
align-items: start;
align-self: start;
justify-content: left;
align-content: flex-start;
}
 
#zone-appli .hidden,
#fenetre-modal .hidden {
display: none !important;
}
 
#zone-appli .warning {
color: #ff5d55;
font-weight: 700;
}
 
#photos-conteneur label.label-file.error,
.control-group.error #connexion,
.control-group.error #inscription,
.control-group.error #bouton-anonyme,
.control-group.error .geoloc,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
.control-group .erreur,
.control-group.error,
span.error {
color: #b94a48 !important;
}
 
#zone-appli .centre {
margin: 0 auto !important;
justify-content: center !important;
}
 
#zone-appli .droite {
float: right;
}
 
#zone-appli .info {
padding: 1rem;
background-color: #ccecf1;
border-color: #7ccedb;
color: #006979;
fill: #006979;
border-radius: 0.2rem;
}
 
#zone-appli .clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
 
#zone-appli .ui-widget{
font-family: Muli,sans-serif;
}
 
#zone-appli .form-inline .form-control {
width: 100%;
}
 
#zone-appli #logo_hires {
display: none;
}
 
#zone-appli .logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
#zone-appli .bloc-top {
border-top: 1px solid rgba(0,0,0,.1);
padding-top: 1rem;
}
 
#zone-appli .bloc-bottom {
border-bottom: 1px solid rgba(0,0,0,.1);
padding-bottom: 1rem;
}
 
.unstyled {
list-style-type: none;
overflow-y: auto;
overflow-x: initial;
height: 8rem;
padding: 1rem;
}
 
#zone-appli #formulaire form {
margin-bottom: 1.5rem;
}
 
input[type="checkbox"],
input[type="radio"],
input.radio,
input.checkbox {
vertical-align:text-top;
padding: 0;
margin-right: 10px;
position:relative;
overflow:hidden;
top:2px;
}
 
/*************************************************************************/
 
form#form-observateur,
form#form-observation {
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.volet {
height: 5rem;
}
 
#identite {
height: auto;
}
 
#bouton-connexion,
#creation-compte {
display: -ms-flexbox;
display: flex;
height: 5rem;
-webkit-box-flex: 1;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
justify-content: left;
align-items: flex-start;
align-content: flex-middle;
}
 
#ajouter-obs,
#transmettre-obs {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#transmettre-obs:focus,
#transmettre-obs:hover,
#ajouter-obs:focus,
#ajouter-obs:hover {
background-color: #a2b93b;
border: none;
}
 
#utilisateur-connecte.volet {
padding-left: 2rem;
}
 
#utilisateur-connecte.volet > a {
margin-left: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur,
#utilisateur-connecte.volet #deconnexion {
padding: 0 0.75rem;
margin: 0.2rem 0;
}
 
#utilisateur-connecte.volet .volet-menu a {
font-size: 0.8rem;
font-weight: 400;
color: #606060;
background: inherit;
text-decoration: none;
display: block;
width: 100%;
padding-left: 5px;
line-height: 25px;
outline: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur:hover,
#utilisateur-connecte.volet #deconnexion:hover,
#utilisateur-connecte.volet #profil-utilisateur:focus,
#utilisateur-connecte.volet #deconnexion:focus {
background: #b2cb43;
}
 
#utilisateur-connecte.volet .volet-menu a:hover,
#utilisateur-connecte.volet .volet-menu a:focus {
color: #fff;
}
 
#utilisateur-connecte .volet-menu {
position: absolute;
z-index: 1000;
min-width: auto;
list-style: none;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
 
.volet-menu div a {
color: #222;
}
 
#utilisateur-connecte .volet-toggle::after {
font-family: "Font Awesome 5 Free";
font-size: 0.8rem;
font-weight: 900;
content: '\f0d7'
}
 
/*******************************************/
 
.label-file {
overflow: hidden;
position: relative;
cursor: pointer;
border-radius: 0.25rem;
font-weight: 400;
font-size: 0.9rem;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: .375rem .75rem;
line-height: 1.5;
transition:
color .15s ease-in-out,
background-color .15s ease-in-out,
border-color .15s ease-in-out,
box-shadow .15s ease-in-out;
margin: 0;
}
 
.label-file [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
 
.label-file [type=file] {
cursor: pointer;
}
 
/*************************************/
 
#miniatures .miniature {
position: relative;
display: inline-block;
margin-bottom: 3rem;
}
 
#miniatures .miniature .miniature-img {
width: 10vw;
vertical-align: top;
}
 
#miniatures .miniature .effacer-miniature {
display: flex;
position: absolute;
left: 0;
right: 0;
bottom: -1.9rem;
font-size: 1rem;
background-color: #ff5d55;
opacity: 1;
color: #ffffff;
padding: 0;
margin: 0;
width: 100%;
height: 2rem;
align-items:center;
justify-content: center;
cursor: pointer;
border-bottom-right-radius: 0.2rem;
border-bottom-left-radius: 0.2rem;
}
 
#miniatures .miniature .effacer-miniature:hover {
background-color: #ff847e;
}
.obs {
height: 10rem;
padding: 1rem;
border-radius: 0.25rem;
background-color: #fbfbfb;
border: 1px solid #eee;
overflow: hidden;
}
 
.obs .nom-sci {
font-size: 1rem;
}
 
.defilement-miniatures .defilement-miniatures-cache,
.defilement-miniatures .miniature-cachee {
display: none;
}
 
.defilement-miniatures {
display: flex;
align-items:center;
justify-content: center;
height: 8rem;
}
.defilement-miniatures figure {
display: inline-block;
min-height: 8rem;
line-height: 8rem;
text-align: center;
min-width: 80%;
width: 80%;
margin:0 auto;
padding: 0;
}
 
.miniature-selectionnee {
vertical-align: middle;
max-height: 8rem;
max-width: 80%;
}
 
.defilement-miniatures-gauche,
.defilement-miniatures-droite {
display: inline-block;
color: #5bc0de;
vertical-align: middle;
outline-style: none;
}
 
.defilement-miniatures-gauche:active,
.defilement-miniatures-droite:active,
.defilement-miniatures-gauche:focus,
.defilement-miniatures-droite:focus {
color: #499fb7;
}
 
.defilement-miniatures-gauche:hover,
.defilement-miniatures-droite:hover {
color: #499fb7;
}
 
#zone-prenom-nom #prenom,
#zone-prenom-nom #nom {
z-index: 0;
}
 
#transmettre-obs{
text-align: right;
}
 
#zone-liste-obs h2.transmission-title {
display: inline-block;
}
 
footer a {
display: inline-block;
}
 
.help-button {
float: right;
}
 
#image-fond {
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
min-width: 100%;
background-attachment: fixed;
margin: 0;
padding: 0;
}
 
.modal-open,
body.modal-open {
overflow: inherit !important;
}
 
.modal-footer,
.modal-header {
border-top: none;
border-bottom: none;
}
 
.modal-dialog {
max-width: 90vw;
}
 
.modal-content img {
display: none;
}
 
.modal-body {
padding: 0;
margin:0 auto;
text-align: center;
}
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
#titre-projet {
font-size: 1.5rem;
}
 
h2 {
font-size: 1.3rem;
}
 
#logo {
max-width: 80%;
}
 
#bouton-connexion,
#creation-compte {
display: block;
width: 100%;
position: static;
}
#miniatures .miniature .miniature-img {
width: 22.9vw;
}
#miniatures .miniature .effacer-miniature {
font-size: 0.8rem;
}
 
#transmettre-obs.droite {
float: none;
}
 
.obs {
height: auto;
}
 
.obs .unstyled {
font-size: 0.6rem;
}
 
.obs .nom-sci {
font-size: 0.8rem;
}
 
.supprimer-obs {
overflow: hidden;
}
 
#image-fond {
display: none;
}
 
#fenetre-modal {
padding: 0 !important;
}
 
.modal-dialog {
max-width: unset;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: 0;
}
 
.modal-dialog-centered {
min-height: 100vh;
}
 
.modal-content {
border: none;
border-radius: 0;
top: 0;
bottom: 0;
left: 0;
right: 0;
min-width: 100vw;
min-height: 100vh;
padding-right: 15px;
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/css/asl.css
New file
0,0 → 1,60
@CHARSET "UTF-8";
 
.table tr,
.table td,
.table th,
.table thead {
border: none !important;
}
 
.obs-erreur,
#releve-date.erreur {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
/*************************************************************************/
 
#bouton-poursuivre,
.charger-releve,
#soumettre-releve,
#connexion,
.confirmer {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#bouton-poursuivre:focus,
#bouton-poursuivre:hover,
.charger-releve:focus,
.charger-releve:hover,
#soumettre-releve:focus,
#soumettre-releve:hover,
#connexion:focus,
#connexion:hover,
.confirmer:focus,
.confirmer:hover {
background-color: #a2b93b;
border: none;
}
 
.releve-info {
font-size: 0.8rem;
}
 
/*************************************/
 
#charger-form,
#zone-arbres,
#zone-plantes,
#zone-lichens {
min-width: 100%;
}
 
/*volet autocompletion des taxons*/
.ui-autocomplete {
z-index: 1000 !important;
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/apaforms.tpl.html
New file
0,0 → 1,688
<?php if ('arbres' === $squelette ) : ?>
<form id="form-observation" role="form" autocomplete="on">
<h2>Relevé</h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label id="geoloc-label" class="col-sm-12 obligatoire has-tooltip" data-toggle="tooltip" title="Localisation du relevé.">
<i class="fa fa-map" aria-hidden="true"></i>&nbsp;Lieu du relevé
</label>
<div id="geoloc-info" class="text-justify col-sm-8">
<p>
<span class="font-weight-bold">Localisez ici la zone d’observation.</span>
</p>
<p>
Après l'enregistrement du relevé, vous pourrez pointer précisément les arbres sur lesquelles vous avez fait vos observations.
</p>
</div>
<div class="control-group">
<span id="geoloc-error" class="error hidden">
Le nom de la rue, ou de la commune, n'ont pas pu être correctement déterminées pour la localisation indiquée.<br>
Veuillez replacer le pointeur de la carte ou indiquer manuellement le nom de la rue ou/et de la commune.
</span>
<div id="geoloc" class="col-sm-12 geoloc">
<div id="tb-places-zone" class="flex hidden">
<div class="form-col search-container">
<label for="tb-places" >Trouver un lieu</label>
<div class="input-search-container">
<input id="tb-places" class="tb-places" type="search" name="tb-places" placeholder="Recherchez une adresse ici" autocomplete="off">
<div class="tb-places-search-icon"></div>
<button class="tb-places-close hidden"></button>
</div>
<div class="tb-places-results-container hidden">
<ul class="tb-places-results"></ul>
</div>
</div>
</div>
 
<div id="map-container">
<div
id="tb-geolocation"
style="height: 400px;width: 100%"
data-type-localisation="point"
data-zoom="4"
data-layer="osm"
data-form-suffix="-releve"
>
</div>
</div>
</div>
<div id="coord-releve" class="control-group mt-3">
<label for="latitude-releve" class="col-sm-8"><i class="fa fa-globe" aria-hidden="true"></i> latitude</label>
<div class="col-sm-8 mb-3">
<input type="text" id="latitude-releve" name="latitude-releve" class="form-control has-tooltip latitude-releve" data-toggle="tooltip">
</div>
<label for="longitude-releve" class="col-sm-8"><i class="fa fa-globe" aria-hidden="true"></i> longitude</label>
<div class="col-sm-8 mb-3">
<input type="text" id="longitude-releve" name="longitude-releve" class="form-control has-tooltip longitude-releve" data-toggle="tooltip">
</div>
</div>
<div id="geoloc-datas" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue">Rue</label>
<div class="col-sm-8">
<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
</div>
</div>
<div class="mt-3">
<label class="col-sm-8" for="commune-nom">Nom de commune</label>
<div class="col-sm-8">
<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
</div>
</div>
<input type="hidden" class="form-control geometry-releve" disabled id="geometry-releve" name="geometry-releve" value="" style="display:none">
<input type="hidden" class="form-control altitude-releve" disabled id="altitude-releve" name="altitude-releve" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label for="pays">Pays</label>
<div>
<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
 
<div class="col-md-6">
<h3 class="mb-3">Informations sur le relevé</h3>
<div id="obs-info" class="text-justify col-sm-8">
<p>
<span class="warning">Attention!</span><br>
Ces informations ne sont pas modifiables après la création du relevé
</p>
<p>
Pour indiquer qu'<span class="font-weight-bold">un élément concernant le relevé ou un arbre a changé</span> ou corriger une erreur, vous devez dupliquer le relevé existant.
</p>
<p>
<a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie">Consultez l'aide</a> pour plus d'infos.
</p>
</div>
 
<div class="control-group">
<label for="releve-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;Date de relevé
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="Saisir la date de l’observation">
<input type="date" id="releve-date" name="releve-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="fa fa-walking" aria-hidden="true"></i>&nbsp;Zone piétonne
</div>
<div id="zone-pietonne" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="pietonne" name="zone-pietonne" class="pietonne form-check-input" value="true">
<label for="pietonne" class="pietonne form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="non-pietonne" name="zone-pietonne" class="non-pietonne form-check-input" value="false">
<label for="non-pietonne" class="non-pietonne form-check-label">Non</label>
</div>
</div>
</div>
 
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-lightbulb" aria-hidden="true"></i>&nbsp;Présence de lampadaires
</div>
<div id="pres-lampadaires" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="lampadaires" name="pres-lampadaires" class="lampadaires form-check-input" value="true">
<label for="lampadaires" class="lampadaires form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="sans-lapadaires" name="pres-lampadaires" class="sans-lampadaires form-check-input" value="false">
<label for="sans-lampadaires" class="sans-lampadaires form-check-label">Non</label>
</div>
</div>
</div>
<?php endif; ?>
 
<div class="">
<label for="commentaires" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
</div>
</div>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre.">
<a href="" id="soumettre-releve" class="charger-carto btn btn-primary">Enregistrer</a>
</div>
</div>
</div>
</div>
</form><!-- fin zone relevé -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: mauvaise géolocalisation</h4>
<p>Certaines informations de géolocalisation n'ont pas été transmises.</p>
</div>
<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: Relevé dupliqué</h4>
<p>
Un releve existe dejà à cette date, pour cette rue.<br>
Si vous souhaitez dupliquer le relevé, veuillez actionner le bouton "Reprendre un précédent relevé" de la rubique "observateur",<br>puis choisir dans le tableau le relevé à dupliquer et entrer la date de votre nouvelle observation
</p>
</div>
</div>
<?php endif; ?>
 
<?php $chaine_sq_singulier = substr($squelette, 0, -1);?>
<div
id="zone-<?php echo $squelette;?>"
class="bloc-top <?php if ('arbres' === $squelette) echo 'hidden';?>"
data-sujet="<?php echo $squelette;?>"
data-tag-img="<?php echo isset($widget['tag-img']) ? $widget['tag-img'] : ''; ?>"
data-tag-obs="<?php echo isset($widget['tag-obs']) ? $widget['tag-obs'] : ''; ?>"
data-nom-sci-referentiel="<?php echo strtolower( $widget['referentiel'] ); ?>"
data-referentiel-impose="<?php echo $referentiel_impose; ?>"
>
<h2 class="mb-3">Saisie des <?php echo $squelette;?> du relevé</h2>
<?php if ('arbres' === $squelette ) : ?>
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<a href="" id="bouton-saisir-plantes" class="btn btn-info mb-3 hidden" data-load="plantes">
<i class="fas fa-seedling"></i>&nbsp;Saisir les plantes
</a>
<?php endif; ?>
<?php if ('tb_streets' !== $widget['projet']) : ?>
<a href="" id="bouton-saisir-lichens" class="btn btn-info mb-3 hidden" data-load="lichens">
<i class="far fa-snowflake"></i>&nbsp;Saisir les lichens
</a>
<?php endif; ?>
<?php else : ?>
<a href="" id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="<?php echo $squelette;?>">
<i class="far fa-plus-square"></i>&nbsp;Ajouter des <?php echo $squelette;?>
</a>
<?php endif; ?>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-<?php echo $squelette;?>" class="">
<?php if ('arbres' === $squelette ) : ?>
<div id="arbres-info" class="text-justify">
<p>
Vous devez saisir <span class="font-weight-bold">entre <?php echo ('tb_lichensgo' === $widget['projet']) ? '1 et 3' : '5 et 10'; ?> arbres</span>
</p>
</div>
<?php endif; ?>
<form id="form-<?php echo $squelette;?>" role="form" autocomplete="off">
<?php if ('arbres' === $squelette ) : ?>
<h3 class="mb-3">Arbre&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
<?php else : ?>
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="Au pied de quel arbre du relevé ce<?php echo ('lichens' === $squelette) ? " $chaine_sq_singulier a-t-il été observé" : "tte $chaine_sq_singulier a-t-elle été observée";?> ?">
<i class="fas fa-tree" aria-hidden="true"></i>&nbsp;Arbre
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="Au pied de quel arbre du relevé ce<?php echo ('lichens' === $squelette) ? " $chaine_sq_singulier a-t-il été observé" : "tte $chaine_sq_singulier a-t-elle été observée";?> ?" required>
<option value="" selected hidden>...Arbre numéro...</option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;Date
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
<?php endif; ?>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<!-- Bloc-taxon -->
<div id="bloc-taxon" class="control-group">
<label <?php echo ('arbres' !== $squelette ) ? 'for="taxon-liste"' : 'id="taxon-autocomplete-label" for="taxon"';?> class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>&nbsp;Espèce (<?php echo $widget['referentiel']; ?>)
</label>
 
<?php if ('arbres' === $squelette ) : ?>
 
<div class="col-sm-8 mb-3">
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="Saisir le taxon observé, en utilisant l’autocomplétion autant que possible" required autocomplete="off">
</div>
</div><!-- fin bloc-taxon -->
 
<?php else : ?>
<!-- bloc-taxon "if('arbres' !== $squelette)" -->
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="Choisir dans la liste le taxon observé, ou choisir &quot;autre&quot; et saisir le taxon observé, en utilisant l&apos;autocomplétion autant que possible.">
<option class="choisir" value="inconnue" selected hidden>...Choisir...</option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo ( 'plantes' === $squelette) ? $taxon['nom_fr'] : $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre">Autre espèce</option>
</select>
<span for="taxon-liste" class="error" style="display: none;">
Une observation doit comporter au moins une image ou un nom d'espèce
</span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div><!-- fin bloc-taxon -->
<!-- input text pour l'option "autre" espèce -->
<div id="taxon-input-groupe" class="control-group hidden">
<label id="taxon-autocomplete-label" for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>&nbsp;Autre espèce
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="Saisir le taxon observé, en utilisant l&apos;autocomplétion autant que possible.">
</div>
</div>
 
<?php endif; ?>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>&nbsp;Certitude
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option class="choisir" hidden value="" selected>...Choisir...</option>
<option class="aDeterminer" value="à determiner">À déterminer</option>
<option class="douteux" value="douteux">Douteuse</option>
<option class="certain" value="certain">Certaine</option>
</select>
</div>
</div>
<?php if ('lichens' === $squelette ) : ?>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire" title="À partir de la grille d&apos;observation, repérer où sont placés les lichens sur le tronc (bas à 1m du sol). Voir le tutoriel.">
<i class="fas fa-cube" aria-hidden="true"></i>&nbsp;Localisation sur le tronc
</div>
<table class="table col-sm-8">
<thead>
<tr>
<th scope="col">Face :</th>
<th scope="col">Nord</th>
<th scope="col">Sud</th>
<th scope="col">Est</th>
<th scope="col">Ouest</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Toute la hauteur</th>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="n" id="lichens-tronc-all-n" value="n1;n2;n3;n4;n5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="s" id="lichens-tronc-all-s" value="s1;s2;s3;s4;s5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="e" id="lichens-tronc-all-e" value="e1;e2;e3;e4;e5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="o" id="lichens-tronc-all-o" value="o1;o2;o3;o4;o5"></td>
</tr>
<tr>
<th scope="row">1 (haut)</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n1" value="n1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s1" value="s1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e1" value="e1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o1" value="o1"></td>
</tr>
<tr>
<th scope="row">2</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n2" value="n2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s2" value="s2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e2" value="e2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o2" value="o2"></td>
</tr>
<tr>
<th scope="row">3</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n3" value="n3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s3" value="s3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e3" value="e3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o3" value="o3"></td>
</tr>
<tr>
<th scope="row">4</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n4" value="n4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s4" value="s4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e4" value="e4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o4" value="o4"></td>
</tr>
<tr>
<th scope="row">5 (bas)</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n5" value="n5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s5" value="s5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e5" value="e5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o5" value="o5"></td>
</tr>
</tbody>
</table>
</div>
<?php endif; ?>
<?php if ('arbres' === $squelette ) : ?>
<div class="">
<label id="geoloc-label-arbres" class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="Localisation du relevé.">
<i class="fa fa-map-marked-alt " aria-hidden="true"></i>&nbsp;Localiser l'arbre
</label>
<div class="control-group">
<div id="geoloc-datas-arbres" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue-arbres">Rue</label>
<div class="col-sm-8">
<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
</div>
</div>
<input type="hidden" id="geometry-arbres" name="geometry-arbres" class="geometry-arbres" value="" style="display:none">
<input type="hidden" id="altitude-arbres" name="altitude-arbres" class="" value="" style="display:none">
</div>
<div id="geoloc-arbres" class="col-sm-8"></div>
<div id="coord-arbres" class="control-group mt-3">
<label for="latitude-arbres" class="col-sm-8"><i class="fa fa-globe" aria-hidden="true"></i> latitude</label>
<div class="col-sm-8 mb-3">
<input type="text" id="latitude-arbres" name="latitude-arbres" class="form-control has-tooltip latitude-arbres" data-toggle="tooltip">
</div>
<label for="longitude-arbres" class="col-sm-8"><i class="fa fa-globe" aria-hidden="true"></i> longitude</label>
<div class="col-sm-8 mb-3">
<input type="text" id="longitude-arbres" name="longitude-arbres" class="form-control has-tooltip longitude-arbres" data-toggle="tooltip">
</div>
</div>
</div>
</div>
<?php else : ?>
<div class="">
<label for="commentaire" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
<?php endif; ?>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<?php
$texte_photo = '';
if( 'lichens' !== $squelette ) $texte_photo = 't';
if( 'plantes' === $squelette ) $texte_photo .= 'te';
$texte_photo .= " $chaine_sq_singulier";
?>
<i class="fa fa-images" aria-hidden="true"></i>&nbsp;Photo(s) de ce<?php echo $texte_photo;?>
</div>
<p id="miniature-info" class="col-sm-8">
Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacune.<br>
En fonction de sa taille sur le disque le téléchargement d'une photo peut être long.<br>
Pendant ce temps l'envoi de l'observation sera interrompu.<br>
Vous pouvez l'annuler en cliquant sur le bouton supprimer de la photo en cours de téléchargement.
</p>
<div id ="photos-conteneur" class="control-group col-sm-12">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="Photos au format JPEG, moins de 5Mo chacune.">
<span class="label-text"><i class="fas fa-download"></i>&nbsp;Ajouter une image</span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<?php if ('arbres' === $squelette ) : ?>
<form id="form-arbre-fs" role="form" autocomplete="off">
<div class="control-group">
<label for="circonference" class="col-sm-8 obligatoire">
<i class="fa fa-circle-notch" aria-hidden="true"></i>&nbsp;Circonférence (cm)
</label>
<div class="col-sm-8 mb-3">
<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="Circonférence en cm, à 1m de hauteur" placeholder="Circonférence (cm)" step="1" min="1" required>
</div>
</div>
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<div class="control-group">
<label for="surface-pied" class="col-sm-8 obligatoire">
<i class="fa fa-arrows-alt" aria-hidden="true"></i>&nbsp;Surface du pied (m²)
</label>
<div class="col-sm-8 mb-3">
<input id="surface-pied" type="number" name="surface-pied" class="form-control has-tooltip" data-toggle="tooltip" title="Surface du pied d&apos;arbre en m² (évaluée ou mesurée avec un mètre)" placeholder="Surface du pied (m²)" step="0.01" min="0" lang="en"required>
</div>
</div>
<div class="control-group">
<label for="equipement-pied-arbre" class="col-sm-8 obligatoire">
<i class="fa fa-dot-circle" aria-hidden="true"></i>&nbsp;Equipement au pied de l'arbre
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="equipement-pied-arbre" name="equipement-pied-arbre" class="equipement-pied-arbre select form-control custom-select" data-label="Equipement au pied de l&apos;arbre" data-name="equipement-pied-arbre" required>
<option class="choisir" selected value="" data-name="equipement-pied-arbre" hidden>...Choisir...</option>
<option value="plaque de metal" data-name="equipement-pied-arbre">Plaque de métal</option>
<option value="grille" data-name="equipement-pied-arbre">Grille</option>
<option value="ciment" data-name="equipement-pied-arbre">Ciment</option>
<option value="gomme" data-name="equipement-pied-arbre">Gomme</option>
<option value="absent" data-name="equipement-pied-arbre">Absent</option>
<option class="other form-control is-select" value="other" data-name="equipement-pied-arbre" data-element="select">Autre</option>
</select>
</div>
<span class="error hidden">Ce champ est obligatoire.</span>
</div>
</div>
<div class="">
<label for="tassement" class="col-sm-8">
<i class="fas fa-sort-amount-down" aria-hidden="true"></i>&nbsp;Tassement
</label>
<div class="col-sm-8 mb-3">
<select id="tassement" name="tassement" class="tassement form-control custom-select has-tooltip" data-toggle="tooltip" title="Évaluer le tassement du sol à l&apos;aide d'un crayon que vous enfoncez verticalement dans le sol.">
<option class="choisir" selected value="" hidden>...Choisir...</option>
<option value="dur">Dur (le crayon ne s&apos;enfonce pas du tout)</option>
<option value="normal">Normal (le crayon s&apos;enfonce difficilement)</option>
<option value="mou">Mou (le crayon s&apos;enfonce facilement)</option>
</select>
</div>
</div>
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-dog" aria-hidden="true"></i>&nbsp;Présence de déjection(s)
</div>
<div id="dejections" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="dejections-oui" name="dejections" class="dejections-oui form-check-input" value="true">
<label for="dejections-oui" class="dejections-oui form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="dejections-non" name="dejections" class="dejections-non form-check-input" value="false">
<label for="dejections-non" class="dejections-non form-check-label">Non</label>
</div>
</div>
</div>
<?php endif; ?>
 
<?php if ('tb_streets' !== $widget['projet']) : ?>
<div id="face-ombre" class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="far fa-compass" aria-hidden="true"></i>&nbsp;Une ou plusieurs faces sont-elles à l'ombre la plupart du temps? Si oui, notez lesquelles&nbsp;:
</div>
<div class="col-sm-8 mb-3 has-tooltip list" data-toggle="tooltip" title="Si vous estimez que le tronc est souvent à l&apos;ombre (à cause de bâtiments ou du feuillage par exemple), notez la ou les faces ombragées." required>
<div class="form-check form-check-inline">
<input type="checkbox" id="nord" name="face-ombre" class="nord form-check-input" value="nord">
<label for="nord" class="nord form-check-label">Nord</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="sud" name="face-ombre" class="sud form-check-input" value="sud">
<label for="sud" class="sud form-check-label">Sud</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="est" name="face-ombre" class="est form-check-input" value="est">
<label for="est" class="est form-check-label">Est</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="ouest" name="face-ombre" class="ouest form-check-input" value="ouest">
<label for="ouest" class="ouest form-check-label">Ouest</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="aucune" name="face-ombre" class="ouest form-check-input" value="aucune">
<label for="aucune" class="aucune form-check-label">Aucune</label>
</div>
</div>
</div>
<?php endif; ?>
 
<div class="">
<label for="com-arbres" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
</div>
</div>
</form>
 
<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un(e) <?php $chaine_sq_singulier; ?>-->
<div class="col-sm-8 mb-3">
<button id="retour" class="btn btn-info has-tooltip hidden mr-2 mb-2" data-toggle="tooltip" title="Retour à la saisie">
<i class="fas fa-undo-alt"></i>&nbsp;retour à la saisie
</button>
<?php else: ?>
<div class="col-sm-8 mb-3">
<?php endif; ?>
<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre.">
<i class="fas fa-step-forward"></i>&nbsp;Suivant
</button>
</div>
<?php if ('arbres' === $squelette ) : ?>
<div id="bloc-info-arbres">
<h3 id="bloc-info-arbres-title" class="m-3 hidden">Revisualiser le formulaire pour un arbre :</h3>
</div>
<?php endif; ?>
</div>
</div><!-- fin formulaire <?php echo $squelette;?> -->
<!-- zone résumé obs <?php echo $squelette;?> ( =zone de droite) -->
<div id="boc-droite" class="col-md-6 mb-3">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<?php if ('arbres' !== $squelette ) : ?>
<?php if ('tb_lichensgo' !== $widget['projet'] && 'plantes' !== $squelette) : ?>
<a href="" id="bouton-saisir-plantes" class="btn btn-info mb-3" data-load="plantes">
<i class="fas fa-seedling"></i> Saisir les plantes
</a>
<?php endif; ?>
<?php if ('tb_streets' !== $widget['projet'] && 'lichens' !== $squelette) : ?>
<a href="" id="bouton-saisir-lichens" class="btn btn-info mb-3" data-load="lichens">
<i class="far fa-snowflake"></i>&nbsp;Saisir les lichens
</a>
<?php endif; ?>
<?php endif; ?>
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: 10 observations maximum</h4>
<p>
Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
</p>
</div>
<div id="message-chargement" class="alert alert-secondary alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Image en cours de chargement</h4>
<p>
La création de cette observation sera à nouveau disponible dès que l'image aura été chargée.<br/>
Vous pouvez annuler l'action en cliquant sur le bouton supprimer de la photo en cours de téléchargement.
</p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: champs en erreur</h4>
<p>
Certains champs du formulaire sont mal remplis.<br>
Veuillez vérifier vos données.
</p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: Observation incomplète</h4>
<p>
Une observation de <?php echo $chaine_sq_singulier;?> doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image
</p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="hidden">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong>Observations à transmettre&nbsp;: <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">Enregistrer</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Attention&nbsp;: aucune observation</h4>
<p>
Veuillez saisir des observations pour les transmettre.
</p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: transmission des observations</h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Erreur&nbsp;: transmission des observations</h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 observations transmises</span>
</div>
</div>
<p id="chargement-txt">
Transfert des observations en cours...<br>
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observations à transférer.
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg">
Merci pour l'envoi de vos données.<br>
Vos observations ont bien été transmises.<br>
Elles sont désormais consultables à travers les différents outils de visualisation du réseau (<a href="https://www.tela-botanica.org/flore/">eFlore</a>, <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>, <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>, <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br>
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br>
Pour toute question n'hésitez pas à nous contacter à l'adresse suivante : apa@tela-botanica.org<br>
Ces données seront utilisées par des chercheurs de Sorbonne Université et du Museum National d'Histoire Naturelle.
</p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg">
Une erreur est survenue lors de la transmission d'une observation.<br>
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer et transmettre les suivantes.<br>
Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br>
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href="<?php echo $url_remarques; ?>?lang=fr&service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ); ?>" target="_blank" onclick="javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' ); return false;">le formulaire de signalement d'erreurs</a>.
</p>
</div>
</div><!-- fin <?php echo $squelette;?> zone résumé obs ( =zone de droite ) -->
</div>
</div>
/branches/v3.01-serpe/widget/modules/saisie/i18n/en.ini
New file
0,0 → 1,139
[General]
obligatoire = "required"
choisir = "Choose one option"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a> network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton="Inactive help"
contact="For any questions,"
contact2="contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
nonconnexion = "Observation without registration"
inscription = "Create an account"
noninscription = "I don't want to use an account&nbsp;:"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
 
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
info-saisie-rue = "Enter your complete street name followed by your city name"
geoloc-title = "Fill in the location of your observation"
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
milieu = "Environment"
milieu-title = "Type of habitat, for example from the Corine or Catminat codes"
liste-milieu-title = "Choose a habitat type"
milieu-ph = "wood, field, cliff, ..."
date = "Date"
date-title ="Enter the date of the observation"
referentiel = "Referential"
referentiel-title = "Choose a repository for taxon entry"
espece = "Species"
espece-title = "Enter the observed taxon, using autocompletion as much as possible"
liste-espece-title = "Choose from the list the observed taxon, or choose \"other\" and enter the observed taxon, using autocompletion as much as possible"
autre-espece = "Other species"
error-taxon = "A clearly identified occurence must include a species name"
error-image-requise = "An unidentified occurence must include at least one image"
alert-img-tax-title = "Information&nbsp;: Incomplete observation"
alert-img-tax = "An occurence must include at least a place, a date and an author, as well as a species name if the determination is certain or at least an image if applicable."
certitude = "Certainty"
certitude-title = "Fill in how much the taxon's identification is certain"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
notes = "Notes"
notes-title = "Add additional information to your observation"
notes-ph = "You can optionally add additional information to your observation."
latitude = "Latitude"
longitude = "Longitude"
lieudit = "Locality"
lieudit-title = "Toponym more accurate than the locality"
station = "Station"
station-title = "Specific location of the observation defining a homogeneous ecological unit"
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each.<br>
Depending on its size on the disk, it can take a long time to download a photo. <br>
Meanwhile the sending of the observation will be interrupted. <br>
You can cancel it by clicking on the delete button of the photo being downloaded."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alertchargt = "Image loading"
alertchargt-desc = "The creation of this observation will be available again as soon as the image has been loaded. <br/>
You can cancel the action by clicking on the delete button of the photo being downloaded."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transkomsg = "An error occurred while transmitting an observation.<br />
Check that you are identified (either by logging in if you are registered or by filling in your email) and that all mandatory fields are correctly filled in. <br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on "
transkolien = "the error reporting form"
/branches/v3.01-serpe/widget/modules/saisie/i18n/fr.ini
New file
0,0 → 1,142
[General]
obligatoire = "obligatoire"
choisir = "Choisir"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a>
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Connexion"
nonconnexion = "Observation sans inscription"
inscription = "Inscription"
noninscription = "Je ne souhaite pas m'inscrire&nbsp;:"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
courriel = "Courriel"
courriel-confirmation = "Courriel (confirmation)"
courriel-confirmation-title = "Veuillez confirmer le courriel."
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées&nbsp;: prénom et nom."
prenom = "Prénom"
nom = "Nom"
alertcc-title = "Information&nbsp;: copier/coller"
alertcc = "Merci de ne pas copier/coller votre courriel.<br/>
La double saisie permet de vérifier l'absence d'erreurs."
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée soit à un compte, soit à un email.<br/>
Veuillez choisir, soit de vous connecter, soit de vous inscrire, soit communiquer une adresse email afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
info-saisie-rue = "Renseigner votre nom de rue complet suivi du nom de votre ville"
geoloc-title = "Renseignez la localisation de votre observation"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
milieu = "Milieu"
milieu-title = "Type d’habitat, par exemple issu des codes Corine ou Catminat"
liste-milieu-title = "Choisir un type d'habitat"
milieu-ph = "bois, champ, falaise, ..."
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
referentiel = "Référentiel"
referentiel-title = "Choisir un référentiel pour la saisie du taxon"
espece = "Espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
liste-espece-title = "Choisir dans la liste le taxon observé, ou choisir \"autre\" et saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
autre-espece = "Autre espèce"
error-taxon = "Une observation identifiée de façon certaine doit comporter un nom d'espèce"
error-image-requise = "Une observation non identifiée de façon certaine doit comporter au moins une image"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
alert-img-tax = "Une observation doit comporter au moins un lieu, une date et un auteur, ainsi qu'un nom d'espèce si la determination est certaine ou au moins une image le cas échéant."
certitude = "Certitude"
certitude-title = "Renseigner à quel point l'identification du taxon est certaine"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
notes = "Notes"
notes-title = "Ajouter des informations complémentaires à votre observation"
notes-ph = "Vous pouvez éventuellement ajouter des informations complémentaires à votre observation."
latitude = "Latitude"
longitude = "Longitude"
lieudit = "Lieu-dit"
lieudit-title = "Toponyme plus précis que la localité"
station = "Station"
station-title = "Lieu précis de l'observation définissant une unité écologique homogène"
 
[Image]
titre = "Image(s) de cette plante"
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.<br>
En fonction de sa taille sur le disque le téléchargement d'une photo peut être long.<br>
Pendant ce temps, l'envoi de l'observation sera interrompu.<br>
Vous pouvez l'annuler en cliquant sur le bouton supprimer de la photo en cours de téléchargement."
ajouter = "Ajouter une image"
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alertchargt = "Image en cours de chargement"
alertchargt-desc = "La création de cette observation sera à nouveau disponible dès que l'image aura été chargée.<br/>
Vous pouvez annuler l'action en cliquant sur le bouron supprimer de la photo en cours de téléchargement."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br />
N'oubliez pas qu'il est nécessaire de
<a href=\"https://beta.tela-botanica.org/test/page:inscription\">s'inscrire à Tela Botanica</a>
au préalable, si ce n'est pas déjà fait."
transkomsg = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vérifiez que vous êtes identifié (soit en vous connectant si vous êtes inscrit, soit en renseignant votre email) et que tous les champs obligatoires sont correctement remplis.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur "
transkolien = "le formulaire de signalement d'erreurs"
/branches/v3.01-serpe/widget/modules/saisie/i18n/nl.ini
New file
0,0 → 1,108
[General]
obligatoire = "verplicht"
choisir = "kiezen"
 
[Aide]
titre = ""
description=""
bouton=""
contact=""
contact2=""
 
[Observateur]
titre = "Waarnemer"
compte = "Ik log in op mijn account&nbsp;:"
connexion = "Verbinding"
nonconnexion = "Observatie zonder registratie"
inscription = "Inschrijving"
noninscription = "Ik wil me niet registreren&nbsp;:"
bienvenue = "Welkom&nbsp;: "
profil = "Mijn profiel"
deconnexion = "Afmelden"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = ""
courriel-input-title = ""
prenom = "Voornaam"
nom = "Naam"
alertcc-title = "Informatie&nbsp;: copy / paste"
alertcc = "Kopieer en plak uw e-mail aub niet. <br/>
Dubbele invoer maakt het mogelijk om de afwezigheid van fouten te controleren."
alertni-title = "Information&nbsp;: niet-geïdentificeerde waarnemer"
alertni = "Uw observatie moet gekoppeld zijn aan een account of een e-mail."
 
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
info-saisie-rue = "Voer uw volledige straatnaam in, gevolgd door uw stadsnaam"
geoloc-title = ""
alertgk-title = ""
alertgk = ""
milieu = "Milieu"
milieu-title = ""
liste-milieu-title = ""
milieu-ph = ""
date = "Datum waarneming"
date-title =""
referentiel = ""
referentiel-title = ""
espece = "Algemene soort"
espece-title = ""
liste-espece-title = "Selecteer een soort in de combo door zijn Latijnse naam of gemeenschappelijke. Als een soort afwezig is, selecteer 'Anderen'"
autre-espece = "Andere soort"
error-taxon = "Een duidelijk geïdentificeerd waarneming moet een soortnaam bevatten."
error-image-requise = "Une observation non identifiée de façon certaine doit comporter au moins une image"
alert-img-tax-title = "Informatie&nbsp;: Onvolledige observatie"
alert-img-tax = "Een waarneming moet in ieder geval een plaats, een datum en een auteur bevatten, alsmede een soortnaam als de vaststelling zeker is of in ieder geval een afbeelding indien van toepassing."
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
notes-title = ""
notes-ph = "Vrij aanvullen"
latitude = "Breedtegraad"
longitude = "Lengtegraad"
lieudit = "Plaats"
lieudit-title = "Toponiem nauwkeuriger dan de plaats"
station = "Station"
station-title = "Specifieke locatie van de waarneming die een homogene ecologische eenheid definieert"
 
[Image]
titre = "Afbeelding(en) van de plant"
aide = "U kunt foto's toevoegen in JPEG formaat van elk maximaal 5 MB. "
ajouter = "Voeg één foto"
 
 
[Chpsupp]
titre = ""
select-checkboxes-texte = ""
 
[Resume]
creer = "Toevoegen"
creer-title = "Zodra de velden zijn ingevuld, kunt u op deze knop te klikken voeg uw opmerkingen aan de lijst toe te zenden"
alert10max = "Informatie&nbsp;"
alert10max-desc = "U heeft zojuist toegevoegd 10e waardening..<br/>
Om nieuwe toe te voegen, is het noodzakelijk om te verzenden door te klikken op de onderstaande knop."
alertchp = "Informatie&nbsp: invoerfout"
alertchp-desc = "Enige vorm velden zijn onjuist ingevulde.<br/>
Controleer uw gegevens."
titre = "Opmerkingen lijst van de verzendende&nbsp;:"
trans-title = "Voegt de volgende opmerkingen naar uw Notebook Online en openbaar maakt."
trans = "Verzenden"
alert0obs = "Waarschuwing: geen waarneming"
alert0obs-desc = "Geef waarnemingen te verzenden."
info-trans = "Informatie : toezenden van waarnemingen"
alerttrans = "Fout : toezenden van waarnemingen"
nbobs = "waarnemingen verscheept"
transencours = "Transfer waarnemingen in progress...<br />
Dit kan enkele minuten, afhankelijk van het beeldformaat en het aantal te nemen
waarnemingen over te dragen."
transok = "Heel hartelijk bedankt&nbsp;! Uw waarnemingen zijn doorgestuurd.<br />
Ze worden nu weergegeven op de kaart <a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint?projet=bellesdemarue&lang=nl\">Straatmadeliefjes</a>"
transko = "Een fout is opgetreden bij de overdracht van een waarneming (in het rood).<br />
U kunt proberen om opnieuw te verzenden door te klikken opnieuw op de zendknop of te verwijderen
en het volgende in te dienen.<br />
De waarnemingen worden niet weergegeven in de lijst op de opmerkingen te zenden zijn verzonden in uw vorige poging."
 
/branches/v3.01-serpe/widget/modules/saisie/Saisie.php
New file
0,0 → 1,527
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Saisie extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'saisie';
const WS_SAISIE = 'CelWidgetSaisie';
const WS_UPLOAD = 'CelWidgetUploadImageTemp';
const WS_OBS = 'CelObs';
const WS_COORD = 'CoordSearch';
const LANGUE_DEFAUT = 'fr';
const PROJET_DEFAUT = 'base';
const WS_NOM = 'noms';
const EFLORE_API_VERSION = '0.1';
const WIDGETS_SPECIAUX = ['tb_aupresdemonarbre','tb_streets','tb_lichensgo'];
const SQUELETTES_SPECIAUX = ['arbres','plantes','lichens'];
const WS_OBS_LIST = 'InventoryObservationList';
const WS_IMG_LIST = 'celImage';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
$this->bar = (isset($bar)) ? $bar : false;
/* Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
Sinon, rien ne sera chargé.
L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé en framework.php et configuré pour chaque installation de
l'application.
Chemin du fichier chargeant le framework requis */
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
 
}
$langue = (isset($langue)) ? $langue : self::LANGUE_DEFAUT;
$this->langue = I18n::setLangue($langue);
$this->parametres['langue'] = $langue;
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
if (!isset($projet)) {
$this->parametres['projet'] = self::PROJET_DEFAUT;
}
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = ''; //print_r($retour);exit;
if (is_null($retour)) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
} else {
if (isset($retour['donnees'])) {
// ne pas afficher le projet dans l'url si on est dans saisie de base
$projet_dans_url = ( $this->parametres['projet'] !== 'base') ? '?projet='. $this->parametres['projet'].'&'.'langue='.$this->parametres['langue'] : '';
 
$retour['donnees']['conf_mode'] = $this->config['parametres']['modeServeur'];
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] === 'prod');
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['cheminDos']);
$retour['donnees']['url_remarques'] = $this->config['chemins']['widgetRemarquesUrl'];
$retour['donnees']['url_ws_annuaire'] = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/');
$retour['donnees']['url_ws_saisie'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_SAISIE);
$retour['donnees']['url_ws_obs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS);
$retour['donnees']['url_ws_upload'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_UPLOAD);
$retour['donnees']['url_ws_geoloc'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_COORD);
$retour['donnees']['authTpl'] = $this->config['manager']['authTpl']. $projet_dans_url;
$retour['donnees']['mode'] = $mode;
$retour['donnees']['langue'] = $langue;
$retour['donnees']['widgets_url'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'],'');
$retour['donnees']['url_ws_obs_list'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS_LIST);
$retour['donnees']['url_ws_cel_imgs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/liste-ids?obsId=';
$retour['donnees']['url_ws_cel_img_url'] = str_replace ( '%s.jpg', '{id}XS', $this->config['chemins']['celImgUrlTpl'] );
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
switch ( $retour['squelette'] ) {
case 'apa':
$retour['donnees']['squelette'] = $this->parametres['projet'];
break;
case 'apaforms':
$retour['donnees']['squelette'] = $this->parametres['squelette'];
break;
default:
$retour['donnees']['squelette'] = $retour['squelette'];
break;
}
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
 
private function executerSaisie() {
$retour = array();
if (in_array($this->parametres['projet'], self::WIDGETS_SPECIAUX) ) {
if (isset($this->parametres['squelette']) && in_array($this->parametres['squelette'], self::SQUELETTES_SPECIAUX) ) {
$retour['squelette'] = 'apaforms';
} else {
$retour['squelette'] = 'apa';
}
} else {
$retour['squelette'] = 'saisie';
$retour['donnees']['general'] = I18n::get('General');
$retour['donnees']['aide'] = I18n::get('Aide');
$retour['donnees']['observateur'] = I18n::get('Observateur');
$retour['donnees']['observation'] = I18n::get('Observation');
$retour['donnees']['image'] = I18n::get('Image');
$retour['donnees']['chpsupp'] = I18n::get('Chpsupp');
$retour['donnees']['resume'] = I18n::get('Resume');
}
$retour['donnees']['widget'] = $this->rechercherProjet();
return $retour;
}
 
/* Recherche si le projet existe sinon va chercher les infos de base */
private function rechercherProjet() {
// projet avec un squelette défini (et non juste un mot-clé d'observation)
$estProjetDefini = true;
$tab = array();
$url = $this->config['manager']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
if (!in_array($this->parametres['projet'], self::WIDGETS_SPECIAUX)){
if ( $json !== "[]") {
$tab = $this->rechercherChampsSupp();
} else {
$url = $this->config['manager']['celUrlTpl'].'?projet=base&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$estProjetDefini = false;
}
}
$tableau = json_decode($json, true);
$tableau = $this->traiterParametres($estProjetDefini, $tableau[0]);
if (
isset($this->parametres['squelette']) &&
($this->parametres['squelette'] === 'plantes' || $this->parametres['squelette'] === 'lichens')
) {
$tableau['type_especes'] = 'liste';
if ( $this->parametres['squelette'] === 'lichens' ) {
$tableau['referentiel'] = 'taxreflich';
}
}
$tableau['especes'] = $this->rechercherInfosEspeces($tableau);
if (isset($tableau['type_especes']) && 'fixe' === $tableau['type_especes']) {
// si on trouve ":" dans referentiel, referentiel = première partie
$tableau['referentiel'] = (strstr($tableau['referentiel'],':',true)) ?: $tableau['referentiel'];
}
$tableau['milieux'] = ($tableau['milieux'] != '') ? explode(';', $tableau['milieux']) : [];
if(!isset($this->parametres['id-obs'])) {
if (isset($this->parametres['dept']) || isset($this->parametres['commune'],$this->parametres['dept']) || isset($this->parametres['code_insee'])) {
$localisation = $this->traiterParamsLocalisation($this->parametres);
// les paramètres dans l'url peuvent surcharger les données de localisation de la bdd
if ($localisation) $tableau['localisation'] = $localisation;
}
if (isset($tableau['localisation'])) $tableau['localisation'] = $this->traiterLocalisation($tableau['localisation']);
}
if (isset($tableau['motscles'])) {
if (isset($tableau['tag-obs'])) {
$tableau['tag-obs'] .= $tableau['motscles'];
} else if (isset($tableau['tag-img'])) {
$tableau['tag-img'] .= $tableau['motscles'];
} else {
$tableau['tag-obs'] = $tableau['tag-img'] = $tableau['motscles'];
}
}
$tableau['chpSupp'] = $tab;
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$tableau['chemin_fichiers'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['imgProjet'] . $tableau['projet'] . $langue_projet_url . '/' );
return $tableau;
}
 
/* Recherche si un projet a des champs de saisie supplémentaire */
private function rechercherChampsSupp() {
$retour = array();
$projet = $this->parametres['projet'];
$url = $this->config['manager']['celChpSupTpl'] .'?projet=' . $projet . '&langue=' . $this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$retour = json_decode($json, true);
 
foreach ( $retour[$projet]['champs-supp'] as $key => $chsup ) {
 
$retour[$projet]['champs-supp'][$key]['name'] = $this->clean_string( $chsup['name'] );
$retour[$projet]['champs-supp'][$key]['description'] = $this->clean_string( $chsup['description']);
$retour[$projet]['champs-supp'][$key]['unit'] = $this->clean_string( $chsup['unit'] );
 
if ( isset( $chsup['fieldValues'] ) ) {
$retour[$projet]['champs-supp'][$key]['fieldValues'] = json_decode( $this->clean_string( $chsup['fieldValues'] ), true );
 
if ( isset( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] ) ) {
foreach( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] as $list_key => $list_value_array ) {
// Obtenir une liste de valeurs utilisables dans les attributs for id ou name par exemple
$retour[$projet]['champs-supp'][$key]['fieldValues']['cleanListValue'][] = ($list_value_array !== 'other') ? 'val-' . preg_replace( '/[^A-Za-z0-9_\-]/', '', $this->remove_accents( strtolower($list_value_array[0] ) ) ) : '';
}
}
}
$retour[$projet]['champs-supp'][$key]['mandatory'] = intval( $chsup['mandatory'] );
}
return $retour;
}
 
// remplace certains parametres définis en bd par les parametres définis dans l'url
private function traiterParametres($estProjetDefini, $tableau) {
$criteres = array('tag-obs', 'tag-img', 'projet', 'titre', 'logo');
$criteresProjetNonDefini = array('commune', 'num_nom', 'referentiel');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (($estProjetDefini == false || $tableau['projet'] == 'base') && in_array($nom_critere, $criteresProjetNonDefini)) {
$tableau[$nom_critere] = $valeur_critere;
} else if (in_array($nom_critere, $criteres)) {
$tableau[$nom_critere] = $valeur_critere;
}
}
return $tableau;
}
 
private function traiterLocalisation( $infos_localisation ) {
$infos = explode(';', $infos_localisation);
$tableauTmp = array();
$retour = array();
foreach ($infos as $info) {
$tableauTmp = explode(':', $info);
$retour[$tableauTmp[0]] = $tableauTmp[1];
}
return $retour;
}
 
private function traiterParamsLocalisation( $params ) {
$infos = array();
$tableauTmp = array();
$zoom = '12';
if (isset($params['commune'])) {
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_COORD). '?zone='.$params['commune'].'&code='.$params['dept'];
} else if (isset($params['dept'])) {
// pas trouvé de manière simple de déterminer le centroïde du département
// du coup on retrouve le code insee du chef lieu
$params['code_insee'] = $this->recupererChefLieuDept($params['dept']);
$zoom = '9';
}
// quoi qu'il arrive, s'il est défini, on donne la priorité au code insee (plus précis)
if (isset($params['code_insee'])) {
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_COORD). '?code='.$params['code_insee'];
}
if(!empty($url)) $json = $this->getDao()->consulter($url);
if(!empty($json)) $infos = json_decode($json, true);
if(!empty($infos)) {
$infos['lat'] = str_replace(',','.',strval(round($infos['lat'],5)));
$infos['lng'] = str_replace(',','.',strval(round($infos['lng'],5)));
return 'latitude:'.$infos['lat'].';longitude:'.$infos['lng'].';zoom:'.$zoom;
} else {
return false;
}
}
 
private function rechercherInfosEspeces( $infos_projets ) {
$retour = array();
$referentiel = $infos_projets['referentiel'];
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$retour['url_ws_autocompletion_ns'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, $referentiel, self::WS_NOM );;
$retour['url_ws_autocompletion_ns_tpl'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM );
$retour['ns_referentiel'] = $referentiel;
 
if ( isset( $infos_projets['type_especes'] ) ) {
 
switch ( $infos_projets['type_especes'] ) {
case 'fixe' :
$info_taxon = explode(':', $referentiel);
if (!empty($info_taxon) && count((array) $info_taxon) === 2) {
$retour = $this->chargerInfosTaxon( $info_taxon[0], $info_taxon[1] );
}
break;
case 'referentiel' : break;
case 'liste' :
$retour['taxons'] = $this->recupererListeNomsSci();
break;
}
} else if ( isset( $referentiel ) ) {
if ( isset($infos_projets['num_nom'] ) ) {
$retour = $this->chargerInfosTaxon( $referentiel, $infos_projets['num_nom'] );
}
}
return $retour;
}
 
/**
* Consulte un webservice pour obtenir des informations sur le taxon dont le
* numéro nomenclatural est $num_nom (ce sont donc plutôt des infos sur le nom
* et non le taxon?)
* @param string|int $num_nom
* @return array
*/
protected function chargerInfosTaxon( $referentiel, $num_nom ) {
$url_service_infos = sprintf( $this->config['chemins']['infosTaxonUrl'], $referentiel, $num_nom );
$infos = json_decode( file_get_contents( $url_service_infos ) );
// trop de champs injectés dans les infos espèces peuvent
// faire planter javascript
$champs_a_garder = array( 'id', 'nom_sci','nom_sci_complet', 'nom_complet', 'famille','nom_retenu.id', 'nom_retenu_complet', 'num_taxonomique' );
$resultat = array();
$retour = array();
if ( isset( $infos ) && !empty( $infos ) ) {
$infos = (array) $infos;
if ( isset( $infos['nom_sci'] ) && $infos['nom_sci'] !== '' ) {
$resultat = array_intersect_key( $infos, array_flip($champs_a_garder ) );
$resultat['retenu'] = ( $infos['id'] == $infos['nom_retenu.id'] ) ? 'true' : 'false';
$retour['espece_imposee'] = true;
$retour['nn_espece_defaut'] = $nnEspeceImposee;
$retour['nom_sci_espece_defaut'] = $resultat['nom_complet'];
$retour['infos_espece'] = $this->array2js( $resultat, true );
}
}
return $retour;
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
if (!empty($_GET['referentiel']) && $_GET['referentiel'] !== 'autre') {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
}
return $referentiel_impose;
}
 
/**
* Trie par nom français les taxons lus dans le fichier csv/tsv
*/
protected function recupererListeNomsSci() {
$taxons = $this->recupererListeTaxon();
if (is_array($taxons)) {
$taxons = self::trierTableauMd($taxons, array('nom_fr' => SORT_ASC));
}
return $taxons;
}
 
/**
* @TODO documenter
* @return array
*/
protected function recupererListeNoms() {
$taxons = $this->recupererListeTaxon();
$nomsAAfficher = array();
$nomsSpeciaux = array();
if (is_array($taxons)) {
foreach ($taxons as $taxon) {
$nomSciTitle = $taxon['nom_ret'].
($taxon['nom_fr'] != '' ? ' - '.$taxon['nom_fr'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
$nomFrTitle = $taxon['nom_sel'].
($taxon['nom_ret'] != $taxon['nom_sel']? ' - '.$taxon['nom_ret'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
 
if ($taxon['groupe'] == 'special') {
$nomsSpeciaux[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-special');
} else {
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_sel'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-sci');
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_fr'],
'nom_title' => $nomFrTitle,
'nom_type' => 'nom-fr');
}
}
$nomsAAfficher = self::trierTableauMd($nomsAAfficher, array('nom_a_afficher' => SORT_ASC));
$nomsSpeciaux = self::trierTableauMd($nomsSpeciaux, array('nom_a_afficher' => SORT_ASC));
}
return array('speciaux' => $nomsSpeciaux, 'sci-et-fr' => $nomsAAfficher);
}
 
/**
* Lit une liste de taxons depuis un fichier csv ou tsv fourni
*/
protected function recupererListeTaxon() {
$taxons = array();
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$chemin_images = dirname(__FILE__) . self::DS . '..' . self::DS . 'manager' . self::DS . 'squelettes' . self::DS . 'img' . self::DS . 'images_projets' . self::DS;
$nom_fichier = ($this->parametres['squelette'] === 'lichens') ? 'lichens_taxons' : 'especes';
$chemin_taxon = $chemin_images . $this->parametres['projet'] . $langue_projet_url . self::DS . $nom_fichier. '.';
 
if ( file_exists( $chemin_taxon . 'csv' ) && is_readable( $chemin_taxon . 'csv' ) ) {
$taxons = $this->decomposerFichierCsv( $chemin_taxon . 'csv' );
} else if ( file_exists( $chemin_taxon . 'tsv' ) && is_readable( $chemin_taxon . 'tsv' ) ) {
$taxons = $this->decomposerFichierCsv( $chemin_taxon . 'tsv' );
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$nom_fichier'.";
}
return $taxons;
}
 
/**
* Lit une liste de taxons depuis un fichier csv ou tsv fourni
*/
protected function recupererChefLieuDept($dept) {
$infosDepts = array();
$code_insee = '';
$chemin_fichier = dirname(__FILE__).self::DS.'squelettes'.self::DS.'dept.csv';
 
if (file_exists($chemin_fichier ) && is_readable($chemin_fichier)) {
$infosDepts = $this->decomposerFichierCsv( $chemin_fichier,"," );
if(!empty($infosDepts) && is_array($infosDepts)) {
foreach ($infosDepts as $key => $infosDept) {
if($dept == $infosDept['dep']) {
return $code_insee = $infosDept['cheflieu'];
}
}
}
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$chemin_fichier'.";
}
}
 
/**
* Découpe un fihcier csv/tsv
*/
protected function decomposerFichierCsv($fichier, $delimiter = "\t"){
$header = null;
$data = array();
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
 
/**
* Convertit un tableau PHP en Javascript - @WTF pourquoi ne pas faire un json_encode ?
* @param array $array
* @param boolean $show_keys
* @return une portion de JSON représentant le tableau
*/
protected function array2js($array,$show_keys) {
$tableauJs = '{}';
if (!empty($array)) {
$total = count($array) - 1;
$i = 0;
$dimensions = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensions[$i] = array2js($value,$show_keys);
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
} else {
$dimensions[$i] = '\"'.addslashes($value).'\"';
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
}
if ($i == 0) {
$dimensions[$i] = '{'.$dimensions[$i];
}
if ($i == $total) {
$dimensions[$i].= '}';
}
$i++;
}
$tableauJs = implode(',', $dimensions);
}
return $tableauJs;
}
}
?>
/branches/v3.01-serpe/widget/modules/saisie/config.ini
New file
0,0 → 1,9
[manager]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/saisie2"
dossierTmp = "modules/manager/squelettes/img/images_projets/"
/branches/v3.01-serpe/widget/modules/saisie/framework.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/saisie/config.defaut.ini
New file
0,0 → 1,10
[manager]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/saisie"
cheminDos = "modules/saisie/squelettes/"
imgProjet = "modules/manager/squelettes/img/images_projets/"
/branches/v3.01-serpe/widget/modules/saisie/configurations/sauvages_taxons.tsv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/saisie/configurations
New file
Property changes:
Added: svn:ignore
+sauvages_taxons_ancien.tsv
+.~lock.sauvages_taxons-nl.xlsx#
+.~lock.bellesdemarue_taxons.tsv#
+.~lock.bellesdemarue_taxons_nl.tsv.csv#
/branches/v3.01-serpe/widget/modules/saisie/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/saisie
New file
Property changes:
Added: svn:mergeinfo
Merged /branches/topic-dbsingleton/widget/modules/saisie:r1720-1764
Merged /branches/v1.8-debroussailleuse/widget/modules/saisie:r1987,1992
Merged /branches/v2.23-rouleau/widget/modules/saisie:r2797
Merged /branches/v2.9-motobineuse/widget/modules/saisie:r2562
Merged /branches/v2.10-motoculteur/widget/modules/saisie:r2598
Merged /branches/v2.24-sarcloir/widget/modules/saisie:r2847
Merged /branches/v2.22-rateau/widget/modules/saisie:r2741
Merged /branches/v2.8-houe/widget/modules/saisie:r2499,2542
Merged /branches/v1.5-cisaille/widget/modules/saisie:r798-1342
Merged /branches/v1.7-croissant/widget/modules/saisie:r1855,1885-1886,1895,1983
Merged /branches/v2.21-plantoir/widget/modules/saisie:r2735
Merged /branches/v2.25-scarificateur/widget/modules/saisie:r2918-2919
Merged /branches/v2.26-scie/widget/modules/saisie:r3015
/branches/v3.01-serpe/widget/modules/stats/squelettes/grands_contributeurs.tpl.html
New file
0,0 → 1,29
<h2>Les <?= $donnees['entete']->nombre ?> plus importants contributeurs depuis <?= $donnees['entete']->jours ?> jours</h2>
<table class="table">
<tr>
<td>Contributeur(trice)</td>
<?php if($donnees['entete']->critere != "img"): ?>
<td>Nombre d'observations</td>
<?php endif; ?>
<?php if($donnees['entete']->critere != "obs"): ?>
<td>Nombre d'images</td>
<?php endif; ?>
<?php if($donnees['entete']->critere == null): ?>
<td>Somme des données publiées</td>
<?php endif; ?>
</tr>
<?php foreach($donnees['resultats'] as $util): ?>
<tr>
<td><?= $util->intitule_utilisateur ?></td>
<?php if($donnees['entete']->critere != "img"): ?>
<td><?= $util->nombreObs ?></td>
<?php endif; ?>
<?php if($donnees['entete']->critere != "obs"): ?>
<td><?= $util->nombreImg ?></td>
<?php endif; ?>
<?php if($donnees['entete']->critere == null): ?>
<td><?= $util->somme ?></td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
/branches/v3.01-serpe/widget/modules/stats/squelettes/css/stats_tout.css
New file
0,0 → 1,110
/* Copié depuis http://getbootstrap.com/examples/dashboard/ */
 
body {
/* padding-top: 50px; */
}
.sub-header {
border-bottom: 1px solid #EEEEEE;
padding-bottom: 10px;
}
 
.container-stats {
padding-left: 0;
padding-right: 0;
}
 
.sidebar {
display: none;
}
.sidebar {
background-color: #F5F5F5;
border-right: 1px solid #EEEEEE;
display: block;
overflow-x: hidden;
overflow-y: auto;
padding-top: 20px;
padding-right: 0;
/*position: fixed;
left: 0;
bottom: 0;
top: 51px;
margin-top: 20px;*/
z-index: 1;
}
.nav-sidebar {
margin-bottom: 20px;
margin-left: -20px;
/*margin-right: -21px;*/
}
.nav-sidebar li {
float: left;
width: 100%;
}
 
.nav li a:focus {
background-color: #428BCA;
}
 
@media screen and (max-width: 1000px) {
.nav-sidebar {
margin-bottom: 0;
}
.nav-sidebar li {
width: 200px;
}
.nav-sidebar li a {
font-size : 12px;
padding-top : 5px;
padding-bottom: 5px;
}
.sidebar {
padding-top: 0;
}
}
 
.nav-sidebar > li > a {
padding-left: 20px;
padding-right: 20px;
}
.nav-sidebar > .active > a {
background-color: #428BCA;
color: #FFFFFF;
}
.main {
padding: 20px;
}
@media (min-width: 768px) {
.main {
padding-left: 40px;
padding-right: 40px;
}
}
.main .page-header {
margin-top: 0;
}
.placeholders {
margin-bottom: 30px;
text-align: center;
}
.placeholders h4 {
margin-bottom: 0;
}
.placeholder {
margin-bottom: 20px;
}
.placeholder img {
border-radius: 50%;
display: inline-block;
}
 
/* Styles non liés à bootstrap */
 
.flottant-gauche, .flottant-gauche img {
float: left;
}
 
img.stats {
border: 1px solid #000000;
display: block;
margin: 0.5em;
}
/branches/v3.01-serpe/widget/modules/stats/squelettes/filtres.tpl.html
New file
0,0 → 1,14
<?php if (array_key_exists('taxon', $filtres) || array_key_exists('num_taxon', $filtres) || array_key_exists('tag', $filtres)) : ?>
<h2>Filtes actifs</h2>
<ul>
<?php if (array_key_exists('taxon', $filtres)) : ?>
<li>nom du taxon=<?=$filtres['taxon']?></li>
<?php endif; ?>
<?php if (array_key_exists('num_taxon', $filtres)) : ?>
<li>numéro du taxon=<?=$filtres['num_taxon']?></li>
<?php endif; ?>
<?php if (array_key_exists('tag', $filtres)) : ?>
<li>Mots-clés des images=<?=$filtres['tag']?></li>
<?php endif; ?>
</ul>
<?php endif; ?>
/branches/v3.01-serpe/widget/modules/stats/squelettes/stats_utilisateur.tpl.html
New file
0,0 → 1,78
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Jean-Pascal MILCENT" />
<meta name="keywords" content="Statistiques, CEL, Tela Botanica, graphiques" />
<meta name="description" content="Graphiques et statistiques sur les observations et images du Carnet en Ligne (CEL)" />
<title>Statistiques du Carnet En Ligne</title>
<style>
img{display:block;margin:0.5em;border:1px solid black;}
hr.nettoyeur {clear:both;width:0;}
.flottant-gauche img{float:left;}
</style>
<!-- Stats : Google Analytics -->
<script type="text/javascript">
//<![CDATA[
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20092557-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
//]]>
</script>
</head>
<body>
<?php $i=0;?>
<h1>Statistiques du CEL de <?=$utilisateur_nom_prenom?></h1>
<div class="flottant-gauche">
<?php include('nbres.tpl.html')?>
</div>
<div class="flottant-gauche">
<h2>Observations - Activité</h2>
<img src="<?=$url_service?>/UtilisationJournaliere/<?=date("Y-m-d", (time() - 86400))?>?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Intensité d'utilisation pour la journée d'hier" />
<img src="<?=$url_service?>/UtilisationJournaliere?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Intensité d'utilisation pour aujourd'hui" />
</div>
<hr class="nettoyeur" />
<div class="flottant-gauche">
<h2>Observations - Données</h2>
<img src="<?=$url_service?>/NbreObsPublicVsPrivee?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Nombre d'observations publiques versus privées" />
<img src="<?=$url_service?>/NbreObsDetermineeVsInconnue?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Nombre d'observations déterminées versus inconnues" />
<hr class="nettoyeur" />
<img src="<?=$url_service?>/NbreObsAvecIndicationGeo?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Nombre d'observations avec indications géographiques" />
</div>
<hr class="nettoyeur" />
<div>
<h2>Observations - Évolution</h2>
<img src="<?=$url_service?>/EvolObsParMoisGlissant?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Évolutions des observation sur le dernier mois glissant" />
<img src="<?=$url_service?>/EvolObsParMois?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Évolutions des observation par mois" />
<img src="<?=$url_service?>/EvolObsParAn?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Évolutions des observation par an" />
</div>
<hr class="nettoyeur" />
<div class="flottant-gauche">
<h2>Utilisateurs</h2>
<img src="<?=$url_service?>/NuagePointsObsParHeureEtJourSemaine?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Nuage de points d'observation par heure et jour de la semaine" />
</div>
<hr class="nettoyeur" />
<div>
<h2>Images</h2>
<img src="<?=$url_service?>/EvolImgParMois?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Évolutions du dépôt d'images par mois" />
<img src="<?=$url_service?>/EvolImgLieesParMois?serveur=<?=$i++?>&amp;utilisateur=<?=$utilisateur?>" alt="Évolutions des images liées aux observations par mois" />
</div>
<hr class="nettoyeur" />
<div class="flottant-gauche">
<?php include('navigation.tpl.html') ?>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/stats/squelettes/stats_tout.tpl.html
New file
0,0 → 1,116
<!doctype html>
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Statistiques, CEL, Tela Botanica, graphiques" />
<meta name="description" content="Graphiques et statistiques sur les observations et images du Carnet en Ligne (CEL)" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Statistiques du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Statistiques générales et personnelles sur les données du Carnet en Ligne (observations, images, utilisateurs)" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
 
<script src="https://resources.tela-botanica.org/jquery/1.9.1/jquery.min.js"></script>
<script src="https://resources.tela-botanica.org/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="<?=$url_js?>"></script>
 
<?php if ($nobar === false): ?>
<script src="<?=$url_script_navigation?>"></script>
<?php endif; ?>
 
<title>Statistiques du Carnet En Ligne</title>
 
<!-- Stats : Google Analytics -->
<script>
// répercussion de la config PHP pour ne solliciter GA qu'en prod
var prod = false;
<?php if ($prod): ?>
prod = true;
<?php endif; ?>
 
if (prod) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-57885-8', 'auto');
}
</script>
</head>
 
<body>
<?php if ($nobar === false): ?>
<div id="tb-navigation" data-courant="widget-cel-stats" data-squelette="bootstrap3" data-mode="<?=$mode_serveur?>">
<form class="navbar-form navbar-left">
<?php if ($utilisateur_authentifie): ?>
<button class="btn btn-default" disabled><?=$utilisateur?></button>
<a id="mode-stats" class="btn btn-success" href="?mode=defaut" data-mode-courant="utilisateur">Statistiques globales</a>
<?php else: ?>
<a id="mode-stats" class="btn btn-success" href="?mode=utilisateur" data-mode-courant="defaut">Statistiques personnelles</a>
<?php endif; ?>
</form>
</div>
<?php endif; ?>
 
<div class="container-fluid container-stats">
<div class="col-md-2 sidebar" id="colonne-menu" data-url-widget="<?=$url_widget?>">
<ul class="nav nav-sidebar">
<li class="active"><a href="#" data-portion="nombres">Nombres</a></li>
<li><a href="#" data-portion="observations-activite">Observations - activité</a></li>
<li><a href="#" data-portion="observations-donnees">Observations - données</a></li>
<li><a href="#" data-portion="observations-evolution">Observations - évolution</a></li>
<li><a href="#" data-portion="utilisateurs">Utilisateurs</a></li>
<li><a href="#" data-portion="images">Images</a></li>
<li><a href="#" data-portion="grandscontributeurs">Grands contributeurs récents</a></li>
<li><a href="#" data-portion="listetaxonsnbrephotos">Taxons ayant le plus grand nombre de photos</a></li>
<li><a href="#" data-portion="listeutilisateursnbrephotos">Utilisateurs ayant ajouté le plus de photos</a></li>
</ul>
</div>
 
<div class="col-md-offset-2 main">
<h1 class="page-header">Statistiques du Carnet en Ligne</h1>
 
<div id="zone-chargement">
<img src="<?=$url_image_chargement?>" />
</div>
 
<div class="resultat" id="emplacement-resultat-nombres">
</div>
<div class="resultat" id="emplacement-resultat-observations-activite">
</div>
<div class="resultat" id="emplacement-resultat-observations-donnees">
</div>
<div class="resultat" id="emplacement-resultat-observations-evolution">
</div>
<div class="resultat" id="emplacement-resultat-utilisateurs">
</div>
<div class="resultat" id="emplacement-resultat-images">
</div>
<div class="resultat" id="emplacement-resultat-grandscontributeurs">
</div>
<div class="resultat" id="emplacement-resultat-listetaxonsnbrephotos">
</div>
<div class="resultat" id="emplacement-resultat-listeutilisateursnbrephotos">
</div>
 
</div>
</div>
</body>
</html>
/branches/v3.01-serpe/widget/modules/stats/squelettes/img/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/stats/squelettes/img/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/stats/squelettes/js/defaut.js
New file
0,0 → 1,67
$(document).ready(function() {
// config depuis PHP
var urlWidget = $('#colonne-menu').data('url-widget'),
modeUtilisateur = ($('#mode-stats').data('mode-courant') == 'utilisateur');
 
$('#zone-chargement').hide();
 
// écouteurs de clics sur le menu
$('#colonne-menu .nav-sidebar a').click(function() {
var portion = $(this).data('portion'),
idEmplacement = '#emplacement-resultat-' + portion;
 
// attente
$('#zone-chargement').show();
masquerZonesResultat();
 
// stats
if (prod) {
ga('send', 'pageview', 'statistiques/' + portion);
}
 
// rendu du contenu
//alert('déjà chargé? : ' + $(idEmplacement).data('charge') + ' (' + ($(idEmplacement).data('charge') === true) + ')');
if ($(idEmplacement).data('charge')) {
postChargement(idEmplacement, portion);
} else {
// rendu de la portion par le widget
urlPortion = urlWidget + '?page=' + portion;
if (modeUtilisateur) {
urlPortion += '&mode=utilisateur';
}
rendu = $.ajax({
url: urlPortion,
type: 'get',
success: function(data) {
$(idEmplacement).html(data);
postChargement(idEmplacement, portion);
$(idEmplacement).data('charge', 'true');
},
error: function() {
$(idEmplacement).html('Erreur: impossible de charger les statistiques');
postChargement(idEmplacement, portion);
}
});
}
 
// interface
$(this).parent().parent().find('li.active').removeClass('active');
$(this).parent().addClass('active');
 
return false;
});
 
function postChargement(idEmplacement, portion) {
$('#zone-chargement').hide();
// affichage de la portion demandée et masquage des autres
masquerZonesResultat();
$(idEmplacement).show();
}
 
function masquerZonesResultat() {
$('div.resultat').hide();
}
 
// chargement par défaut
$('#colonne-menu a[data-portion="nombres"]').trigger('click');
});
/branches/v3.01-serpe/widget/modules/stats/squelettes/liste_taxons_nbre_photos.tpl.html
New file
0,0 → 1,11
<h2>Liste des taxons possédant le plus grand nombre de photographies publiques</h2>
<?=(isset($utilisateur_nom_prenom) ? '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>' : '')?>
<?php include('filtres.tpl.html') ?>
<div class="flottant-gauche">
<p>Classement / Nom retenu du taxon / Nombre de photographies</p>
<ol>
<?php foreach ($taxons as $taxon => $nbre) : ?>
<li><?=$taxon?> : <?=$nbre?></li>
<?php endforeach; ?>
</ol>
</div>
/branches/v3.01-serpe/widget/modules/stats/squelettes/liste_utilisateurs_nbre_photos.tpl.html
New file
0,0 → 1,15
<h2>Liste des utilisateurs possédant le plus grand nombre de photographies publiques</h2>
<?=(isset($utilisateur_nom_prenom) ? '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>' : '')?>
<?php include('filtres.tpl.html') ?>
<div class="flottant-gauche">
<?php if (isset($utilisateurs)) : ?>
<p>Classement / Utilisateur / Nombre de photographies</p>
<ol>
<?php foreach ($utilisateurs as $nomPrenom => $nbre) : ?>
<li><?=$nomPrenom?> : <?=$nbre?></li>
<?php endforeach; ?>
</ol>
<?php else : ?>
<p>Aucun résultat ne correspond à vos filtres</p>
<?php endif; ?>
</div>
/branches/v3.01-serpe/widget/modules/stats/squelettes/nombres.tpl.html
New file
0,0 → 1,12
<h2>Nombres</h2>
<?=(isset($utilisateur_nom_prenom) ? '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>' : '')?>
<?php include('filtres.tpl.html') ?>
<ul>
<li>Nombre d'observations publiques / total : <strong><?=number_format($observationsPubliques, 0, ',', ' ')?></strong> / <strong><?=number_format($observations, 0, ',', ' ')?></strong></li>
<li>Nombre d'images : <strong><?=number_format($images, 0, ',', ' ')?></strong></li>
<li>Nombre d'images liées aux observations : <strong><?=number_format($imagesLiees, 0, ',', ' ')?></strong></li>
<li>Nombre d'observations liées aux images : <strong><?=number_format($observationsLiees, 0, ',', ' ')?></strong></li>
<li>Moyenne images par observation : <strong><?=number_format($moyImagesParObs, 2, ',', ' ')?></strong></li>
<li title="Hors observations géoréférencées mais non liées à une commune.">Nombre de communes possédant des observations : <strong><?=number_format($communes, 0, ',', ' ')?></strong></li>
<li>Nombre d'observations par communes (mini / moyenne / maxi) : <strong><?=number_format($observationsParCommunesMin, 0, ',', ' ')?></strong> / <strong><?=number_format($observationsParCommunesMoyenne, 2, ',', ' ')?></strong> / <strong><?=number_format($observationsParCommunesMax, 0, ',', ' ')?></strong></li>
</ul>
/branches/v3.01-serpe/widget/modules/stats/Stats.php
New file
0,0 → 1,489
<?php
/**
* Widget fournissant des stats graphiques du CEL.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* @author Jean-Pascal MILCENT <jpm@clapas.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright © 2010, Jean-Pascal MILCENT
*/
class Stats extends WidgetCommun {
const PAGE_DEFAUT = 'defaut';
const MODE_DEFAUT = 'defaut';
const MODE_UTILISATEUR = 'utilisateur';
private $page;
private $mode;
/**
* Si spécifié, pas de barre de navigation inter-applications
* Attention, pour l'instant nobar désactive également le bouton pour avoir ses stats personnelles
*/
private $nobar;
/**
* Méthode appelée avec une requête de type GET.
*/
public function executer() {
$retour = null;
extract($this->parametres);
$this->mode = (isset($mode)) ? $mode : self::MODE_DEFAUT;
$this->page = (isset($page)) ? $page : self::PAGE_DEFAUT;
$this->nobar = (isset($nobar)) ? $nobar : false;
$methode = $this->traiterNomMethodeExecuter($this->page);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Le type de statistiques '$methode' n'est pas disponible.";
}
 
if (is_null($retour)) {
$info = 'Un problème est survenu : '.print_r($this->messages, true);
$this->envoyer($info);
} else if (is_array($retour) && isset($retour['squelette'])) { // compatibilité avec un retour de HTML direct
$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html';
$html = $this->traiterSquelettePhp($squelette, $retour['donnees']);
$this->envoyer($html);
} else {
$this->envoyer($retour);
}
}
 
/**
* Stats par défaut - exécute tout et met ça dans un squelette Bootstrap
*/
public function executerDefaut() {
$widget = null;
$widget['squelette'] = 'stats_tout'; // squelette bootstrap unifié
$utilisateur_authentifie = false;
 
switch ($this->mode) {
case self::MODE_DEFAUT :
break;
case self::MODE_UTILISATEUR :
$auth = $this->authentifierUtilisateur();
if ($auth) {
$utilisateur_authentifie = true;
$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
}
break;
default :
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
if (!is_null($widget)) {
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/css/stats_tout.css');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/js/defaut.js');
$widget['donnees']['url_script_navigation'] = sprintf($this->config['chemins']['baseURLRessources'], 'tb/reseau/navigation.js');
$widget['donnees']['url_js_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/js/bootstrap.min.js');
$widget['donnees']['url_css_bootstrap'] = sprintf($this->config['chemins']['baseURLRessources'], 'bootstrap/3.1.0/css/bootstrap.min.css');
 
$widget['donnees']['mode_serveur'] = $this->config['parametres']['modeServeur'];
$widget['donnees']['url_image_chargement'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/stats/squelettes/img/chargement.gif');
$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'stats');
$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$widget['donnees']['filtres'] = $this->parametres;
$widget['donnees']['utilisateur_authentifie'] = $utilisateur_authentifie;
 
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
 
$widget['donnees']['nobar'] = $this->nobar;
}
return $widget;
}
 
public function executerNombres() {
$widget = null;
switch ($this->mode) {
case self::MODE_DEFAUT :
$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$widget['donnees'] = (array) $this->recupererStatsTxtNombres();
$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
if (!is_null($widget)) {
$widget['squelette'] = 'nombres';
$widget['donnees']['filtres'] = $this->parametres;
}
return $widget;
}
public function executerListeTaxonsNbrePhotos() {
$widget = null;
switch ($this->mode) {
case self::MODE_DEFAUT :
$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$widget['donnees']['taxons'] = $this->recupererStatsTxtListeTaxonsNbrePhotos();
$widget['donnees']['utilisateur'] = $this->getAuthIdentifiant();
$widget['donnees']['utilisateur_nom_prenom'] = $this->recupererPrenomNomIdentifie();
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
if (!is_null($widget)) {
$widget['squelette'] = 'liste_taxons_nbre_photos';
$widget['donnees']['filtres'] = $this->parametres;
}
 
return $widget;
}
public function executerListeUtilisateursNbrePhotos() {
$widget = null;
$utilisateurs = $this->recupererStatsTxtListeUtilisateursNbrePhotos();
if (isset($utilisateurs)) {
$noms = $this->recupererUtilisateursNomPrenom(array_keys($utilisateurs));
foreach ($utilisateurs as $courriel => $infos) {
if (array_key_exists($courriel, $noms)) {
$nom_infos = (array) $noms[$courriel];
$nom_fmt = $nom_infos['prenom'].' '.$nom_infos['nom'];
$widget['donnees']['utilisateurs'][$nom_fmt] = $infos;
}
}
}
$widget['donnees']['filtres'] = $this->parametres;
$widget['squelette'] = 'liste_utilisateurs_nbre_photos';
return $widget;
}
 
/**
* Aligne les contributeurs contre un mur et... euh... hum;
* Appelle le service pour obtenir les n principaux contributeurs depuis x jours,
* en termes d'observations ajoutées, d'images ajoutées, ou les deux
* Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
* @return array
*/
public function executerGrandsContributeurs() {
$widget = null;
$widget['donnees'] = (array) $this->recupererStatsTxtGrandsContributeurs();
if (!is_null($widget)) {
$widget['squelette'] = 'grands_contributeurs';
$widget['donnees']['url_service'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
}
return $widget;
}
 
public function executerObservationsActivite() {
$html = "";
$html .= '<div class="flottant-gauche">'
.'<h2>Observations - Activité</h2>';
 
$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$i = 1;
switch ($this->mode) {
case self::MODE_DEFAUT :
$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
. '?serveur=' . $i++ . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$utilisateur = $this->getAuthIdentifiant();
$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
$html .= '<img class="stats" src="' . $url_service . '/UtilisationJournaliere/' . date("Y-m-d", (time() - 86400))
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour la journée d\'hier" />'
.'<img class="stats" src="' . $url_service . '/UtilisationJournaliere'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Intensité d\'utilisation pour aujourd\'hui" />';
} else {
$html .= "Impossible d'authentifier l'utilisateur";
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
 
$html .= '</div>';
return $html;
}
 
public function executerObservationsDonnees() {
$html = "";
$html .= '<div class="flottant-gauche">'
.'<h2>Observations - Activité</h2>';
$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$i = 1;
switch ($this->mode) {
case self::MODE_DEFAUT :
$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations publiques versus privées" />'
.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations identifiées versus tests" />'
.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations déterminées versus inconnues" />'
. '<br/>'
.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations avec indications géographiques" />';
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$utilisateur = $this->getAuthIdentifiant();
$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
$html .= '<img class="stats" src="' . $url_service . '/NbreObsPublicVsPrivee'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations publiques versus privées" />'
.'<img class="stats" src="' . $url_service . '/NbreObsIdVsTest'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations identifiées versus tests" />'
.'<img class="stats" src="' . $url_service . '/NbreObsDetermineeVsInconnue'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations déterminées versus inconnues" />'
. '<br/>'
.'<img class="stats" src="' . $url_service . '/NbreObsAvecIndicationGeo'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nombre d\'observations avec indications géographiques" />';
} else {
$html .= "Impossible d'authentifier l'utilisateur";
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
$html .= '</div>';
return $html;
}
 
public function executerObservationsEvolution() {
$html = "";
$html .= '<div class="flottant-gauche">'
.'<h2>Observations - Activité</h2>';
$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$i = 1;
switch ($this->mode) {
case self::MODE_DEFAUT :
$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
. '?serveur=' . $i++ . '" alt="Évolutions des observation sur le dernier mois glissant" />'
.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
. '?serveur=' . $i++ . '" alt="Évolutions des observation par mois" />'
. '<br/>'
.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
. '?serveur=' . $i++ . '" alt="Évolutions des observation par an" />';
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$utilisateur = $this->getAuthIdentifiant();
$utilisateur_nom_prenom = $this->recupererPrenomNomIdentifie();
$html .= '<h4>utilisateur: ' . $utilisateur_nom_prenom . '</h4>';
$html .= '<img class="stats" src="' . $url_service . '/EvolObsParMoisGlissant'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation sur le dernier mois glissant" />'
.'<img class="stats" src="' . $url_service . '/EvolObsParMois'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par mois" />'
. '<br/>'
.'<img class="stats" src="' . $url_service . '/EvolObsParAn'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des observation par an" />';
} else {
$html .= "Impossible d'authentifier l'utilisateur";
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
$html .= '</div>';
return $html;
}
 
public function executerUtilisateurs() {
$html = "";
$html .= '<div class="flottant-gauche">'
.'<h2>Observations - Activité</h2>';
 
$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$i = 1;
switch ($this->mode) {
case self::MODE_DEFAUT :
$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
. '?serveur=' . $i++ . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />'
. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateur'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur" />'
. '<img class="stats" src="' . $url_service . '/NbreObsParUtilisateurEtTest'
. '?serveur=' . $i++ . '" alt="Nombre d\'observations par utilisateur et test" />'
. '<img class="stats" src="' . $url_service . '/EvolUtilisateurParMois'
. '?serveur=' . $i++ . '" alt="Évolution des utilisateurs par mois" />'
. '<img class="stats" src="' . $url_service . '/NuagePointsObsAnciennete'
. '?serveur=' . $i++ . '" alt="Répartition des utilisateurs en fonction du nombre d\'observations et de l\'ancienneté" />';
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$utilisateur = $this->getAuthIdentifiant();
$html .= '<img class="stats" src="' . $url_service . '/NuagePointsObsParHeureEtJourSemaine'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Nuage de points d\'observation par heure et jour de la semaine" />';
} else {
$html .= "Impossible d'authentifier l'utilisateur";
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
 
$html .= '</div>';
return $html;
}
 
public function executerImages() {
$html = "";
$html .= '<div class="flottant-gauche">'
.'<h2>Observations - Activité</h2>';
$url_service = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelStatistique');
$i = 1;
switch ($this->mode) {
case self::MODE_DEFAUT :
$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
. '?serveur=' . $i++ . '" alt="Évolutions du dépôt d\'images par mois" />'
. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
. '?serveur=' . $i++ . '" alt="Évolutions des images liées aux observations par mois" />';
break;
case self::MODE_UTILISATEUR :
if ($this->authentifierUtilisateur()) {
$utilisateur = $this->getAuthIdentifiant();
$html .= '<img class="stats" src="' . $url_service . '/EvolImgParMois'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions du dépôt d\'images par mois" />'
. '<img class="stats" src="' . $url_service . '/EvolImgLieesParMois'
. '?serveur=' . $i++ . '&utilisateur=' . $utilisateur . '" alt="Évolutions des images liées aux observations par mois" />';
} else {
$html .= "Impossible d'authentifier l'utilisateur";
}
break;
default:
$this->messages[] = "Le mode '{$this->mode}' est inconnu.";
}
$html .= '</div>';
return $html;
}
 
private function recupererPrenomNomIdentifie() {
$nom = '';
if ($this->getAuthIdentifiant() != null) {
$infos_utilisateur = $this->recupererUtilisateursNomPrenom(array($this->getAuthIdentifiant()));
if (array_key_exists($this->getAuthIdentifiant(), $infos_utilisateur)) {
$utilisateur = (array) $infos_utilisateur[$this->getAuthIdentifiant()];
$nom = $utilisateur['prenom'].' '.$utilisateur['nom'];
} else {
$nom = $this->getAuthIdentifiant();
}
}
return $nom;
}
private function recupererStatsTxtNombres() {
// Récupération des données au format Json
$service = "CelStatistiqueTxt/Nombres";
$parametres = array();
if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
}
if (isset($this->parametres['num_taxon'])) {
$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
}
if (isset($this->parametres['taxon'])) {
$parametres[] = 'taxon='.$this->parametres['taxon'];
}
$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
$json = $this->getDao()->consulter($url);
return (array) json_decode($json);
}
private function recupererStatsTxtListeTaxonsNbrePhotos() {
// Récupération des données au format Json
$service = "CelStatistiqueTxt/ListeTaxonsNbrePhotos";
$parametres = array();
if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
$parametres[] = 'utilisateur='.$this->getAuthIdentifiant();
}
if (isset($this->parametres['num_taxon'])) {
$parametres[] = 'num_taxon='.$this->parametres['num_taxon'];
}
if (isset($this->parametres['taxon'])) {
$parametres[] = 'taxon='.$this->parametres['taxon'];
}
if (isset($this->parametres['start'])) {
$parametres[] = 'start='.$this->parametres['start'];
}
if (isset($this->parametres['limit'])) {
$parametres[] = 'limit='.$this->parametres['limit'];
}
$service .= (count($parametres) > 0) ? '?'.implode('&', $parametres) : '';
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
$json = $this->getDao()->consulter($url);
return (array) json_decode($json);
}
private function recupererStatsTxtListeUtilisateursNbrePhotos() {
// Récupération des données au format Json
$service = "CelStatistiqueTxt/ListeUtilisateursNbrePhotos";
if (isset($this->parametres['mode']) && $this->parametres['mode'] == self::MODE_UTILISATEUR && $this->getAuthIdentifiant() != null) {
$this->getDao()->ajouterParametre('utilisateur', $this->getAuthIdentifiant());
}
if (isset($this->parametres['num_taxon'])) {
$this->getDao()->ajouterParametre('num_taxon', $this->parametres['num_taxon']);
}
if (isset($this->parametres['taxon'])) {
$this->getDao()->ajouterParametre('taxon', $this->parametres['taxon']);
}
if (isset($this->parametres['start'])) {
$this->getDao()->ajouterParametre('start', $this->parametres['start']);
}
if (isset($this->parametres['limit'])) {
$this->getDao()->ajouterParametre('limit', $this->parametres['limit']);
}
if (isset($this->parametres['tag'])) {
$this->getDao()->ajouterParametre('tag', $this->parametres['tag']);
}
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
$json = $this->getDao()->consulter($url);
return (array) json_decode($json);
}
 
private function recupererStatsTxtGrandsContributeurs() {
// Récupération des données au format Json
$service = "CelStatistiqueTxt/GrandsContributeurs";
 
if (isset($this->parametres['nombre'])) {
$this->getDao()->ajouterParametre('nombre', $this->parametres['nombre']);
}
if (isset($this->parametres['jours'])) {
$this->getDao()->ajouterParametre('jours', $this->parametres['jours']);
}
if (isset($this->parametres['critere'])) {
$this->getDao()->ajouterParametre('critere', $this->parametres['critere']);
}
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service);
$json = $this->getDao()->consulter($url);
 
return (array) json_decode($json);
}
}
?>
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/dept.csv
New file
0,0 → 1,102
"dep","reg","cheflieu","tncc","ncc","nccenr","libelle"
"01","84","01053","5",AIN,Ain,Ain
"02","32","02408","5",AISNE,Aisne,Aisne
"03","84","03190","5",ALLIER,Allier,Allier
"04","93","04070","4",ALPES DE HAUTE PROVENCE,Alpes-de-Haute-Provence,Alpes-de-Haute-Provence
"05","93","05061","4",HAUTES ALPES,Hautes-Alpes,Hautes-Alpes
"06","93","06088","4",ALPES MARITIMES,Alpes-Maritimes,Alpes-Maritimes
"07","84","07186","5",ARDECHE,Ardèche,Ardèche
"08","44","08105","4",ARDENNES,Ardennes,Ardennes
"09","76","09122","5",ARIEGE,Ariège,Ariège
"10","44","10387","5",AUBE,Aube,Aube
"11","76","11069","5",AUDE,Aude,Aude
"12","76","12202","5",AVEYRON,Aveyron,Aveyron
"13","93","13055","4",BOUCHES DU RHONE,Bouches-du-Rhône,Bouches-du-Rhône
"14","28","14118","2",CALVADOS,Calvados,Calvados
"15","84","15014","2",CANTAL,Cantal,Cantal
"16","75","16015","3",CHARENTE,Charente,Charente
"17","75","17300","3",CHARENTE MARITIME,Charente-Maritime,Charente-Maritime
"18","24","18033","2",CHER,Cher,Cher
"19","75","19272","3",CORREZE,Corrèze,Corrèze
"21","27","21231","3",COTE D OR,Côte-d'Or,Côte-d'Or
"22","53","22278","4",COTES D ARMOR,Côtes-d'Armor,Côtes-d'Armor
"23","75","23096","3",CREUSE,Creuse,Creuse
"24","75","24322","3",DORDOGNE,Dordogne,Dordogne
"25","27","25056","2",DOUBS,Doubs,Doubs
"26","84","26362","3",DROME,Drôme,Drôme
"27","28","27229","5",EURE,Eure,Eure
"28","24","28085","1",EURE ET LOIR,Eure-et-Loir,Eure-et-Loir
"29","53","29232","2",FINISTERE,Finistère,Finistère
"2A","94","2A004","3",CORSE DU SUD,Corse-du-Sud,Corse-du-Sud
"2B","94","2B033","3",HAUTE CORSE,Haute-Corse,Haute-Corse
"30","76","30189","2",GARD,Gard,Gard
"31","76","31555","3",HAUTE GARONNE,Haute-Garonne,Haute-Garonne
"32","76","32013","2",GERS,Gers,Gers
"33","75","33063","3",GIRONDE,Gironde,Gironde
"34","76","34172","5",HERAULT,Hérault,Hérault
"35","53","35238","1",ILLE ET VILAINE,Ille-et-Vilaine,Ille-et-Vilaine
"36","24","36044","5",INDRE,Indre,Indre
"37","24","37261","1",INDRE ET LOIRE,Indre-et-Loire,Indre-et-Loire
"38","84","38185","5",ISERE,Isère,Isère
"39","27","39300","2",JURA,Jura,Jura
"40","75","40192","4",LANDES,Landes,Landes
"41","24","41018","2",LOIR ET CHER,Loir-et-Cher,Loir-et-Cher
"42","84","42218","3",LOIRE,Loire,Loire
"43","84","43157","3",HAUTE LOIRE,Haute-Loire,Haute-Loire
"44","52","44109","3",LOIRE ATLANTIQUE,Loire-Atlantique,Loire-Atlantique
"45","24","45234","2",LOIRET,Loiret,Loiret
"46","76","46042","2",LOT,Lot,Lot
"47","75","47001","2",LOT ET GARONNE,Lot-et-Garonne,Lot-et-Garonne
"48","76","48095","3",LOZERE,Lozère,Lozère
"49","52","49007","2",MAINE ET LOIRE,Maine-et-Loire,Maine-et-Loire
"50","28","50502","3",MANCHE,Manche,Manche
"51","44","51108","3",MARNE,Marne,Marne
"52","44","52121","3",HAUTE MARNE,Haute-Marne,Haute-Marne
"53","52","53130","3",MAYENNE,Mayenne,Mayenne
"54","44","54395","0",MEURTHE ET MOSELLE,Meurthe-et-Moselle,Meurthe-et-Moselle
"55","44","55029","3",MEUSE,Meuse,Meuse
"56","53","56260","2",MORBIHAN,Morbihan,Morbihan
"57","44","57463","3",MOSELLE,Moselle,Moselle
"58","27","58194","3",NIEVRE,Nièvre,Nièvre
"59","32","59350","2",NORD,Nord,Nord
"60","32","60057","5",OISE,Oise,Oise
"61","28","61001","5",ORNE,Orne,Orne
"62","32","62041","2",PAS DE CALAIS,Pas-de-Calais,Pas-de-Calais
"63","84","63113","2",PUY DE DOME,Puy-de-Dôme,Puy-de-Dôme
"64","75","64445","4",PYRENEES ATLANTIQUES,Pyrénées-Atlantiques,Pyrénées-Atlantiques
"65","76","65440","4",HAUTES PYRENEES,Hautes-Pyrénées,Hautes-Pyrénées
"66","76","66136","4",PYRENEES ORIENTALES,Pyrénées-Orientales,Pyrénées-Orientales
"67","44","67482","2",BAS RHIN,Bas-Rhin,Bas-Rhin
"68","44","68066","2",HAUT RHIN,Haut-Rhin,Haut-Rhin
"69","84","69123","2",RHONE,Rhône,Rhône
"70","27","70550","3",HAUTE SAONE,Haute-Saône,Haute-Saône
"71","27","71270","0",SAONE ET LOIRE,Saône-et-Loire,Saône-et-Loire
"72","52","72181","3",SARTHE,Sarthe,Sarthe
"73","84","73065","3",SAVOIE,Savoie,Savoie
"74","84","74010","3",HAUTE SAVOIE,Haute-Savoie,Haute-Savoie
"75","11","75056","0",PARIS,Paris,Paris
"76","28","76540","3",SEINE MARITIME,Seine-Maritime,Seine-Maritime
"77","11","77288","0",SEINE ET MARNE,Seine-et-Marne,Seine-et-Marne
"78","11","78646","4",YVELINES,Yvelines,Yvelines
"79","75","79191","4",DEUX SEVRES,Deux-Sèvres,Deux-Sèvres
"80","32","80021","3",SOMME,Somme,Somme
"81","76","81004","2",TARN,Tarn,Tarn
"82","76","82121","2",TARN ET GARONNE,Tarn-et-Garonne,Tarn-et-Garonne
"83","93","83137","2",VAR,Var,Var
"84","93","84007","2",VAUCLUSE,Vaucluse,Vaucluse
"85","52","85191","3",VENDEE,Vendée,Vendée
"86","75","86194","3",VIENNE,Vienne,Vienne
"87","75","87085","3",HAUTE VIENNE,Haute-Vienne,Haute-Vienne
"88","44","88160","4",VOSGES,Vosges,Vosges
"89","27","89024","5",YONNE,Yonne,Yonne
"90","27","90010","2",TERRITOIRE DE BELFORT,Territoire de Belfort,Territoire de Belfort
"91","11","91228","5",ESSONNE,Essonne,Essonne
"92","11","92050","4",HAUTS DE SEINE,Hauts-de-Seine,Hauts-de-Seine
"93","11","93008","3",SEINE SAINT DENIS,Seine-Saint-Denis,Seine-Saint-Denis
"94","11","94028","2",VAL DE MARNE,Val-de-Marne,Val-de-Marne
"95","11","95500","2",VAL D OISE,Val-d'Oise,Val-d'Oise
"971","01","97105","3",GUADELOUPE,Guadeloupe,Guadeloupe
"972","02","97209","3",MARTINIQUE,Martinique,Martinique
"973","03","97302","3",GUYANE,Guyane,Guyane
"974","04","97411","0",LA REUNION,La Réunion,La Réunion
"976","06","97608","0",MAYOTTE,Mayotte,Mayotte
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/asl.css
New file
0,0 → 1,60
@CHARSET "UTF-8";
 
.table tr,
.table td,
.table th,
.table thead {
border: none !important;
}
 
.obs-erreur,
#releve-date.erreur {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
/*************************************************************************/
 
#bouton-poursuivre,
.charger-releve,
#soumettre-releve,
#connexion,
.confirmer {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#bouton-poursuivre:focus,
#bouton-poursuivre:hover,
.charger-releve:focus,
.charger-releve:hover,
#soumettre-releve:focus,
#soumettre-releve:hover,
#connexion:focus,
#connexion:hover,
.confirmer:focus,
.confirmer:hover {
background-color: #a2b93b;
border: none;
}
 
.releve-info {
font-size: 0.8rem;
}
 
/*************************************/
 
#charger-form,
#zone-arbres,
#zone-plantes,
#zone-lichens {
min-width: 100%;
}
 
/*volet autocompletion des taxons*/
.ui-autocomplete {
z-index: 1000 !important;
}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/saisieSpe.css
New file
0,0 → 1,159
@CHARSET "UTF-8";
 
form#form-supp,
#tb-navigation,
#tb-navbar{
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.navbar-nav,
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
flex-direction: row;
}
 
.navbar.navbar-default {
margin-bottom: 0;
}
 
#bouton-connexion label,
#creation-compte label {
width: 100%;
}
 
.navbar-default .navbar-nav > .volet #bouton-anonyme,
.navbar-default .navbar-nav > .volet #inscription {
width: auto;
}
 
.navbar-default .navbar-nav > .volet > a {
margin-left: 0.2rem;
}
 
#bouton-connexion a {
color: #fff;
background-color: #b2cb43;
border-color: #a1b92e;;
}
 
#bouton-connexion a:focus,
#bouton-connexion a:hover {
background-color: #a2b93b;
border-color: #9ab227;
}
 
/*************************************************************************/
 
#zone-appli #formulaire .multiselect.list-checkbox {
padding: 0;
margin: 0;
}
 
#zone-appli #formulaire #form-supp #zone-supp select,
#zone-appli #formulaire .list-checkbox select,
#zone-appli #formulaire .selectBox select {
background-color: #fff;
border: 1px solid #ced4da;
}
 
#form-supp select,
.list-checkbox select,
.selectBox select{
border-radius: 0.3rem;
}
 
#form-supp .select-wrapper,
.list-checkbox .select-wrapper,
#zone-appli #formulaire .selectBox {
position: relative;
z-index: 1000;
border-radius: 0.3rem;
}
 
#zone-appli #formulaire .selectBox .focus {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
 
#zone-appli #formulaire .input-group .select-wrapper {
border:none;
}
 
#zone-appli #formulaire .overSelect {
position: absolute;
z-index: 999;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
 
#zone-appli #formulaire .checkboxes {
position: absolute;
z-index: 1001;
top: 120%;
left: 1rem;
right: 1rem;
background-color: #fff;
border: 1px solid #ced4da;
border-top: 0;
border-radius: 0 0 0.3rem 0.3rem;
margin-top: -0.3rem;
}
 
#zone-appli #formulaire #form-supp #zone-supp .label label,
#zone-appli #formulaire .list-checkbox .label label,
#zone-appli #formulaire .checkboxes label {
display: block;
padding: 0.5rem;
font-weight: 400;
margin:0;
}
 
#zone-appli #formulaire .checkboxes label:hover {
background: #1e90ff;
color: #fff;
}
 
#zone-appli #formulaire .selectBox select option {
padding-block-start: 0;
padding-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
}
 
#zone-appli #formulaire .collect-other {
margin: 0.5rem;
width: 90%;
}
 
/*************************************************************************/
 
.range-values {
color: #606060;
}
 
.range-live-value {
padding-top: 1rem;
font-size: 1rem;
}
 
.custom-range {
border: none;
}
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
.navbar-nav, .nav {
flex-direction: column;
}
}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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CE,uBR25BiC;EQ15BjC,eRy5B+B;EQx5B/B,YRkEW;EQjEX,0BR6EiC;EMtG/B,sBN8T0B;CQ3R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBR6NmB;CQ3NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eRs4B+B;EQr4B/B,eR2DiC;CQjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBRm4BiC;EQl4BjC,mBAAkB;CACnB;;AC1DC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZgvBF;;AchsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZuvBF;;AcvsBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZ8vBF;;Ac9sBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CZqwBF;;AcrtBG;EFnDF;ICkBI,aVqMK;IUpML,gBAAe;GDhBlB;CZ4wBF;;Ac5tBG;EFnDF;ICkBI,aVsMK;IUrML,gBAAe;GDhBlB;CZmxBF;;AcnuBG;EFnDF;ICkBI,aVuMK;IUtML,gBAAe;GDhBlB;CZ0xBF;;Ac1uBG;EFnDF;ICkBI,cVwMM;IUvMN,gBAAe;GDhBlB;CZiyBF;;AYxxBC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZqyBF;;AchwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ4yBF;;AcvwBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZmzBF;;Ac9wBG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CZ0zBF;;AYlzBC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B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EY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB4WmC;CiB5TpC;;AhBjDG;EiBMA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,uDlB6V+B;UkB7V/B,+ClB6V+B;CkB3VlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBqViC;CkBpVlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBpDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBvDG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhB1DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB7DG;EiBMA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBGb;;AiBUvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBgDc;CiBxBf;;AhBlEG;EiB6CA,YAPoD;EAQpD,0BlB4CY;EkB3CZ,sBlB2CY;CC1FS;;AiBkDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBsUmC;EkBrUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBlBmUmC;CiBxSpC;;AhBrEG;EiB6CA,YAPoD;EAQpD,uBlB+TiC;EkB9TjC,mBlB8TiC;CC7WZ;;AiBkDvB;EAEE,uDlByTiC;UkBzTjC,+ClByTiC;CkBxTlC;;AAED;EAEE,YlBoTiC;EkBnTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBlB4SiC;EkB3SjC,mBlB2SiC;CkB1SlC;;ADGH;EC/BE,elBoDc;EkBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlBiDc;CiBnBf;;AhBxEG;EiB6CA,YAPoD;EAQpD,0BlB6CY;EkB5CZ,sBlB4CY;CC3FS;;AiBkDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB+Cc;CiBdf;;AhB3EG;EiB6CA,YAPoD;EAQpD,0BlB2CY;EkB1CZ,sBlB0CY;CCzFS;;AiBkDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB6Cc;CiBTf;;AhB9EG;EiB6CA,YAPoD;EAQpD,0BlByCY;EkBxCZ,sBlBwCY;CCvFS;;AiBkDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBlB4Cc;CiBLf;;AhBjFG;EiB6CA,YAPoD;EAQpD,0BlBwCY;EkBvCZ,sBlBuCY;CCtFS;;AiBkDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADsBH;EACE,oBjB4JyB;EiB3JzB,ejBDc;EiBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBzGC;EgB2GA,0BAAyB;ChB3GJ;;AAUrB;EgBoGA,ejB2E4C;EiB1E5C,2BjB2E6B;EiB1E7B,8BAA6B;ChBnG5B;;AgB4EL;EA0BI,ejBjB+B;CiBsBhC;;AhB9GC;EgB4GE,sBAAqB;ChBzGtB;;AgBmHL;ECxDE,wBlB4TqC;EkB3TrC,mBlByKsB;EMxPpB,sBN6T0B;CiBpL7B;;AACD;EC5DE,wBlByToC;EkBxTpC,oBlB0KsB;EMzPpB,sBN8T0B;CiBjL7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkPoC;CiBjPrC;;AAGD;;;EAII,YAAW;CACZ;;AExKH;EACE,WAAU;EZcN,yCP2TsC;EO3TtC,oCP2TsC;EO3TtC,iCP2TsC;CmBnU3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;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S2B;C+BnT1B;;AALL;EzBSI,oCN+S2B;EM9S3B,iCN8S2B;C+B9S1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,oB/BibwC;E+BhbxC,uB/B8DS;E+B7DT,mB/BmoBuC;C+BloBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BqmB0C;E+BpmB1C,kBAAiB;EACjB,kB/BymBwC;E+BxmBxC,e/ByDc;E+BxDd,uB/BkDW;E+BjDX,uB/B2mByC;C+BnmB1C;;A9BjCG;E8B4BA,e/BmJ4C;E+BlJ5C,sBAAqB;EACrB,0B/B2D+B;E+B1D/B,mB/BymBuC;CCroBtC;;A+BpBH;EACE,wBhC6oBwC;EgC5oBxC,mBhCuPoB;CgCtPrB;;AAIG;E1BqBF,kCNkS0B;EMjS1B,+BNiS0B;CgCrTvB;;AAGD;E1BEF,mCNgT0B;EM/S1B,gCN+S0B;CgChTvB;;AAdL;EACE,wBhC2oBuC;EgC1oBvC,oBhCwPoB;CgCvPrB;;AAIG;E1BqBF,kCNmS0B;EMlS1B,+BNkS0B;CgCtTvB;;AAGD;E1BEF,mCNiT0B;EMhT1B,gCNgT0B;CgCjTvB;;ACZP;EACE,sBAAqB;EACrB,sBjCowBgC;EiCnwBhC,ejCiwB+B;EiChwB/B,kBjCwPqB;EiCvPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBN4T2B;CiC3S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCPG;EgCaA,YjC6DS;EiC5DT,sBAAqB;EACrB,gBAAe;ChCZd;;AgCqBL;EACE,qBjCiuBgC;EiChuBhC,oBjCguBgC;EM1wB9B,qBN6wB+B;CiCjuBlC;;AAMD;ECnDE,0BlCyGiC;CiCpDlC;;AhCpCG;EiCbE,0BAAqC;CjCgBtC;;AgCmCL;ECvDE,0BlCiGc;CiCxCf;;AhCxCG;EiCbE,0BAAqC;CjCgBtC;;AgCuCL;EC3DE,0BlCgGc;CiCnCf;;AhC5CG;EiCbE,0BAAqC;CjCgBtC;;AgC2CL;EC/DE,0BlCkGc;CiCjCf;;AhChDG;EiCbE,0BAAqC;CjCgBtC;;AgC+CL;ECnEE,0BlC8Fc;CiCzBf;;AhCpDG;EiCbE,0BAAqC;CjCgBtC;;AgCmDL;ECvEE,0BlC6Fc;CiCpBf;;AhCxDG;EiCbE,0BAAqC;CjCgBtC;;AkCvBL;EACE,mBAAoD;EACpD,oBnCuqBmC;EmCtqBnC,0BnC0GiC;EMzG/B,sBN6T0B;CmCxT7B;;AxB+CG;EwBxDJ;IAOI,mBnCkqBiC;GmChqBpC;CtCowIA;;AsClwID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCkzBmC;EoCjzBnC,oBpCsIa;EoCrIb,8BAA6C;E9BH3C,uBN4T2B;CoCvT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC8OqB;CoC7OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCyxBgC;EoCxxBhC,gBpCuxBiC;EoCtxBjC,yBpCsxBiC;EoCrxBjC,eAAc;CACf;;AAQH;ECxCE,0BrC+qBsC;EqC9qBtC,sBrC+qB4D;EqC9qB5D,erC4qBsC;CoCpoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BrCmrBsC;EqClrBtC,sBrCmrByD;EqClrBzD,erCgrBsC;CoCroBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BrCurBsC;EqCtrBtC,sBrCwrB4D;EqCvrB5D,erCorBsC;CoCtoBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BrC4rBsC;EqC3rBtC,sBrC4rB2D;EqC3rB3D,erCyrBsC;CoCxoBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACXH;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyC92ID;EACE;IAAO,4BAAuC;GzCy2I7C;EyCx2ID;IAAK,yBAAwB;GzC22I5B;CACF;;AyCx2ID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCw0BoC;EsCv0BpC,kBtCs0BkC;EsCr0BlC,mBAAkB;EAClB,0BtCgGiC;EMzG/B,uBN4T2B;CsCjT9B;;AACD;EACE,atCg0BkC;EsC/zBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAGD;ECYE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDV7I,mCtCwzBkC;UsCxzBlC,2BtCwzBkC;CsCvzBnC;;AAGD;EACE,2DtC0zBgD;OsC1zBhD,sDtC0zBgD;UsC1zBhD,mDtC0zBgD;CsCzzBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,ezCiF+B;CyChFhC;;AxCNC;EwCUA,ezC6E+B;EyC5E/B,sBAAqB;EACrB,0BzC8E+B;CCvF9B;;AwCJL;EAiBI,ezCsE+B;EyCrE/B,0BzCwE+B;CyCvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBzC+yBsC;EyC7yBtC,oBzCoHgB;EyCnHhB,uBzCwCW;EyCvCX,uCzCwCW;CyCQZ;;AAzDD;EnCpCI,iCNsT2B;EMrT3B,gCNqT2B;CyCrQ5B;;AAbH;EAgBI,iBAAgB;EnCtChB,oCNwS2B;EMvS3B,mCNuS2B;CyChQ5B;;AxC5CC;EwC+CA,sBAAqB;CxC5CpB;;AwCuBL;EA0BI,ezCoC+B;EyCnC/B,oBzCuYwC;EyCtYxC,uBzCoBS;CyCXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,ezC2B6B;CyC1B9B;;AApCL;EAyCI,WAAU;EACV,YzCMS;EyCLT,0BzCWY;EyCVZ,sBzCUY;CyCEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,ezCqwB8D;CyCpwB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e1C6qBoC;E0C5qBpC,0B1C6qBoC;C0C5qBrC;;AAED;;EACE,e1CwqBoC;C0CxpBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CiqBkC;E0ChqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C2pBkC;E0C1pBlC,sB1C0pBkC;C0CzpBnC;;AArBH;EACE,e1CirBoC;E0ChrBpC,0B1CirBoC;C0ChrBrC;;AAED;;EACE,e1C4qBoC;C0C5pBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CqqBkC;E0CpqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1C+pBkC;E0C9pBlC,sB1C8pBkC;C0C7pBnC;;AArBH;EACE,e1CqrBoC;E0CprBpC,0B1CqrBoC;C0CprBrC;;AAED;;EACE,e1CgrBoC;C0ChqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1CyqBkC;E0CxqBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CmqBkC;E0ClqBlC,sB1CkqBkC;C0CjqBnC;;AArBH;EACE,e1C0rBoC;E0CzrBpC,0B1C0rBoC;C0CzrBrC;;AAED;;EACE,e1CqrBoC;C0CrqBrC;;AAjBD;;EAII,eAAc;CACf;;AzCOD;;;EyCJE,e1C8qBkC;E0C7qBlC,0BAAyC;CzCM1C;;AyCfH;;EAaI,YAAW;EACX,0B1CwqBkC;E0CvqBlC,sB1CuqBkC;C0CtqBnC;;ACtBL;EACE,mBAAkB;EAClB,eAAc;EACd,YAAW;EACX,WAAU;EACV,iBAAgB;CAoBjB;;AAzBD;EAQI,eAAc;EACd,YAAW;CACZ;;AAVH;;;;;EAiBI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,QAAO;EACP,YAAW;EACX,aAAY;EACZ,UAAS;CACV;;AAGH;EAEI,wBAA+B;CAChC;;AAGH;EAEI,oBAA+B;CAChC;;AAGH;EAEI,iBAA8B;CAC/B;;AAGH;EAEI,kBAA8B;CAC/B;;AClDH;EACE,aAAY;EACZ,kB5C06BiD;E4Cz6BjD,kB5C8PqB;E4C7PrB,eAAc;EACd,Y5C0FW;E4CzFX,0B5CwFW;E4CvFX,YAAW;CAQZ;;A3CKG;E2CVA,Y5CqFS;E4CpFT,sBAAqB;EACrB,gBAAe;EACf,aAAY;C3CUX;;A2CAL;EACE,WAAU;EACV,gBAAe;EACf,wBAAuB;EACvB,UAAS;EACT,yBAAwB;CACzB;;ACtBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7CkkB8B;E6CjkB9B,cAAa;EACb,iBAAgB;EAGhB,WAAU;CAWX;;AAtBD;EtCGM,oDPiyB8C;EOjyB9C,4CPiyB8C;EOjyB9C,0CPiyB8C;EOjyB9C,oCPiyB8C;EOjyB9C,iGPiyB8C;E6CjxBhD,sCAA6B;OAA7B,iCAA6B;UAA7B,8BAA6B;CAC9B;;AApBH;EAqByB,mCAA0B;OAA1B,8BAA0B;UAA1B,2BAA0B;CAAI;;AAEvD;EACE,mBAAkB;EAClB,iBAAgB;CACjB;;AAGD;EACE,mBAAkB;EAClB,YAAW;EACX,a7C6uBgC;C6C5uBjC;;AAGD;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB7C0CW;E6CzCX,qCAA4B;UAA5B,6BAA4B;EAC5B,qC7CyCW;EM3FT,sBN6T0B;E6CvQ5B,WAAU;CACX;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7C+gB8B;E6C9gB9B,uB7C0BW;C6CrBZ;;AAZD;EAUW,WAAU;CAAK;;AAV1B;EAWW,a7C4tBqB;C6C5tBe;;AAK/C;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,0BAA8B;EAA9B,uCAA8B;MAA9B,uBAA8B;UAA9B,+BAA8B;EAC9B,c7CwtBgC;E6CvtBhC,iC7C0BiC;C6CzBlC;;AAGD;EACE,iBAAgB;EAChB,iB7C2KoB;C6C1KrB;;AAID;EACE,mBAAkB;EAGlB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,c7CorBgC;C6CnrBjC;;AAGD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,sBAAyB;EAAzB,kCAAyB;MAAzB,mBAAyB;UAAzB,0BAAyB;EACzB,c7C4qBgC;E6C3qBhC,8B7CCiC;C6CIlC;;AAVD;EAQyB,oBAAmB;CAAK;;AARjD;EASwB,qBAAoB;CAAK;;AAIjD;EACE,mBAAkB;EAClB,aAAY;EACZ,YAAW;EACX,aAAY;EACZ,iBAAgB;CACjB;;AlClEG;EkCuEF;IACE,iB7C6qB+B;I6C5qB/B,kBAAyC;GAC1C;EAMD;IAAY,iB7CsqBqB;G6CtqBG;ChD0pJrC;;Ac1uJG;EkCoFF;IAAY,iB7CgqBqB;G6ChqBG;ChD4pJrC;;AiDvyJD;EACE,mBAAkB;EAClB,c9CmlB8B;E8CllB9B,eAAc;ECHd,mH/CqP4H;E+CnP5H,mBAAkB;EAClB,oB/C4PyB;E+C3PzB,uBAAsB;EACtB,iBAAgB;EAChB,iB/C6PoB;E+C5PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;EDPpB,oB9CqPsB;E8CnPtB,sBAAqB;EACrB,WAAU;CA4DX;;AAtED;EAYW,a9CitBqB;C8CjtBQ;;AAZxC;EAgBI,eAA+B;EAC/B,iB9C+sB6B;C8CrsB9B;;AA3BH;EAoBM,UAAS;EACT,UAAS;EACT,kB9C4sB2B;E8C3sB3B,YAAW;EACX,wBAAyD;EACzD,uB9CqEO;C8CpER;;AA1BL;EA8BI,e9CosB6B;E8CnsB7B,iB9CisB6B;C8CvrB9B;;AAzCH;EAkCM,SAAQ;EACR,QAAO;EACP,iB9C8rB2B;E8C7rB3B,YAAW;EACX,4BAA8E;EAC9E,yB9CuDO;C8CtDR;;AAxCL;EA4CI,eAA+B;EAC/B,gB9CmrB6B;C8CzqB9B;;AAvDH;EAgDM,OAAM;EACN,UAAS;EACT,kB9CgrB2B;E8C/qB3B,YAAW;EACX,wB9C8qB2B;E8C7qB3B,0B9CyCO;C8CxCR;;AAtDL;EA0DI,e9CwqB6B;E8CvqB7B,kB9CqqB6B;C8C3pB9B;;AArEH;EA8DM,SAAQ;EACR,SAAQ;EACR,iB9CkqB2B;E8CjqB3B,YAAW;EACX,4B9CgqB2B;E8C/pB3B,wB9C2BO;C8C1BR;;AAKL;EACE,iB9CgpBiC;E8C/oBjC,iB9CopB+B;E8CnpB/B,Y9CiBW;E8ChBX,mBAAkB;EAClB,uB9CgBW;EM3FT,uBN4T2B;C8CvO9B;;AAfD;EASI,mBAAkB;EAClB,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AExFH;EACE,mBAAkB;EAClB,OAAM;EACN,QAAO;EACP,chDilB8B;EgDhlB9B,eAAc;EACd,iBhDquByC;EgDpuBzC,ahDkuBuC;E+CxuBvC,mH/CqP4H;E+CnP5H,mBAAkB;EAClB,oB/C4PyB;E+C3PzB,uBAAsB;EACtB,iBAAgB;EAChB,iB/C6PoB;E+C5PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;ECJpB,oBhDkPsB;EgDhPtB,sBAAqB;EACrB,uBhDgFW;EgD/EX,qCAA4B;UAA5B,6BAA4B;EAC5B,qChD+EW;EM3FT,sBN6T0B;CgDnM7B;;AA9HD;EAyBI,kBhD8tBsC;CgD3sBvC;;AA5CH;EA6BM,UAAS;EACT,uBAAsB;CACvB;;AA/BL;EAkCM,chDwtB4D;EgDvtB5D,mBhDutB4D;EgDttB5D,sChDutBmE;CgDttBpE;;AArCL;EAwCM,cAAwC;EACxC,mBhD8sBoC;EgD7sBpC,uBhDoDO;CgDnDR;;AA3CL;EAgDI,kBhDusBsC;CgDprBvC;;AAnEH;EAoDM,SAAQ;EACR,qBAAoB;CACrB;;AAtDL;EAyDM,YhDisB4D;EgDhsB5D,kBhDgsB4D;EgD/rB5D,wChDgsBmE;CgD/rBpE;;AA5DL;EA+DM,YAAsC;EACtC,kBAA4C;EAC5C,yBhD6BO;CgD5BR;;AAlEL;EAuEI,iBhDgrBsC;CgDjpBvC;;AAtGH;EA2EM,UAAS;EACT,oBAAmB;CACpB;;AA7EL;EAgFM,WhD0qB4D;EgDzqB5D,mBhDyqB4D;EgDxqB5D,yChDyqBmE;CgDxqBpE;;AAnFL;EAsFM,WAAqC;EACrC,mBhDgqBoC;EgD/pBpC,6BhDwpBuD;CgDvpBxD;;AAzFL;EA6FM,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,eAAc;EACd,YAAW;EACX,mBAAkB;EAClB,YAAW;EACX,iChD4oBuD;CgD3oBxD;;AArGL;EA0GI,mBhD6oBsC;CgD1nBvC;;AA7HH;EA8GM,SAAQ;EACR,sBAAqB;CACtB;;AAhHL;EAmHM,ahDuoB4D;EgDtoB5D,kBhDsoB4D;EgDroB5D,uChDsoBmE;CgDroBpE;;AAtHL;EAyHM,aAAuC;EACvC,kBAA4C;EAC5C,wBhD7BO;CgD8BR;;AAML;EACE,kBhD8mBwC;EgD7mBxC,iBAAgB;EAChB,gBhDsHmB;EgDrHnB,0BhD0mB2D;EgDzmB3D,iCAAwE;E1C7HtE,4C0C8HyE;E1C7HzE,2C0C6HyE;CAM5E;;AAZD;EAUI,cAAa;CACd;;AAGH;EACE,kBhDmmBwC;CgDlmBzC;;AAOD;;EAEE,mBAAkB;EAClB,eAAc;EACd,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AAED;EACE,YAAW;EACX,mBhDqlBgE;CgDplBjE;;AACD;EACE,YAAW;EACX,mBhD8kBwC;CgD7kBzC;;ACzKD;EACE,mBAAkB;CACnB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,iBAAgB;CACjB;;AAED;EACE,mBAAkB;EAClB,cAAa;EACb,YAAW;CAOZ;;ACnBC;EDSF;I1CIM,uDPw5BmD;IOx5BnD,+CPw5BmD;IOx5BnD,6CPw5BmD;IOx5BnD,uCPw5BmD;IOx5BnD,0GPw5BmD;IiDr5BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CpDkjKA;;AqD9jK0C;EDE3C;I1CIM,uDPw5BmD;IOx5BnD,+CPw5BmD;IOx5BnD,6CPw5BmD;IOx5BnD,uCPw5BmD;IOx5BnD,0GPw5BmD;IiDr5BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CpD0jKA;;AoDxjKD;;;EAGE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;CACd;;AAED;;EAEE,mBAAkB;EAClB,OAAM;CACP;;AC/BC;EDmCA;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CpDwjKF;;AqDjmK0C;ED4BzC;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CpDukKF;;AoD/jKD;;EAEE,mBAAkB;EAClB,OAAM;EACN,UAAS;EAET,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,WjDo1B+C;EiDn1B/C,YjD0BW;EiDzBX,mBAAkB;EAClB,ajDk1B8C;CiDv0B/C;;AhD7DG;;;EgDwDA,YjDkBS;EiDjBT,sBAAqB;EACrB,WAAU;EACV,YAAW;ChDxDV;;AgD2DL;EACE,QAAO;CACR;;AACD;EACE,SAAQ;CACT;;AAGD;;EAEE,sBAAqB;EACrB,YjDq0BgD;EiDp0BhD,ajDo0BgD;EiDn0BhD,gDAA+C;EAC/C,mCAA0B;UAA1B,2BAA0B;CAC3B;;AACD;EACE,8MjD9ByI;CiD+B1I;;AACD;EACE,gNjDjCyI;CiDkC1I;;AAQD;EACE,mBAAkB;EAClB,SAAQ;EACR,aAAY;EACZ,QAAO;EACP,YAAW;EACX,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,gBAAe;EAEf,kBjD8xB+C;EiD7xB/C,iBjD6xB+C;EiD5xB/C,iBAAgB;CAqCjB;;AAjDD;EAeI,mBAAkB;EAClB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,gBjD0xB8C;EiDzxB9C,YjD0xB6C;EiDzxB7C,kBjD0xB6C;EiDzxB7C,iBjDyxB6C;EiDxxB7C,oBAAmB;EACnB,gBAAe;EACf,2CjDxCS;CiD6DV;;AA5CH;EA2BM,mBAAkB;EAClB,WAAU;EACV,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AAlCL;EAoCM,mBAAkB;EAClB,cAAa;EACb,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AA3CL;EA+CI,uBjDhES;CiDiEV;;AAQH;EACE,mBAAkB;EAClB,WAA6C;EAC7C,aAAY;EACZ,UAA4C;EAC5C,YAAW;EACX,kBAAiB;EACjB,qBAAoB;EACpB,YjDjFW;EiDkFX,mBAAkB;CACnB;;AEjLD;EAAqB,oCAAmC;CAAK;;AAC7D;EAAqB,+BAA8B;CAAK;;AACxD;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,uCAAsC;CAAK;;AAChE;EAAqB,oCAAmC;CAAK;;ACD7D;EACE,0BAAsC;CACvC;;ACHC;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AoDpBH;EACE,qCAAmC;CACpC;;ApDeC;EoDZE,qCAAgD;CpDejD;;AqDnBL;EAAmB,qBAAoB;CAAK;;AAC5C;EAAmB,yBAAwB;CAAK;;AAChD;EAAmB,2BAA0B;CAAK;;AAClD;EAAmB,4BAA2B;CAAK;;AACnD;EAAmB,0BAAyB;CAAK;;AAMjD;EhDVI,uBN4T2B;CsDhT9B;;AACD;EhDPI,iCNsT2B;EMrT3B,gCNqT2B;CsD7S9B;;AACD;EhDHI,oCN+S2B;EM9S3B,iCN8S2B;CsD1S9B;;AACD;EhDCI,oCNwS2B;EMvS3B,mCNuS2B;CsDvS9B;;AACD;EhDKI,mCNiS2B;EMhS3B,gCNgS2B;CsDpS9B;;AAED;EACE,mBAAkB;CACnB;;AAED;EACE,iBAAgB;CACjB;;AxBnCC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;AyBGC;EAAE,yBAAwB;CAAK;;AAC/B;EAAE,2BAA0B;CAAK;;AACjC;EAAE,iCAAgC;CAAK;;AACvC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,gCAAwB;EAAxB,iCAAwB;EAAxB,gCAAwB;EAAxB,yBAAwB;CAAK;;AAC/B;EAAE,uCAA+B;EAA/B,wCAA+B;EAA/B,uCAA+B;EAA/B,gCAA+B;CAAK;;A5CyCtC;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1Dy5KzC;;Ach3KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1Do7KzC;;Ac34KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1D+8KzC;;Act6KG;E4ChDA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C1D0+KzC;;A2Dj/KG;EAAE,6BAAS;EAAT,kBAAS;MAAT,mBAAS;UAAT,UAAS;CAAK;;AAChB;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AACf;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AAEf;EAAE,0CAA8B;EAA9B,yCAA8B;EAA9B,uCAA8B;MAA9B,mCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,wCAAiC;EAAjC,yCAAiC;EAAjC,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,0CAAsC;EAAtC,0CAAsC;EAAtC,+CAAsC;MAAtC,2CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,wCAAyC;EAAzC,0CAAyC;EAAzC,kDAAyC;MAAzC,8CAAyC;UAAzC,0CAAyC;CAAK;;AAEhD;EAAE,mCAA0B;MAA1B,+BAA0B;UAA1B,2BAA0B;CAAK;;AACjC;EAAE,qCAA4B;MAA5B,iCAA4B;UAA5B,6BAA4B;CAAK;;AACnC;EAAE,2CAAkC;MAAlC,uCAAkC;UAAlC,mCAAkC;CAAK;;AAEzC;EAAE,mCAAsC;EAAtC,+CAAsC;MAAtC,gCAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,iCAAoC;EAApC,6CAAoC;MAApC,8BAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,qCAAyC;EAAzC,kDAAyC;MAAzC,kCAAyC;UAAzC,0CAAyC;CAAK;;AAChD;EAAE,iDAAwC;MAAxC,qCAAwC;UAAxC,yCAAwC;CAAK;;AAE/C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,kCAAgC;EAAhC,yCAAgC;MAAhC,+BAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,qCAA8B;EAA9B,uCAA8B;MAA9B,kCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,uCAAgC;EAAhC,yCAAgC;MAAhC,oCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,sCAA+B;EAA/B,wCAA+B;MAA/B,mCAA+B;UAA/B,gCAA+B;CAAK;;AAEtC;EAAE,6CAAoC;MAApC,qCAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,2CAAkC;MAAlC,mCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,yCAAgC;MAAhC,sCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,gDAAuC;MAAvC,uCAAuC;UAAvC,wCAAuC;CAAK;;AAC9C;EAAE,+CAAsC;MAAtC,0CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,0CAAiC;MAAjC,uCAAiC;UAAjC,kCAAiC;CAAK;;AAExC;EAAE,oCAA2B;MAA3B,qCAA2B;cAA3B,oCAA2B;UAA3B,4BAA2B;CAAK;;AAClC;EAAE,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,wCAA+B;MAA/B,oCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,sCAA6B;MAA7B,uCAA6B;cAA7B,sCAA6B;UAA7B,8BAA6B;CAAK;;AACpC;EAAE,wCAA+B;MAA/B,yCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,uCAA8B;MAA9B,wCAA8B;cAA9B,uCAA8B;UAA9B,+BAA8B;CAAK;;A7CWrC;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3D+qLxC;;AcpqLG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3DkxLxC;;AcvwLG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3Dq3LxC;;Ac12LG;E6ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C3Dw9LxC;;A4DjgMG;ECHF,uBAAsB;CDGK;;AACzB;ECDF,wBAAuB;CDCK;;AAC1B;ECCF,uBAAsB;CDDK;;A9CkDzB;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5DuhM5B;;Acr+LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5DmiM5B;;Acj/LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5D+iM5B;;Ac7/LG;E8CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C5D2jM5B;;A8D/jMD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,QAAO;EACP,c3D0kB8B;C2DzkB/B;;AAED;EACE,gBAAe;EACf,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c3DkkB8B;C2DjkB/B;;AAED;EACE,yBAAgB;EAAhB,iBAAgB;EAChB,OAAM;EACN,c3D6jB8B;C2D5jB/B;;AClBD;ECCE,mBAAkB;EAClB,WAAU;EACV,YAAW;EACX,WAAU;EACV,aAAY;EACZ,iBAAgB;EAChB,uBAAmB;EACnB,UAAS;CDNV;;ACgBC;EAEE,iBAAgB;EAChB,YAAW;EACX,aAAY;EACZ,UAAS;EACT,kBAAiB;EACjB,WAAU;CACX;;AC1BC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,wBAA4B;CAAI;;AAItC;EAAU,2BAA0B;CAAK;;AACzC;EAAU,4BAA2B;CAAK;;ACElC;EAAE,uBAA+C;CAAI;;AACrD;EAAE,yBAAyC;CAAI;;AAC/C;EAAE,2BAA2C;CAAI;;AACjD;EAAE,4BAA4C;CAAI;;AAClD;EAAE,0BAA0C;CAAI;;AAChD;EACE,2BAA0C;EAC1C,0BAAyC;CAC1C;;AACD;EACE,yBAAyC;EACzC,4BAA4C;CAC7C;;AAZD;EAAE,mCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,wBAA+C;CAAI;;AACrD;EAAE,0BAAyC;CAAI;;AAC/C;EAAE,4BAA2C;CAAI;;AACjD;EAAE,6BAA4C;CAAI;;AAClD;EAAE,2BAA0C;CAAI;;AAChD;EACE,4BAA0C;EAC1C,2BAAyC;CAC1C;;AACD;EACE,0BAAyC;EACzC,6BAA4C;CAC7C;;AAZD;EAAE,oCAA+C;CAAI;;AACrD;EAAE,gCAAyC;CAAI;;AAC/C;EAAE,kCAA2C;CAAI;;AACjD;EAAE,mCAA4C;CAAI;;AAClD;EAAE,iCAA0C;CAAI;;AAChD;EACE,kCAA0C;EAC1C,iCAAyC;CAC1C;;AACD;EACE,gCAAyC;EACzC,mCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAKL;EAAE,wBAA8B;CAAK;;AACrC;EAAE,4BAA8B;CAAK;;AACrC;EAAE,8BAA8B;CAAK;;AACrC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,6BAA8B;CAAK;;AACrC;EACE,8BAA6B;EAC7B,6BAA6B;CAC9B;;AACD;EACE,4BAA8B;EAC9B,+BAA8B;CAC/B;;ApDgBD;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE+xNJ;;Ac/wNG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE6kOJ;;Ac7jOG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE23OJ;;Ac32OG;EoD7CI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClEyqPJ;;AmE3sPD;EAAiB,+BAA8B;CAAK;;AACpD;EAAiB,+BAA8B;CAAK;;AACpD;ECJE,iBAAgB;EAChB,wBAAuB;EACvB,oBAAmB;CDEsB;;AAQvC;EAAE,4BAA2B;CAAK;;AAClC;EAAE,6BAA4B;CAAK;;AACnC;EAAE,8BAA6B;CAAK;;ArDsCpC;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEquPvC;;Ac/rPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEivPvC;;Ac3sPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnE6vPvC;;AcvtPG;EqDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEywPvC;;AmEnwPD;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,sCAAqC;CAAK;;AAI7D;EAAsB,oBhEkOK;CgElO+B;;AAC1D;EAAsB,kBhEkOC;CgElOiC;;AACxD;EAAsB,mBAAkB;CAAK;;AAI7C;EACE,uBAAsB;CACvB;;AEnCC;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;A+DmCL;EGxDE,YAAW;EACX,mBAAkB;EAClB,kBAAiB;EACjB,8BAA6B;EAC7B,UAAS;CHsDV;;AIxDD;ECDE,8BAA6B;CDG9B;;AAKC;EAEI,yBAAwB;CAE3B;;AzDsDC;EyDrDF;IAEI,yBAAwB;GAE3B;CvEi3PF;;Ac70PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvE43PF;;Act0PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvE63PF;;Acz1PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEw4PF;;Acl1PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvEy4PF;;Acr2PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEo5PF;;Ac91PG;EyDrDF;IAEI,yBAAwB;GAE3B;CvEq5PF;;Acj3PG;EyD7CF;IAEI,yBAAwB;GAE3B;CvEg6PF;;AuE/5PC;EAEI,yBAAwB;CAE3B;;AAQH;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,0BAAyB;GAE5B;CvE25PA;;AuE15PD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,2BAA0B;GAE7B;CvE85PA;;AuE75PD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,iCAAgC;GAEnC;CvEi6PA;;AuE95PC;EADF;IAEI,yBAAwB;GAE3B;CvEi6PA","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0.5rem 1rem;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n color: #fff;\n background-color: #0275d8;\n}\n\n.progress-bar-striped {\n 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);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-right-radius: calc(0.3rem - 1px);\n border-top-left-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-grid.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aEqMK;IFpML,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aEsMK;IFrML,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aEuMK;IFtML,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEwMM;IFvMN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe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AiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,WAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,kBAAiD;GGrCxC;EAFD;IHuCR,YAAiD;GGrCxC;EAFD;IHmCR,WAAsD;GGjC7C;EAFD;IHmCR,gBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,UAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,iBAAgD;GGjCvC;EAFD;IHmCR,WAAgD;GGjCvC;EAOD;IHsBR,gBAAyC;GGpBhC;EAFD;IHsBR,uBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,iBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;EAFD;IHsBR,wBAAyC;GGpBhC;CL2hCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.css
New file
0,0 → 1,9320
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
@media print {
*,
*::before,
*::after,
p::first-letter,
div::first-letter,
blockquote::first-letter,
li::first-letter,
p::first-line,
div::first-line,
blockquote::first-line,
li::first-line {
text-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
abbr[title]::after {
content: " (" attr(title) ")";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.badge {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
 
h1, .h1 {
font-size: 2.5rem;
}
 
h2, .h2 {
font-size: 2rem;
}
 
h3, .h3 {
font-size: 1.75rem;
}
 
h4, .h4 {
font-size: 1.5rem;
}
 
h5, .h5 {
font-size: 1.25rem;
}
 
h6, .h6 {
font-size: 1rem;
}
 
.lead {
font-size: 1.25rem;
font-weight: 300;
}
 
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.1;
}
 
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.1;
}
 
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
 
small,
.small {
font-size: 80%;
font-weight: normal;
}
 
mark,
.mark {
padding: 0.2em;
background-color: #fcf8e3;
}
 
.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: 5px;
}
 
.initialism {
font-size: 90%;
text-transform: uppercase;
}
 
.blockquote {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
font-size: 1.25rem;
border-left: 0.25rem solid #eceeef;
}
 
.blockquote-footer {
display: block;
font-size: 80%;
color: #636c72;
}
 
.blockquote-footer::before {
content: "\2014 \00A0";
}
 
.blockquote-reverse {
padding-right: 1rem;
padding-left: 0;
text-align: right;
border-right: 0.25rem solid #eceeef;
border-left: 0;
}
 
.blockquote-reverse .blockquote-footer::before {
content: "";
}
 
.blockquote-reverse .blockquote-footer::after {
content: "\00A0 \2014";
}
 
.img-fluid {
max-width: 100%;
height: auto;
}
 
.img-thumbnail {
padding: 0.25rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
max-width: 100%;
height: auto;
}
 
.figure {
display: inline-block;
}
 
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
 
.figure-caption {
font-size: 90%;
color: #636c72;
}
 
code,
kbd,
pre,
samp {
font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
 
code {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
border-radius: 0.25rem;
}
 
a > code {
padding: 0;
color: inherit;
background-color: inherit;
}
 
kbd {
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #292b2c;
border-radius: 0.2rem;
}
 
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
}
 
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 90%;
color: #292b2c;
}
 
pre code {
padding: 0;
font-size: inherit;
color: inherit;
background-color: transparent;
border-radius: 0;
}
 
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
 
.table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
}
 
.table th,
.table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #eceeef;
}
 
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
 
.table tbody + tbody {
border-top: 2px solid #eceeef;
}
 
.table .table {
background-color: #fff;
}
 
.table-sm th,
.table-sm td {
padding: 0.3rem;
}
 
.table-bordered {
border: 1px solid #eceeef;
}
 
.table-bordered th,
.table-bordered td {
border: 1px solid #eceeef;
}
 
.table-bordered thead th,
.table-bordered thead td {
border-bottom-width: 2px;
}
 
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
 
.table-hover tbody tr:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-active,
.table-active > th,
.table-active > td {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
background-color: rgba(0, 0, 0, 0.075);
}
 
.table-success,
.table-success > th,
.table-success > td {
background-color: #dff0d8;
}
 
.table-hover .table-success:hover {
background-color: #d0e9c6;
}
 
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
background-color: #d0e9c6;
}
 
.table-info,
.table-info > th,
.table-info > td {
background-color: #d9edf7;
}
 
.table-hover .table-info:hover {
background-color: #c4e3f3;
}
 
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
background-color: #c4e3f3;
}
 
.table-warning,
.table-warning > th,
.table-warning > td {
background-color: #fcf8e3;
}
 
.table-hover .table-warning:hover {
background-color: #faf2cc;
}
 
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
background-color: #faf2cc;
}
 
.table-danger,
.table-danger > th,
.table-danger > td {
background-color: #f2dede;
}
 
.table-hover .table-danger:hover {
background-color: #ebcccc;
}
 
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
background-color: #ebcccc;
}
 
.thead-inverse th {
color: #fff;
background-color: #292b2c;
}
 
.thead-default th {
color: #464a4c;
background-color: #eceeef;
}
 
.table-inverse {
color: #fff;
background-color: #292b2c;
}
 
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
border-color: #fff;
}
 
.table-inverse.table-bordered {
border: 0;
}
 
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-ms-overflow-style: -ms-autohiding-scrollbar;
}
 
.table-responsive.table-bordered {
border: 0;
}
 
.form-control {
display: block;
width: 100%;
padding: 0.5rem 0.75rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
background-color: #fff;
background-image: none;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}
 
.form-control::-ms-expand {
background-color: transparent;
border: 0;
}
 
.form-control:focus {
color: #464a4c;
background-color: #fff;
border-color: #5cb3fd;
outline: none;
}
 
.form-control::-webkit-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::-moz-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:-ms-input-placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control::placeholder {
color: #636c72;
opacity: 1;
}
 
.form-control:disabled, .form-control[readonly] {
background-color: #eceeef;
opacity: 1;
}
 
.form-control:disabled {
cursor: not-allowed;
}
 
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
 
select.form-control:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.form-control-file,
.form-control-range {
display: block;
}
 
.col-form-label {
padding-top: calc(0.5rem - 1px * 2);
padding-bottom: calc(0.5rem - 1px * 2);
margin-bottom: 0;
}
 
.col-form-label-lg {
padding-top: calc(0.75rem - 1px * 2);
padding-bottom: calc(0.75rem - 1px * 2);
font-size: 1.25rem;
}
 
.col-form-label-sm {
padding-top: calc(0.25rem - 1px * 2);
padding-bottom: calc(0.25rem - 1px * 2);
font-size: 0.875rem;
}
 
.col-form-legend {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
font-size: 1rem;
}
 
.form-control-static {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
line-height: 1.25;
border: solid transparent;
border-width: 1px 0;
}
 
.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn {
padding-right: 0;
padding-left: 0;
}
 
.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 1.8125rem;
}
 
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
height: 3.166667rem;
}
 
.form-group {
margin-bottom: 1rem;
}
 
.form-text {
display: block;
margin-top: 0.25rem;
}
 
.form-check {
position: relative;
display: block;
margin-bottom: 0.5rem;
}
 
.form-check.disabled .form-check-label {
color: #636c72;
cursor: not-allowed;
}
 
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
cursor: pointer;
}
 
.form-check-input {
position: absolute;
margin-top: 0.25rem;
margin-left: -1.25rem;
}
 
.form-check-input:only-child {
position: static;
}
 
.form-check-inline {
display: inline-block;
}
 
.form-check-inline .form-check-label {
vertical-align: middle;
}
 
.form-check-inline + .form-check-inline {
margin-left: 0.75rem;
}
 
.form-control-feedback {
margin-top: 0.25rem;
}
 
.form-control-success,
.form-control-warning,
.form-control-danger {
padding-right: 2.25rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
background-size: 1.125rem 1.125rem;
}
 
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .col-form-label,
.has-success .form-check-label,
.has-success .custom-control {
color: #5cb85c;
}
 
.has-success .form-control {
border-color: #5cb85c;
}
 
.has-success .input-group-addon {
color: #5cb85c;
border-color: #5cb85c;
background-color: #eaf6ea;
}
 
.has-success .form-control-success {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
}
 
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .col-form-label,
.has-warning .form-check-label,
.has-warning .custom-control {
color: #f0ad4e;
}
 
.has-warning .form-control {
border-color: #f0ad4e;
}
 
.has-warning .input-group-addon {
color: #f0ad4e;
border-color: #f0ad4e;
background-color: white;
}
 
.has-warning .form-control-warning {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
 
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .col-form-label,
.has-danger .form-check-label,
.has-danger .custom-control {
color: #d9534f;
}
 
.has-danger .form-control {
border-color: #d9534f;
}
 
.has-danger .input-group-addon {
color: #d9534f;
border-color: #d9534f;
background-color: #fdf7f7;
}
 
.has-danger .form-control-danger {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}
 
.form-inline {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.form-inline .form-check {
width: 100%;
}
 
@media (min-width: 576px) {
.form-inline label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
width: auto;
}
.form-inline .form-control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-check {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
margin-top: 0;
margin-bottom: 0;
}
.form-inline .form-check-label {
padding-left: 0;
}
.form-inline .form-check-input {
position: relative;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0;
}
.form-inline .custom-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
}
.form-inline .custom-control-indicator {
position: static;
display: inline-block;
margin-right: 0.25rem;
vertical-align: text-bottom;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
 
.btn {
display: inline-block;
font-weight: normal;
line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
 
.btn:focus, .btn:hover {
text-decoration: none;
}
 
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
}
 
.btn.disabled, .btn:disabled {
cursor: not-allowed;
opacity: .65;
}
 
.btn:active, .btn.active {
background-image: none;
}
 
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
 
.btn-primary {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:hover {
color: #fff;
background-color: #025aa5;
border-color: #01549b;
}
 
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-primary.disabled, .btn-primary:disabled {
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #025aa5;
background-image: none;
border-color: #01549b;
}
 
.btn-secondary {
color: #292b2c;
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:hover {
color: #292b2c;
background-color: #e6e6e6;
border-color: #adadad;
}
 
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-secondary.disabled, .btn-secondary:disabled {
background-color: #fff;
border-color: #ccc;
}
 
.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #292b2c;
background-color: #e6e6e6;
background-image: none;
border-color: #adadad;
}
 
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #2aabd2;
}
 
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-info.disabled, .btn-info:disabled {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #31b0d5;
background-image: none;
border-color: #2aabd2;
}
 
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #419641;
}
 
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-success.disabled, .btn-success:disabled {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #449d44;
background-image: none;
border-color: #419641;
}
 
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #eb9316;
}
 
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-warning.disabled, .btn-warning:disabled {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #fff;
background-color: #ec971f;
background-image: none;
border-color: #eb9316;
}
 
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #c12e2a;
}
 
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-danger.disabled, .btn-danger:disabled {
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #c9302c;
background-image: none;
border-color: #c12e2a;
}
 
.btn-outline-primary {
color: #0275d8;
background-image: none;
background-color: transparent;
border-color: #0275d8;
}
 
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
}
 
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #0275d8;
background-color: transparent;
}
 
.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.btn-outline-secondary {
color: #ccc;
background-image: none;
background-color: transparent;
border-color: #ccc;
}
 
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
 
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #ccc;
background-color: transparent;
}
 
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
 
.btn-outline-info {
color: #5bc0de;
background-image: none;
background-color: transparent;
border-color: #5bc0de;
}
 
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
}
 
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #5bc0de;
background-color: transparent;
}
 
.btn-outline-info:active, .btn-outline-info.active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.btn-outline-success {
color: #5cb85c;
background-image: none;
background-color: transparent;
border-color: #5cb85c;
}
 
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
}
 
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #5cb85c;
background-color: transparent;
}
 
.btn-outline-success:active, .btn-outline-success.active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.btn-outline-warning {
color: #f0ad4e;
background-image: none;
background-color: transparent;
border-color: #f0ad4e;
}
 
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
}
 
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #f0ad4e;
background-color: transparent;
}
 
.btn-outline-warning:active, .btn-outline-warning.active,
.show > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.btn-outline-danger {
color: #d9534f;
background-image: none;
background-color: transparent;
border-color: #d9534f;
}
 
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
}
 
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #d9534f;
background-color: transparent;
}
 
.btn-outline-danger:active, .btn-outline-danger.active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
 
.btn-link {
font-weight: normal;
color: #0275d8;
border-radius: 0;
}
 
.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
background-color: transparent;
}
 
.btn-link, .btn-link:focus, .btn-link:active {
border-color: transparent;
}
 
.btn-link:hover {
border-color: transparent;
}
 
.btn-link:focus, .btn-link:hover {
color: #014c8c;
text-decoration: underline;
background-color: transparent;
}
 
.btn-link:disabled {
color: #636c72;
}
 
.btn-link:disabled:focus, .btn-link:disabled:hover {
text-decoration: none;
}
 
.btn-lg, .btn-group-lg > .btn {
padding: 0.75rem 1.5rem;
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;
}
 
.btn-block {
display: block;
width: 100%;
}
 
.btn-block + .btn-block {
margin-top: 0.5rem;
}
 
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
 
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
 
.fade.show {
opacity: 1;
}
 
.collapse {
display: none;
}
 
.collapse.show {
display: block;
}
 
tr.collapse.show {
display: table-row;
}
 
tbody.collapse.show {
display: table-row-group;
}
 
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
 
.dropup,
.dropdown {
position: relative;
}
 
.dropdown-toggle::after {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
 
.dropdown-toggle:focus {
outline: 0;
}
 
.dropup .dropdown-toggle::after {
border-top: 0;
border-bottom: 0.3em solid;
}
 
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: 0.5rem 0;
margin: 0.125rem 0 0;
font-size: 1rem;
color: #292b2c;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.dropdown-divider {
height: 1px;
margin: 0.5rem 0;
overflow: hidden;
background-color: #eceeef;
}
 
.dropdown-item {
display: block;
width: 100%;
padding: 3px 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
text-align: inherit;
white-space: nowrap;
background: none;
border: 0;
}
 
.dropdown-item:focus, .dropdown-item:hover {
color: #1d1e1f;
text-decoration: none;
background-color: #f7f7f9;
}
 
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #0275d8;
}
 
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: transparent;
}
 
.show > .dropdown-menu {
display: block;
}
 
.show > a {
outline: 0;
}
 
.dropdown-menu-right {
right: 0;
left: auto;
}
 
.dropdown-menu-left {
right: auto;
left: 0;
}
 
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
margin-bottom: 0;
font-size: 0.875rem;
color: #636c72;
white-space: nowrap;
}
 
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
 
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 0.125rem;
}
 
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
 
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
 
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover {
z-index: 2;
}
 
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
 
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group,
.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-left: -1px;
}
 
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
 
.btn-toolbar .input-group {
width: auto;
}
 
.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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-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-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
 
.btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
 
.btn + .dropdown-toggle-split::after {
margin-left: 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: 1.125rem;
padding-left: 1.125rem;
}
 
.btn-group-vertical {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.btn-group-vertical .btn,
.btn-group-vertical .btn-group {
width: 100%;
}
 
.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-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
 
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.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-right-radius: 0;
border-top-left-radius: 0;
}
 
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
 
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
}
 
.input-group .form-control {
position: relative;
z-index: 2;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0;
}
 
.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
z-index: 3;
}
 
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
 
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
 
.input-group-addon,
.input-group-btn {
white-space: nowrap;
vertical-align: middle;
}
 
.input-group-addon {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
line-height: 1.25;
color: #464a4c;
text-align: center;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.input-group-addon.form-control-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}
 
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
 
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
 
.input-group .form-control:not(:last-child),
.input-group-addon:not(:last-child),
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group > .btn,
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
 
.input-group-addon:not(:last-child) {
border-right: 0;
}
 
.input-group .form-control:not(:first-child),
.input-group-addon:not(:first-child),
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group > .btn,
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
 
.form-control + .input-group-addon:not(:first-child) {
border-left: 0;
}
 
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
 
.input-group-btn > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
 
.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
z-index: 3;
}
 
.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
margin-right: -1px;
}
 
.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
z-index: 2;
margin-left: -1px;
}
 
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
.input-group-btn:not(:first-child) > .btn-group:focus,
.input-group-btn:not(:first-child) > .btn-group:active,
.input-group-btn:not(:first-child) > .btn-group:hover {
z-index: 3;
}
 
.custom-control {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
cursor: pointer;
}
 
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0;
}
 
.custom-control-input:checked ~ .custom-control-indicator {
color: #fff;
background-color: #0275d8;
}
 
.custom-control-input:focus ~ .custom-control-indicator {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
}
 
.custom-control-input:active ~ .custom-control-indicator {
color: #fff;
background-color: #8fcafe;
}
 
.custom-control-input:disabled ~ .custom-control-indicator {
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
cursor: not-allowed;
}
 
.custom-control-indicator {
position: absolute;
top: 0.25rem;
left: 0;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #ddd;
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 50% 50%;
background-size: 50% 50%;
}
 
.custom-checkbox .custom-control-indicator {
border-radius: 0.25rem;
}
 
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
 
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
background-color: #0275d8;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}
 
.custom-radio .custom-control-indicator {
border-radius: 50%;
}
 
.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
}
 
.custom-controls-stacked {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
 
.custom-controls-stacked .custom-control {
margin-bottom: 0.25rem;
}
 
.custom-controls-stacked .custom-control + .custom-control {
margin-left: 0;
}
 
.custom-select {
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.25;
color: #464a4c;
vertical-align: middle;
background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
-webkit-background-size: 8px 10px;
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
-moz-appearance: none;
-webkit-appearance: none;
}
 
.custom-select:focus {
border-color: #5cb3fd;
outline: none;
}
 
.custom-select:focus::-ms-value {
color: #464a4c;
background-color: #fff;
}
 
.custom-select:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #eceeef;
}
 
.custom-select::-ms-expand {
opacity: 0;
}
 
.custom-select-sm {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
font-size: 75%;
}
 
.custom-file {
position: relative;
display: inline-block;
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
cursor: pointer;
}
 
.custom-file-input {
min-width: 14rem;
max-width: 100%;
height: 2.5rem;
margin: 0;
filter: alpha(opacity=0);
opacity: 0;
}
 
.custom-file-control {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 5;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
}
 
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
 
.custom-file-control::before {
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
z-index: 6;
display: block;
height: 2.5rem;
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
background-color: #eceeef;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0 0.25rem 0.25rem 0;
}
 
.custom-file-control:lang(en)::before {
content: "Browse";
}
 
.nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.nav-link {
display: block;
padding: 0.5em 1em;
}
 
.nav-link:focus, .nav-link:hover {
text-decoration: none;
}
 
.nav-link.disabled {
color: #636c72;
cursor: not-allowed;
}
 
.nav-tabs {
border-bottom: 1px solid #ddd;
}
 
.nav-tabs .nav-item {
margin-bottom: -1px;
}
 
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
border-color: #eceeef #eceeef #ddd;
}
 
.nav-tabs .nav-link.disabled {
color: #636c72;
background-color: transparent;
border-color: transparent;
}
 
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #464a4c;
background-color: #fff;
border-color: #ddd #ddd #fff;
}
 
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
 
.nav-pills .nav-link {
border-radius: 0.25rem;
}
 
.nav-pills .nav-link.active,
.nav-pills .nav-item.show .nav-link {
color: #fff;
cursor: default;
background-color: #0275d8;
}
 
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
 
.nav-justified .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 100%;
-ms-flex: 1 1 100%;
flex: 1 1 100%;
text-align: center;
}
 
.tab-content > .tab-pane {
display: none;
}
 
.tab-content > .active {
display: block;
}
 
.navbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding: 0.5rem 1rem;
}
 
.navbar-brand {
display: inline-block;
padding-top: .25rem;
padding-bottom: .25rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
 
.navbar-brand:focus, .navbar-brand:hover {
text-decoration: none;
}
 
.navbar-nav {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
 
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
 
.navbar-text {
display: inline-block;
padding-top: .425rem;
padding-bottom: .425rem;
}
 
.navbar-toggler {
-webkit-align-self: flex-start;
-ms-flex-item-align: start;
align-self: flex-start;
padding: 0.25rem 0.75rem;
font-size: 1.25rem;
line-height: 1;
background: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.navbar-toggler:focus, .navbar-toggler:hover {
text-decoration: none;
}
 
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.navbar-toggler-left {
position: absolute;
left: 1rem;
}
 
.navbar-toggler-right {
position: absolute;
right: 1rem;
}
 
@media (max-width: 575px) {
.navbar-toggleable .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 576px) {
.navbar-toggleable {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable .navbar-toggler {
display: none;
}
}
 
@media (max-width: 767px) {
.navbar-toggleable-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 768px) {
.navbar-toggleable-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-sm > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-sm .navbar-toggler {
display: none;
}
}
 
@media (max-width: 991px) {
.navbar-toggleable-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-md > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 992px) {
.navbar-toggleable-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-md > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-md .navbar-toggler {
display: none;
}
}
 
@media (max-width: 1199px) {
.navbar-toggleable-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
.navbar-toggleable-lg > .container {
padding-right: 0;
padding-left: 0;
}
}
 
@media (min-width: 1200px) {
.navbar-toggleable-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-toggleable-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
.navbar-toggleable-lg > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggleable-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
.navbar-toggleable-lg .navbar-toggler {
display: none;
}
}
 
.navbar-toggleable-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
 
.navbar-toggleable-xl > .container {
padding-right: 0;
padding-left: 0;
}
 
.navbar-toggleable-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
 
.navbar-toggleable-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem;
}
 
.navbar-toggleable-xl > .container {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
 
.navbar-toggleable-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
width: 100%;
}
 
.navbar-toggleable-xl .navbar-toggler {
display: none;
}
 
.navbar-light .navbar-brand,
.navbar-light .navbar-toggler {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-nav .nav-link {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
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 .open > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.active {
color: rgba(0, 0, 0, 0.9);
}
 
.navbar-light .navbar-toggler {
border-color: rgba(0, 0, 0, 0.1);
}
 
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-light .navbar-text {
color: rgba(0, 0, 0, 0.5);
}
 
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-toggler {
color: white;
}
 
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-toggler:focus,
.navbar-inverse .navbar-toggler:hover {
color: white;
}
 
.navbar-inverse .navbar-nav .nav-link {
color: rgba(255, 255, 255, 0.5);
}
 
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
color: rgba(255, 255, 255, 0.75);
}
 
.navbar-inverse .navbar-nav .nav-link.disabled {
color: rgba(255, 255, 255, 0.25);
}
 
.navbar-inverse .navbar-nav .open > .nav-link,
.navbar-inverse .navbar-nav .active > .nav-link,
.navbar-inverse .navbar-nav .nav-link.open,
.navbar-inverse .navbar-nav .nav-link.active {
color: white;
}
 
.navbar-inverse .navbar-toggler {
border-color: rgba(255, 255, 255, 0.1);
}
 
.navbar-inverse .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 
.navbar-inverse .navbar-text {
color: rgba(255, 255, 255, 0.5);
}
 
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
border-radius: 0.25rem;
}
 
.card-block {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
}
 
.card-title {
margin-bottom: 0.75rem;
}
 
.card-subtitle {
margin-top: -0.375rem;
margin-bottom: 0;
}
 
.card-text:last-child {
margin-bottom: 0;
}
 
.card-link:hover {
text-decoration: none;
}
 
.card-link + .card-link {
margin-left: 1.25rem;
}
 
.card > .list-group:first-child .list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.card-header {
padding: 0.75rem 1.25rem;
margin-bottom: 0;
background-color: #f7f7f9;
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.75rem 1.25rem;
background-color: #f7f7f9;
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.625rem;
margin-bottom: -0.75rem;
margin-left: -0.625rem;
border-bottom: 0;
}
 
.card-header-pills {
margin-right: -0.625rem;
margin-left: -0.625rem;
}
 
.card-primary {
background-color: #0275d8;
border-color: #0275d8;
}
 
.card-primary .card-header,
.card-primary .card-footer {
background-color: transparent;
}
 
.card-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
 
.card-success .card-header,
.card-success .card-footer {
background-color: transparent;
}
 
.card-info {
background-color: #5bc0de;
border-color: #5bc0de;
}
 
.card-info .card-header,
.card-info .card-footer {
background-color: transparent;
}
 
.card-warning {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
 
.card-warning .card-header,
.card-warning .card-footer {
background-color: transparent;
}
 
.card-danger {
background-color: #d9534f;
border-color: #d9534f;
}
 
.card-danger .card-header,
.card-danger .card-footer {
background-color: transparent;
}
 
.card-outline-primary {
background-color: transparent;
border-color: #0275d8;
}
 
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
 
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
 
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
 
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
 
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
 
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-header,
.card-inverse .card-footer {
background-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
}
 
.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
color: #fff;
}
 
.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-subtitle,
.card-inverse .card-blockquote .blockquote-footer {
color: rgba(255, 255, 255, 0.65);
}
 
.card-inverse .card-link:focus, .card-inverse .card-link:hover {
color: #fff;
}
 
.card-blockquote {
padding: 0;
margin-bottom: 0;
border-left: 0;
}
 
.card-img {
border-radius: calc(0.25rem - 1px);
}
 
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
}
 
.card-img-top {
border-top-right-radius: calc(0.25rem - 1px);
border-top-left-radius: calc(0.25rem - 1px);
}
 
.card-img-bottom {
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
 
@media (min-width: 576px) {
.card-deck {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-deck .card {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.card-deck .card:not(:first-child) {
margin-left: 15px;
}
.card-deck .card:not(:last-child) {
margin-right: 15px;
}
}
 
@media (min-width: 576px) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
}
.card-group .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group .card:first-child {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
}
.card-group .card:first-child .card-img-bottom {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
}
.card-group .card:last-child .card-img-bottom {
border-bottom-left-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) {
border-radius: 0;
}
.card-group .card:not(:first-child):not(:last-child) .card-img-top,
.card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
border-radius: 0;
}
}
 
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
}
.card-columns .card {
display: inline-block;
width: 100%;
margin-bottom: 0.75rem;
}
}
 
.breadcrumb {
padding: 0.75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.breadcrumb::after {
display: block;
content: "";
clear: both;
}
 
.breadcrumb-item {
float: left;
}
 
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
padding-left: 0.5rem;
color: #636c72;
content: "/";
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: underline;
}
 
.breadcrumb-item + .breadcrumb-item:hover::before {
text-decoration: none;
}
 
.breadcrumb-item.active {
color: #636c72;
}
 
.pagination {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: 0.25rem;
}
 
.page-item:first-child .page-link {
margin-left: 0;
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.page-item:last-child .page-link {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.page-item.active .page-link {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
 
.page-link {
position: relative;
display: block;
padding: 0.5rem 0.75rem;
margin-left: -1px;
line-height: 1.25;
color: #0275d8;
background-color: #fff;
border: 1px solid #ddd;
}
 
.page-link:focus, .page-link:hover {
color: #014c8c;
text-decoration: none;
background-color: #eceeef;
border-color: #ddd;
}
 
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
}
 
.pagination-lg .page-item:first-child .page-link {
border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
}
 
.pagination-lg .page-item:last-child .page-link {
border-bottom-right-radius: 0.3rem;
border-top-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-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
}
 
.pagination-sm .page-item:last-child .page-link {
border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
}
 
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
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;
}
 
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
 
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
 
.badge-default {
background-color: #636c72;
}
 
.badge-default[href]:focus, .badge-default[href]:hover {
background-color: #4b5257;
}
 
.badge-primary {
background-color: #0275d8;
}
 
.badge-primary[href]:focus, .badge-primary[href]:hover {
background-color: #025aa5;
}
 
.badge-success {
background-color: #5cb85c;
}
 
.badge-success[href]:focus, .badge-success[href]:hover {
background-color: #449d44;
}
 
.badge-info {
background-color: #5bc0de;
}
 
.badge-info[href]:focus, .badge-info[href]:hover {
background-color: #31b0d5;
}
 
.badge-warning {
background-color: #f0ad4e;
}
 
.badge-warning[href]:focus, .badge-warning[href]:hover {
background-color: #ec971f;
}
 
.badge-danger {
background-color: #d9534f;
}
 
.badge-danger[href]:focus, .badge-danger[href]:hover {
background-color: #c9302c;
}
 
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #eceeef;
border-radius: 0.3rem;
}
 
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem;
}
}
 
.jumbotron-hr {
border-top-color: #d0d5d8;
}
 
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0;
}
 
.alert {
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
 
.alert-heading {
color: inherit;
}
 
.alert-link {
font-weight: bold;
}
 
.alert-dismissible .close {
position: relative;
top: -0.75rem;
right: -1.25rem;
padding: 0.75rem 1.25rem;
color: inherit;
}
 
.alert-success {
background-color: #dff0d8;
border-color: #d0e9c6;
color: #3c763d;
}
 
.alert-success hr {
border-top-color: #c1e2b3;
}
 
.alert-success .alert-link {
color: #2b542c;
}
 
.alert-info {
background-color: #d9edf7;
border-color: #bcdff1;
color: #31708f;
}
 
.alert-info hr {
border-top-color: #a6d5ec;
}
 
.alert-info .alert-link {
color: #245269;
}
 
.alert-warning {
background-color: #fcf8e3;
border-color: #faf2cc;
color: #8a6d3b;
}
 
.alert-warning hr {
border-top-color: #f7ecb5;
}
 
.alert-warning .alert-link {
color: #66512c;
}
 
.alert-danger {
background-color: #f2dede;
border-color: #ebcccc;
color: #a94442;
}
 
.alert-danger hr {
border-top-color: #e4b9b9;
}
 
.alert-danger .alert-link {
color: #843534;
}
 
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@-o-keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
 
.progress {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
overflow: hidden;
font-size: 0.75rem;
line-height: 1rem;
text-align: center;
background-color: #eceeef;
border-radius: 0.25rem;
}
 
.progress-bar {
height: 1rem;
color: #fff;
background-color: #0275d8;
}
 
.progress-bar-striped {
background-image: -webkit-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-image: -o-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-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);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
 
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
-o-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
 
.media {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
 
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
 
.list-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
}
 
.list-group-item-action {
width: 100%;
color: #464a4c;
text-align: inherit;
}
 
.list-group-item-action .list-group-item-heading {
color: #292b2c;
}
 
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
background-color: #f7f7f9;
}
 
.list-group-item-action:active {
color: #292b2c;
background-color: #eceeef;
}
 
.list-group-item {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
 
.list-group-item:first-child {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.list-group-item:focus, .list-group-item:hover {
text-decoration: none;
}
 
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
cursor: not-allowed;
background-color: #fff;
}
 
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
color: inherit;
}
 
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
color: #636c72;
}
 
.list-group-item.active {
z-index: 2;
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
 
.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 {
color: inherit;
}
 
.list-group-item.active .list-group-item-text {
color: #daeeff;
}
 
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
 
.list-group-flush:first-child .list-group-item:first-child {
border-top: 0;
}
 
.list-group-flush:last-child .list-group-item:last-child {
border-bottom: 0;
}
 
.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,
button.list-group-item-success.active {
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,
button.list-group-item-info.active {
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,
button.list-group-item-warning.active {
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,
button.list-group-item-danger.active {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
 
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
 
.embed-responsive::before {
display: block;
content: "";
}
 
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
 
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
 
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
 
.embed-responsive-4by3::before {
padding-top: 75%;
}
 
.embed-responsive-1by1::before {
padding-top: 100%;
}
 
.close {
float: right;
font-size: 1.5rem;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
}
 
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
 
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
 
.modal-open {
overflow: hidden;
}
 
.modal {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
display: none;
overflow: hidden;
outline: 0;
}
 
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
}
 
.modal.show .modal-dialog {
-webkit-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;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
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;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
 
.modal-backdrop.fade {
opacity: 0;
}
 
.modal-backdrop.show {
opacity: 0.5;
}
 
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
 
.modal-title {
margin-bottom: 0;
line-height: 1.5;
}
 
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
}
 
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #eceeef;
}
 
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
 
.modal-footer > :not(:last-child) {
margin-right: .25rem;
}
 
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
 
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto;
}
.modal-sm {
max-width: 300px;
}
}
 
@media (min-width: 992px) {
.modal-lg {
max-width: 800px;
}
}
 
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
}
 
.tooltip.show {
opacity: 0.9;
}
 
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
padding: 5px 0;
margin-top: -3px;
}
 
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
bottom: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
 
.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
padding: 0 5px;
margin-left: 3px;
}
 
.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
top: 50%;
left: 0;
margin-top: -5px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
 
.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
padding: 5px 0;
margin-top: 3px;
}
 
.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
top: 0;
left: 50%;
margin-left: -5px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
 
.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
padding: 0 5px;
margin-left: -3px;
}
 
.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
top: 50%;
right: 0;
margin-top: -5px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
 
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem;
}
 
.tooltip-inner::before {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: block;
max-width: 276px;
padding: 1px;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 0.3rem;
}
 
.popover.popover-top, .popover.bs-tether-element-attached-bottom {
margin-top: -10px;
}
 
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
left: 50%;
border-bottom-width: 0;
}
 
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
 
.popover.popover-right, .popover.bs-tether-element-attached-left {
margin-left: 10px;
}
 
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
top: 50%;
border-left-width: 0;
}
 
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
 
.popover.popover-bottom, .popover.bs-tether-element-attached-top {
margin-top: 10px;
}
 
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
left: 50%;
border-top-width: 0;
}
 
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
top: -10px;
margin-left: -10px;
border-bottom-color: #f7f7f7;
}
 
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 20px;
margin-left: -10px;
content: "";
border-bottom: 1px solid #f7f7f7;
}
 
.popover.popover-left, .popover.bs-tether-element-attached-right {
margin-left: -10px;
}
 
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
top: 50%;
border-right-width: 0;
}
 
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
 
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
}
 
.popover-title {
padding: 8px 14px;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-right-radius: calc(0.3rem - 1px);
border-top-left-radius: calc(0.3rem - 1px);
}
 
.popover-title:empty {
display: none;
}
 
.popover-content {
padding: 9px 14px;
}
 
.popover::before,
.popover::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
 
.popover::before {
content: "";
border-width: 11px;
}
 
.popover::after {
content: "";
border-width: 10px;
}
 
.carousel {
position: relative;
}
 
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
 
.carousel-item {
position: relative;
display: none;
width: 100%;
}
 
@media (-webkit-transform-3d) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
perspective: 1000px;
}
}
 
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
 
.carousel-item-next,
.carousel-item-prev {
position: absolute;
top: 0;
}
 
@media (-webkit-transform-3d) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.carousel-item-next,
.active.carousel-item-right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.carousel-item-prev,
.active.carousel-item-left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
}
 
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: 0.5;
}
 
.carousel-control-prev:focus, .carousel-control-prev:hover,
.carousel-control-next:focus,
.carousel-control-next:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9;
}
 
.carousel-control-prev {
left: 0;
}
 
.carousel-control-next {
right: 0;
}
 
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 20px;
height: 20px;
background: transparent no-repeat center center;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
 
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
 
.carousel-control-next-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
 
.carousel-indicators {
position: absolute;
right: 0;
bottom: 10px;
left: 0;
z-index: 15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none;
}
 
.carousel-indicators li {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
max-width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
 
.carousel-indicators li::before {
position: absolute;
top: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators li::after {
position: absolute;
bottom: -10px;
left: 0;
display: inline-block;
width: 100%;
height: 10px;
content: "";
}
 
.carousel-indicators .active {
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;
}
 
.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;
}
 
.bg-faded {
background-color: #f7f7f7;
}
 
.bg-primary {
background-color: #0275d8 !important;
}
 
a.bg-primary:focus, a.bg-primary:hover {
background-color: #025aa5 !important;
}
 
.bg-success {
background-color: #5cb85c !important;
}
 
a.bg-success:focus, a.bg-success:hover {
background-color: #449d44 !important;
}
 
.bg-info {
background-color: #5bc0de !important;
}
 
a.bg-info:focus, a.bg-info:hover {
background-color: #31b0d5 !important;
}
 
.bg-warning {
background-color: #f0ad4e !important;
}
 
a.bg-warning:focus, a.bg-warning:hover {
background-color: #ec971f !important;
}
 
.bg-danger {
background-color: #d9534f !important;
}
 
a.bg-danger:focus, a.bg-danger:hover {
background-color: #c9302c !important;
}
 
.bg-inverse {
background-color: #292b2c !important;
}
 
a.bg-inverse:focus, a.bg-inverse:hover {
background-color: #101112 !important;
}
 
.border-0 {
border: 0 !important;
}
 
.border-top-0 {
border-top: 0 !important;
}
 
.border-right-0 {
border-right: 0 !important;
}
 
.border-bottom-0 {
border-bottom: 0 !important;
}
 
.border-left-0 {
border-left: 0 !important;
}
 
.rounded {
border-radius: 0.25rem;
}
 
.rounded-top {
border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-right {
border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
 
.rounded-bottom {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
}
 
.rounded-left {
border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
}
 
.rounded-circle {
border-radius: 50%;
}
 
.rounded-0 {
border-radius: 0;
}
 
.clearfix::after {
display: block;
content: "";
clear: both;
}
 
.d-none {
display: none !important;
}
 
.d-inline {
display: inline !important;
}
 
.d-inline-block {
display: inline-block !important;
}
 
.d-block {
display: block !important;
}
 
.d-table {
display: table !important;
}
 
.d-table-cell {
display: table-cell !important;
}
 
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
 
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
 
@media (min-width: 576px) {
.d-sm-none {
display: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 768px) {
.d-md-none {
display: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 992px) {
.d-lg-none {
display: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
@media (min-width: 1200px) {
.d-xl-none {
display: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
 
.flex-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
 
.flex-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
 
.flex-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
 
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
 
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
 
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
 
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
 
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
 
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
 
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
 
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
 
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
 
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
 
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
 
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
 
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
 
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
 
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
 
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
 
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
 
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
 
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
 
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
 
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
 
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
 
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
 
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
 
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
 
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
 
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
 
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
 
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
 
@media (min-width: 576px) {
.flex-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-sm-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 768px) {
.flex-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-md-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 992px) {
.flex-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-lg-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
@media (min-width: 1200px) {
.flex-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
.flex-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.flex-xl-unordered {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
-ms-grid-row-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
-ms-grid-row-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
-ms-grid-row-align: stretch !important;
align-self: stretch !important;
}
}
 
.float-left {
float: left !important;
}
 
.float-right {
float: right !important;
}
 
.float-none {
float: none !important;
}
 
@media (min-width: 576px) {
.float-sm-left {
float: left !important;
}
.float-sm-right {
float: right !important;
}
.float-sm-none {
float: none !important;
}
}
 
@media (min-width: 768px) {
.float-md-left {
float: left !important;
}
.float-md-right {
float: right !important;
}
.float-md-none {
float: none !important;
}
}
 
@media (min-width: 992px) {
.float-lg-left {
float: left !important;
}
.float-lg-right {
float: right !important;
}
.float-lg-none {
float: none !important;
}
}
 
@media (min-width: 1200px) {
.float-xl-left {
float: left !important;
}
.float-xl-right {
float: right !important;
}
.float-xl-none {
float: none !important;
}
}
 
.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: 1030;
}
 
.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;
}
 
.w-25 {
width: 25% !important;
}
 
.w-50 {
width: 50% !important;
}
 
.w-75 {
width: 75% !important;
}
 
.w-100 {
width: 100% !important;
}
 
.h-25 {
height: 25% !important;
}
 
.h-50 {
height: 50% !important;
}
 
.h-75 {
height: 75% !important;
}
 
.h-100 {
height: 100% !important;
}
 
.mw-100 {
max-width: 100% !important;
}
 
.mh-100 {
max-height: 100% !important;
}
 
.m-0 {
margin: 0 0 !important;
}
 
.mt-0 {
margin-top: 0 !important;
}
 
.mr-0 {
margin-right: 0 !important;
}
 
.mb-0 {
margin-bottom: 0 !important;
}
 
.ml-0 {
margin-left: 0 !important;
}
 
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
 
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
 
.m-1 {
margin: 0.25rem 0.25rem !important;
}
 
.mt-1 {
margin-top: 0.25rem !important;
}
 
.mr-1 {
margin-right: 0.25rem !important;
}
 
.mb-1 {
margin-bottom: 0.25rem !important;
}
 
.ml-1 {
margin-left: 0.25rem !important;
}
 
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
 
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
 
.m-2 {
margin: 0.5rem 0.5rem !important;
}
 
.mt-2 {
margin-top: 0.5rem !important;
}
 
.mr-2 {
margin-right: 0.5rem !important;
}
 
.mb-2 {
margin-bottom: 0.5rem !important;
}
 
.ml-2 {
margin-left: 0.5rem !important;
}
 
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
 
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
 
.m-3 {
margin: 1rem 1rem !important;
}
 
.mt-3 {
margin-top: 1rem !important;
}
 
.mr-3 {
margin-right: 1rem !important;
}
 
.mb-3 {
margin-bottom: 1rem !important;
}
 
.ml-3 {
margin-left: 1rem !important;
}
 
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
 
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
 
.m-4 {
margin: 1.5rem 1.5rem !important;
}
 
.mt-4 {
margin-top: 1.5rem !important;
}
 
.mr-4 {
margin-right: 1.5rem !important;
}
 
.mb-4 {
margin-bottom: 1.5rem !important;
}
 
.ml-4 {
margin-left: 1.5rem !important;
}
 
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
 
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
 
.m-5 {
margin: 3rem 3rem !important;
}
 
.mt-5 {
margin-top: 3rem !important;
}
 
.mr-5 {
margin-right: 3rem !important;
}
 
.mb-5 {
margin-bottom: 3rem !important;
}
 
.ml-5 {
margin-left: 3rem !important;
}
 
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
 
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
 
.p-0 {
padding: 0 0 !important;
}
 
.pt-0 {
padding-top: 0 !important;
}
 
.pr-0 {
padding-right: 0 !important;
}
 
.pb-0 {
padding-bottom: 0 !important;
}
 
.pl-0 {
padding-left: 0 !important;
}
 
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
 
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
 
.p-1 {
padding: 0.25rem 0.25rem !important;
}
 
.pt-1 {
padding-top: 0.25rem !important;
}
 
.pr-1 {
padding-right: 0.25rem !important;
}
 
.pb-1 {
padding-bottom: 0.25rem !important;
}
 
.pl-1 {
padding-left: 0.25rem !important;
}
 
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
 
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
 
.p-2 {
padding: 0.5rem 0.5rem !important;
}
 
.pt-2 {
padding-top: 0.5rem !important;
}
 
.pr-2 {
padding-right: 0.5rem !important;
}
 
.pb-2 {
padding-bottom: 0.5rem !important;
}
 
.pl-2 {
padding-left: 0.5rem !important;
}
 
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
 
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
 
.p-3 {
padding: 1rem 1rem !important;
}
 
.pt-3 {
padding-top: 1rem !important;
}
 
.pr-3 {
padding-right: 1rem !important;
}
 
.pb-3 {
padding-bottom: 1rem !important;
}
 
.pl-3 {
padding-left: 1rem !important;
}
 
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
 
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
 
.p-4 {
padding: 1.5rem 1.5rem !important;
}
 
.pt-4 {
padding-top: 1.5rem !important;
}
 
.pr-4 {
padding-right: 1.5rem !important;
}
 
.pb-4 {
padding-bottom: 1.5rem !important;
}
 
.pl-4 {
padding-left: 1.5rem !important;
}
 
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
 
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
 
.p-5 {
padding: 3rem 3rem !important;
}
 
.pt-5 {
padding-top: 3rem !important;
}
 
.pr-5 {
padding-right: 3rem !important;
}
 
.pb-5 {
padding-bottom: 3rem !important;
}
 
.pl-5 {
padding-left: 3rem !important;
}
 
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
 
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
 
.m-auto {
margin: auto !important;
}
 
.mt-auto {
margin-top: auto !important;
}
 
.mr-auto {
margin-right: auto !important;
}
 
.mb-auto {
margin-bottom: auto !important;
}
 
.ml-auto {
margin-left: auto !important;
}
 
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
 
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
 
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mr-sm-0 {
margin-right: 0 !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.ml-sm-0 {
margin-left: 0 !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-sm-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mr-sm-1 {
margin-right: 0.25rem !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.ml-sm-1 {
margin-left: 0.25rem !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mr-sm-2 {
margin-right: 0.5rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.ml-sm-2 {
margin-left: 0.5rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mr-sm-3 {
margin-right: 1rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.ml-sm-3 {
margin-left: 1rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mr-sm-4 {
margin-right: 1.5rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.ml-sm-4 {
margin-left: 1.5rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mr-sm-5 {
margin-right: 3rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.ml-sm-5 {
margin-left: 3rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-sm-0 {
padding: 0 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pr-sm-0 {
padding-right: 0 !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pl-sm-0 {
padding-left: 0 !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-sm-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pr-sm-1 {
padding-right: 0.25rem !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pl-sm-1 {
padding-left: 0.25rem !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pr-sm-2 {
padding-right: 0.5rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pl-sm-2 {
padding-left: 0.5rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pr-sm-3 {
padding-right: 1rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pl-sm-3 {
padding-left: 1rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pr-sm-4 {
padding-right: 1.5rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pl-sm-4 {
padding-left: 1.5rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pr-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.pl-sm-5 {
padding-left: 3rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.mr-sm-auto {
margin-right: auto !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ml-sm-auto {
margin-left: auto !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 768px) {
.m-md-0 {
margin: 0 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mr-md-0 {
margin-right: 0 !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.ml-md-0 {
margin-left: 0 !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-md-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mr-md-1 {
margin-right: 0.25rem !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.ml-md-1 {
margin-left: 0.25rem !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mr-md-2 {
margin-right: 0.5rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.ml-md-2 {
margin-left: 0.5rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-md-3 {
margin: 1rem 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mr-md-3 {
margin-right: 1rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.ml-md-3 {
margin-left: 1rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-md-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mr-md-4 {
margin-right: 1.5rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.ml-md-4 {
margin-left: 1.5rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-md-5 {
margin: 3rem 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mr-md-5 {
margin-right: 3rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.ml-md-5 {
margin-left: 3rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-md-0 {
padding: 0 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pr-md-0 {
padding-right: 0 !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pl-md-0 {
padding-left: 0 !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-md-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pr-md-1 {
padding-right: 0.25rem !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pl-md-1 {
padding-left: 0.25rem !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pr-md-2 {
padding-right: 0.5rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pl-md-2 {
padding-left: 0.5rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-md-3 {
padding: 1rem 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pr-md-3 {
padding-right: 1rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pl-md-3 {
padding-left: 1rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-md-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pr-md-4 {
padding-right: 1.5rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pl-md-4 {
padding-left: 1.5rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-md-5 {
padding: 3rem 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pr-md-5 {
padding-right: 3rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.pl-md-5 {
padding-left: 3rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.mr-md-auto {
margin-right: auto !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ml-md-auto {
margin-left: auto !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mr-lg-0 {
margin-right: 0 !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.ml-lg-0 {
margin-left: 0 !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-lg-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mr-lg-1 {
margin-right: 0.25rem !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.ml-lg-1 {
margin-left: 0.25rem !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mr-lg-2 {
margin-right: 0.5rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.ml-lg-2 {
margin-left: 0.5rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mr-lg-3 {
margin-right: 1rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.ml-lg-3 {
margin-left: 1rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mr-lg-4 {
margin-right: 1.5rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.ml-lg-4 {
margin-left: 1.5rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mr-lg-5 {
margin-right: 3rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.ml-lg-5 {
margin-left: 3rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-lg-0 {
padding: 0 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pr-lg-0 {
padding-right: 0 !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pl-lg-0 {
padding-left: 0 !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-lg-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pr-lg-1 {
padding-right: 0.25rem !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pl-lg-1 {
padding-left: 0.25rem !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pr-lg-2 {
padding-right: 0.5rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pl-lg-2 {
padding-left: 0.5rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pr-lg-3 {
padding-right: 1rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pl-lg-3 {
padding-left: 1rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pr-lg-4 {
padding-right: 1.5rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pl-lg-4 {
padding-left: 1.5rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pr-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.pl-lg-5 {
padding-left: 3rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.mr-lg-auto {
margin-right: auto !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ml-lg-auto {
margin-left: auto !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mr-xl-0 {
margin-right: 0 !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.ml-xl-0 {
margin-left: 0 !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.m-xl-1 {
margin: 0.25rem 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mr-xl-1 {
margin-right: 0.25rem !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.ml-xl-1 {
margin-left: 0.25rem !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mr-xl-2 {
margin-right: 0.5rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.ml-xl-2 {
margin-left: 0.5rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mr-xl-3 {
margin-right: 1rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.ml-xl-3 {
margin-left: 1rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mr-xl-4 {
margin-right: 1.5rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.ml-xl-4 {
margin-left: 1.5rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mr-xl-5 {
margin-right: 3rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.ml-xl-5 {
margin-left: 3rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.p-xl-0 {
padding: 0 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pr-xl-0 {
padding-right: 0 !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pl-xl-0 {
padding-left: 0 !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.p-xl-1 {
padding: 0.25rem 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pr-xl-1 {
padding-right: 0.25rem !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pl-xl-1 {
padding-left: 0.25rem !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pr-xl-2 {
padding-right: 0.5rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pl-xl-2 {
padding-left: 0.5rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pr-xl-3 {
padding-right: 1rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pl-xl-3 {
padding-left: 1rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pr-xl-4 {
padding-right: 1.5rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pl-xl-4 {
padding-left: 1.5rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pr-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.pl-xl-5 {
padding-left: 3rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.mr-xl-auto {
margin-right: auto !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ml-xl-auto {
margin-left: auto !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
}
 
.text-justify {
text-align: justify !important;
}
 
.text-nowrap {
white-space: nowrap !important;
}
 
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
 
.text-left {
text-align: left !important;
}
 
.text-right {
text-align: right !important;
}
 
.text-center {
text-align: center !important;
}
 
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important;
}
.text-sm-right {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
 
@media (min-width: 768px) {
.text-md-left {
text-align: left !important;
}
.text-md-right {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
 
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important;
}
.text-lg-right {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
 
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important;
}
.text-xl-right {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
 
.text-lowercase {
text-transform: lowercase !important;
}
 
.text-uppercase {
text-transform: uppercase !important;
}
 
.text-capitalize {
text-transform: capitalize !important;
}
 
.font-weight-normal {
font-weight: normal;
}
 
.font-weight-bold {
font-weight: bold;
}
 
.font-italic {
font-style: italic;
}
 
.text-white {
color: #fff !important;
}
 
.text-muted {
color: #636c72 !important;
}
 
a.text-muted:focus, a.text-muted:hover {
color: #4b5257 !important;
}
 
.text-primary {
color: #0275d8 !important;
}
 
a.text-primary:focus, a.text-primary:hover {
color: #025aa5 !important;
}
 
.text-success {
color: #5cb85c !important;
}
 
a.text-success:focus, a.text-success:hover {
color: #449d44 !important;
}
 
.text-info {
color: #5bc0de !important;
}
 
a.text-info:focus, a.text-info:hover {
color: #31b0d5 !important;
}
 
.text-warning {
color: #f0ad4e !important;
}
 
a.text-warning:focus, a.text-warning:hover {
color: #ec971f !important;
}
 
.text-danger {
color: #d9534f !important;
}
 
a.text-danger:focus, a.text-danger:hover {
color: #c9302c !important;
}
 
.text-gray-dark {
color: #292b2c !important;
}
 
a.text-gray-dark:focus, a.text-gray-dark:hover {
color: #101112 !important;
}
 
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
 
.invisible {
visibility: hidden !important;
}
 
.hidden-xs-up {
display: none !important;
}
 
@media (max-width: 575px) {
.hidden-xs-down {
display: none !important;
}
}
 
@media (min-width: 576px) {
.hidden-sm-up {
display: none !important;
}
}
 
@media (max-width: 767px) {
.hidden-sm-down {
display: none !important;
}
}
 
@media (min-width: 768px) {
.hidden-md-up {
display: none !important;
}
}
 
@media (max-width: 991px) {
.hidden-md-down {
display: none !important;
}
}
 
@media (min-width: 992px) {
.hidden-lg-up {
display: none !important;
}
}
 
@media (max-width: 1199px) {
.hidden-lg-down {
display: none !important;
}
}
 
@media (min-width: 1200px) {
.hidden-xl-up {
display: none !important;
}
}
 
.hidden-xl-down {
display: none !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;
}
}
/*# sourceMappingURL=bootstrap.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.min.css
New file
0,0 → 1,6
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}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.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}[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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.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{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.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:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.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 .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;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:.75rem 1.25rem;background-color:#f7f7f9;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:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{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:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.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{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.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,button.list-group-item-success.active{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,button.list-group-item-info.active{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,button.list-group-item-warning.active{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,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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:1030}.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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!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}}/*# sourceMappingURL=bootstrap.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-grid.css
New file
0,0 → 1,1339
@-ms-viewport {
width: device-width;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-overflow-style: scrollbar;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
.container {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 576px) {
.container {
width: 540px;
max-width: 100%;
}
}
 
@media (min-width: 768px) {
.container {
width: 720px;
max-width: 100%;
}
}
 
@media (min-width: 992px) {
.container {
width: 960px;
max-width: 100%;
}
}
 
@media (min-width: 1200px) {
.container {
width: 1140px;
max-width: 100%;
}
}
 
.container-fluid {
position: relative;
margin-left: auto;
margin-right: auto;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.container-fluid {
padding-right: 15px;
padding-left: 15px;
}
}
 
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
 
@media (min-width: 576px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 768px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 992px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
@media (min-width: 1200px) {
.row {
margin-right: -15px;
margin-left: -15px;
}
}
 
.no-gutters {
margin-right: 0;
margin-left: 0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
 
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
 
@media (min-width: 576px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 768px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 992px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
@media (min-width: 1200px) {
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
padding-right: 15px;
padding-left: 15px;
}
}
 
.col {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
 
.col-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
 
.col-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
 
.col-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
 
.col-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
 
.col-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
 
.col-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
 
.col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
 
.col-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
 
.col-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
 
.col-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
 
.col-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
 
.col-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
 
.col-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
 
.pull-0 {
right: auto;
}
 
.pull-1 {
right: 8.333333%;
}
 
.pull-2 {
right: 16.666667%;
}
 
.pull-3 {
right: 25%;
}
 
.pull-4 {
right: 33.333333%;
}
 
.pull-5 {
right: 41.666667%;
}
 
.pull-6 {
right: 50%;
}
 
.pull-7 {
right: 58.333333%;
}
 
.pull-8 {
right: 66.666667%;
}
 
.pull-9 {
right: 75%;
}
 
.pull-10 {
right: 83.333333%;
}
 
.pull-11 {
right: 91.666667%;
}
 
.pull-12 {
right: 100%;
}
 
.push-0 {
left: auto;
}
 
.push-1 {
left: 8.333333%;
}
 
.push-2 {
left: 16.666667%;
}
 
.push-3 {
left: 25%;
}
 
.push-4 {
left: 33.333333%;
}
 
.push-5 {
left: 41.666667%;
}
 
.push-6 {
left: 50%;
}
 
.push-7 {
left: 58.333333%;
}
 
.push-8 {
left: 66.666667%;
}
 
.push-9 {
left: 75%;
}
 
.push-10 {
left: 83.333333%;
}
 
.push-11 {
left: 91.666667%;
}
 
.push-12 {
left: 100%;
}
 
.offset-1 {
margin-left: 8.333333%;
}
 
.offset-2 {
margin-left: 16.666667%;
}
 
.offset-3 {
margin-left: 25%;
}
 
.offset-4 {
margin-left: 33.333333%;
}
 
.offset-5 {
margin-left: 41.666667%;
}
 
.offset-6 {
margin-left: 50%;
}
 
.offset-7 {
margin-left: 58.333333%;
}
 
.offset-8 {
margin-left: 66.666667%;
}
 
.offset-9 {
margin-left: 75%;
}
 
.offset-10 {
margin-left: 83.333333%;
}
 
.offset-11 {
margin-left: 91.666667%;
}
 
@media (min-width: 576px) {
.col-sm {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-sm-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-sm-0 {
right: auto;
}
.pull-sm-1 {
right: 8.333333%;
}
.pull-sm-2 {
right: 16.666667%;
}
.pull-sm-3 {
right: 25%;
}
.pull-sm-4 {
right: 33.333333%;
}
.pull-sm-5 {
right: 41.666667%;
}
.pull-sm-6 {
right: 50%;
}
.pull-sm-7 {
right: 58.333333%;
}
.pull-sm-8 {
right: 66.666667%;
}
.pull-sm-9 {
right: 75%;
}
.pull-sm-10 {
right: 83.333333%;
}
.pull-sm-11 {
right: 91.666667%;
}
.pull-sm-12 {
right: 100%;
}
.push-sm-0 {
left: auto;
}
.push-sm-1 {
left: 8.333333%;
}
.push-sm-2 {
left: 16.666667%;
}
.push-sm-3 {
left: 25%;
}
.push-sm-4 {
left: 33.333333%;
}
.push-sm-5 {
left: 41.666667%;
}
.push-sm-6 {
left: 50%;
}
.push-sm-7 {
left: 58.333333%;
}
.push-sm-8 {
left: 66.666667%;
}
.push-sm-9 {
left: 75%;
}
.push-sm-10 {
left: 83.333333%;
}
.push-sm-11 {
left: 91.666667%;
}
.push-sm-12 {
left: 100%;
}
.offset-sm-0 {
margin-left: 0%;
}
.offset-sm-1 {
margin-left: 8.333333%;
}
.offset-sm-2 {
margin-left: 16.666667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.333333%;
}
.offset-sm-5 {
margin-left: 41.666667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.333333%;
}
.offset-sm-8 {
margin-left: 66.666667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.333333%;
}
.offset-sm-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 768px) {
.col-md {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-md-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-md-0 {
right: auto;
}
.pull-md-1 {
right: 8.333333%;
}
.pull-md-2 {
right: 16.666667%;
}
.pull-md-3 {
right: 25%;
}
.pull-md-4 {
right: 33.333333%;
}
.pull-md-5 {
right: 41.666667%;
}
.pull-md-6 {
right: 50%;
}
.pull-md-7 {
right: 58.333333%;
}
.pull-md-8 {
right: 66.666667%;
}
.pull-md-9 {
right: 75%;
}
.pull-md-10 {
right: 83.333333%;
}
.pull-md-11 {
right: 91.666667%;
}
.pull-md-12 {
right: 100%;
}
.push-md-0 {
left: auto;
}
.push-md-1 {
left: 8.333333%;
}
.push-md-2 {
left: 16.666667%;
}
.push-md-3 {
left: 25%;
}
.push-md-4 {
left: 33.333333%;
}
.push-md-5 {
left: 41.666667%;
}
.push-md-6 {
left: 50%;
}
.push-md-7 {
left: 58.333333%;
}
.push-md-8 {
left: 66.666667%;
}
.push-md-9 {
left: 75%;
}
.push-md-10 {
left: 83.333333%;
}
.push-md-11 {
left: 91.666667%;
}
.push-md-12 {
left: 100%;
}
.offset-md-0 {
margin-left: 0%;
}
.offset-md-1 {
margin-left: 8.333333%;
}
.offset-md-2 {
margin-left: 16.666667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.333333%;
}
.offset-md-5 {
margin-left: 41.666667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.333333%;
}
.offset-md-8 {
margin-left: 66.666667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.333333%;
}
.offset-md-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 992px) {
.col-lg {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-lg-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-lg-0 {
right: auto;
}
.pull-lg-1 {
right: 8.333333%;
}
.pull-lg-2 {
right: 16.666667%;
}
.pull-lg-3 {
right: 25%;
}
.pull-lg-4 {
right: 33.333333%;
}
.pull-lg-5 {
right: 41.666667%;
}
.pull-lg-6 {
right: 50%;
}
.pull-lg-7 {
right: 58.333333%;
}
.pull-lg-8 {
right: 66.666667%;
}
.pull-lg-9 {
right: 75%;
}
.pull-lg-10 {
right: 83.333333%;
}
.pull-lg-11 {
right: 91.666667%;
}
.pull-lg-12 {
right: 100%;
}
.push-lg-0 {
left: auto;
}
.push-lg-1 {
left: 8.333333%;
}
.push-lg-2 {
left: 16.666667%;
}
.push-lg-3 {
left: 25%;
}
.push-lg-4 {
left: 33.333333%;
}
.push-lg-5 {
left: 41.666667%;
}
.push-lg-6 {
left: 50%;
}
.push-lg-7 {
left: 58.333333%;
}
.push-lg-8 {
left: 66.666667%;
}
.push-lg-9 {
left: 75%;
}
.push-lg-10 {
left: 83.333333%;
}
.push-lg-11 {
left: 91.666667%;
}
.push-lg-12 {
left: 100%;
}
.offset-lg-0 {
margin-left: 0%;
}
.offset-lg-1 {
margin-left: 8.333333%;
}
.offset-lg-2 {
margin-left: 16.666667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.333333%;
}
.offset-lg-5 {
margin-left: 41.666667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.333333%;
}
.offset-lg-8 {
margin-left: 66.666667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.333333%;
}
.offset-lg-11 {
margin-left: 91.666667%;
}
}
 
@media (min-width: 1200px) {
.col-xl {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
}
.col-xl-1 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 8.333333%;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 16.666667%;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 25%;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 33.333333%;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 41.666667%;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 58.333333%;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 66.666667%;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 75%;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 83.333333%;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 91.666667%;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
-webkit-box-flex: 0;
-webkit-flex: 0 0 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.pull-xl-0 {
right: auto;
}
.pull-xl-1 {
right: 8.333333%;
}
.pull-xl-2 {
right: 16.666667%;
}
.pull-xl-3 {
right: 25%;
}
.pull-xl-4 {
right: 33.333333%;
}
.pull-xl-5 {
right: 41.666667%;
}
.pull-xl-6 {
right: 50%;
}
.pull-xl-7 {
right: 58.333333%;
}
.pull-xl-8 {
right: 66.666667%;
}
.pull-xl-9 {
right: 75%;
}
.pull-xl-10 {
right: 83.333333%;
}
.pull-xl-11 {
right: 91.666667%;
}
.pull-xl-12 {
right: 100%;
}
.push-xl-0 {
left: auto;
}
.push-xl-1 {
left: 8.333333%;
}
.push-xl-2 {
left: 16.666667%;
}
.push-xl-3 {
left: 25%;
}
.push-xl-4 {
left: 33.333333%;
}
.push-xl-5 {
left: 41.666667%;
}
.push-xl-6 {
left: 50%;
}
.push-xl-7 {
left: 58.333333%;
}
.push-xl-8 {
left: 66.666667%;
}
.push-xl-9 {
left: 75%;
}
.push-xl-10 {
left: 83.333333%;
}
.push-xl-11 {
left: 91.666667%;
}
.push-xl-12 {
left: 100%;
}
.offset-xl-0 {
margin-left: 0%;
}
.offset-xl-1 {
margin-left: 8.333333%;
}
.offset-xl-2 {
margin-left: 16.666667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.333333%;
}
.offset-xl-5 {
margin-left: 41.666667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.333333%;
}
.offset-xl-8 {
margin-left: 66.666667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.333333%;
}
.offset-xl-11 {
margin-left: 91.666667%;
}
}
/*# sourceMappingURL=bootstrap-grid.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-reboot.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null]}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-grid.min.css
New file
0,0 → 1,0
@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.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,.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,.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-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css.map
New file
0,0 → 1,0
{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-reboot.css
New file
0,0 → 1,459
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
 
body {
margin: 0;
}
 
article,
aside,
footer,
header,
nav,
section {
display: block;
}
 
h1 {
font-size: 2em;
margin: 0.67em 0;
}
 
figcaption,
figure,
main {
display: block;
}
 
figure {
margin: 1em 40px;
}
 
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
 
pre {
font-family: monospace, monospace;
font-size: 1em;
}
 
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
 
a:active,
a:hover {
outline-width: 0;
}
 
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
 
b,
strong {
font-weight: inherit;
}
 
b,
strong {
font-weight: bolder;
}
 
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
 
dfn {
font-style: italic;
}
 
mark {
background-color: #ff0;
color: #000;
}
 
small {
font-size: 80%;
}
 
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
 
sub {
bottom: -0.25em;
}
 
sup {
top: -0.5em;
}
 
audio,
video {
display: inline-block;
}
 
audio:not([controls]) {
display: none;
height: 0;
}
 
img {
border-style: none;
}
 
svg:not(:root) {
overflow: hidden;
}
 
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
 
button,
input {
overflow: visible;
}
 
button,
select {
text-transform: none;
}
 
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
 
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
 
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
 
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
 
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
 
progress {
display: inline-block;
vertical-align: baseline;
}
 
textarea {
overflow: auto;
}
 
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
 
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
 
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
 
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
 
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
 
details,
menu {
display: block;
}
 
summary {
display: list-item;
}
 
canvas {
display: inline-block;
}
 
template {
display: none;
}
 
[hidden] {
display: none;
}
 
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
 
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
 
@-ms-viewport {
width: device-width;
}
 
html {
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
 
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
color: #292b2c;
background-color: #fff;
}
 
[tabindex="-1"]:focus {
outline: none !important;
}
 
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
 
p {
margin-top: 0;
margin-bottom: 1rem;
}
 
abbr[title],
abbr[data-original-title] {
cursor: help;
}
 
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
 
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
 
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
 
dt {
font-weight: bold;
}
 
dd {
margin-bottom: .5rem;
margin-left: 0;
}
 
blockquote {
margin: 0 0 1rem;
}
 
a {
color: #0275d8;
text-decoration: none;
}
 
a:focus, a:hover {
color: #014c8c;
text-decoration: underline;
}
 
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
 
a:not([href]):not([tabindex]):focus {
outline: 0;
}
 
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
 
figure {
margin: 0 0 1rem;
}
 
img {
vertical-align: middle;
}
 
[role="button"] {
cursor: pointer;
}
 
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
 
table {
border-collapse: collapse;
background-color: transparent;
}
 
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #636c72;
text-align: left;
caption-side: bottom;
}
 
th {
text-align: left;
}
 
label {
display: inline-block;
margin-bottom: .5rem;
}
 
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
 
input,
button,
select,
textarea {
line-height: inherit;
}
 
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
cursor: not-allowed;
}
 
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
 
textarea {
resize: vertical;
}
 
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
 
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
 
input[type="search"] {
-webkit-appearance: none;
}
 
output {
display: inline-block;
}
 
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap-reboot.min.css
New file
0,0 → 1,0
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/js/bootstrap.js
New file
0,0 → 1,3535
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
 
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
 
+function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}(jQuery);
 
 
+function () {
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
 
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Util = function ($) {
 
/**
* ------------------------------------------------------------------------
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
 
var transition = false;
 
var MAX_UID = 1000000;
 
var TransitionEndEvent = {
WebkitTransition: 'webkitTransitionEnd',
MozTransition: 'transitionend',
OTransition: 'oTransitionEnd otransitionend',
transition: 'transitionend'
};
 
// shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
 
function isElement(obj) {
return (obj[0] || obj).nodeType;
}
 
function getSpecialTransitionEndEvent() {
return {
bindType: transition.end,
delegateType: transition.end,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
return undefined;
}
};
}
 
function transitionEndTest() {
if (window.QUnit) {
return false;
}
 
var el = document.createElement('bootstrap');
 
for (var name in TransitionEndEvent) {
if (el.style[name] !== undefined) {
return {
end: TransitionEndEvent[name]
};
}
}
 
return false;
}
 
function transitionEndEmulator(duration) {
var _this = this;
 
var called = false;
 
$(this).one(Util.TRANSITION_END, function () {
called = true;
});
 
setTimeout(function () {
if (!called) {
Util.triggerTransitionEnd(_this);
}
}, duration);
 
return this;
}
 
function setTransitionEndSupport() {
transition = transitionEndTest();
 
$.fn.emulateTransitionEnd = transitionEndEmulator;
 
if (Util.supportsTransitionEnd()) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
 
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
 
var Util = {
 
TRANSITION_END: 'bsTransitionEnd',
 
getUID: function getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
 
if (!selector) {
selector = element.getAttribute('href') || '';
selector = /^#[a-z]/i.test(selector) ? selector : null;
}
 
return selector;
},
reflow: function reflow(element) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
$(element).trigger(transition.end);
},
supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition);
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
 
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
}
};
 
setTransitionEndSupport();
 
return Util;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Alert = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'alert';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
 
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Alert = function () {
function Alert(element) {
_classCallCheck(this, Alert);
 
this._element = element;
}
 
// getters
 
// public
 
Alert.prototype.close = function close(element) {
element = element || this._element;
 
var rootElement = this._getRootElement(element);
var customEvent = this._triggerCloseEvent(rootElement);
 
if (customEvent.isDefaultPrevented()) {
return;
}
 
this._removeElement(rootElement);
};
 
Alert.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Alert.prototype._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element);
var parent = false;
 
if (selector) {
parent = $(selector)[0];
}
 
if (!parent) {
parent = $(element).closest('.' + ClassName.ALERT)[0];
}
 
return parent;
};
 
Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE);
 
$(element).trigger(closeEvent);
return closeEvent;
};
 
Alert.prototype._removeElement = function _removeElement(element) {
var _this2 = this;
 
$(element).removeClass(ClassName.SHOW);
 
if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
 
$(element).one(Util.TRANSITION_END, function (event) {
return _this2._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Alert.prototype._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
};
 
// static
 
Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
var data = $element.data(DATA_KEY);
 
if (!data) {
data = new Alert(this);
$element.data(DATA_KEY, data);
}
 
if (config === 'close') {
data[config](this);
}
});
};
 
Alert._handleDismiss = function _handleDismiss(alertInstance) {
return function (event) {
if (event) {
event.preventDefault();
}
 
alertInstance.close(this);
};
};
 
_createClass(Alert, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Alert;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Alert._jQueryInterface;
$.fn[NAME].Constructor = Alert;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Alert._jQueryInterface;
};
 
return Alert;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Button = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'button';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var ClassName = {
ACTIVE: 'active',
BUTTON: 'btn',
FOCUS: 'focus'
};
 
var Selector = {
DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
DATA_TOGGLE: '[data-toggle="buttons"]',
INPUT: 'input',
ACTIVE: '.active',
BUTTON: '.btn'
};
 
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Button = function () {
function Button(element) {
_classCallCheck(this, Button);
 
this._element = element;
}
 
// getters
 
// public
 
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
 
if (rootElement) {
var input = $(this._element).find(Selector.INPUT)[0];
 
if (input) {
if (input.type === 'radio') {
if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
triggerChangeEvent = false;
} else {
var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
 
if (activeElement) {
$(activeElement).removeClass(ClassName.ACTIVE);
}
}
}
 
if (triggerChangeEvent) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
 
input.focus();
}
}
 
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
 
if (triggerChangeEvent) {
$(this._element).toggleClass(ClassName.ACTIVE);
}
};
 
Button.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
this._element = null;
};
 
// static
 
Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Button(this);
$(this).data(DATA_KEY, data);
}
 
if (config === 'toggle') {
data[config]();
}
});
};
 
_createClass(Button, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Button;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
 
var button = event.target;
 
if (!$(button).hasClass(ClassName.BUTTON)) {
button = $(button).closest(Selector.BUTTON);
}
 
Button._jQueryInterface.call($(button), 'toggle');
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(Selector.BUTTON)[0];
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Button._jQueryInterface;
$.fn[NAME].Constructor = Button;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Button._jQueryInterface;
};
 
return Button;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Carousel = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'carousel';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
 
var Default = {
interval: 5000,
keyboard: true,
slide: false,
pause: 'hover',
wrap: true
};
 
var DefaultType = {
interval: '(number|boolean)',
keyboard: 'boolean',
slide: '(boolean|string)',
pause: '(string|boolean)',
wrap: 'boolean'
};
 
var Direction = {
NEXT: 'next',
PREV: 'prev',
LEFT: 'left',
RIGHT: 'right'
};
 
var Event = {
SLIDE: 'slide' + EVENT_KEY,
SLID: 'slid' + EVENT_KEY,
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
CAROUSEL: 'carousel',
ACTIVE: 'active',
SLIDE: 'slide',
RIGHT: 'carousel-item-right',
LEFT: 'carousel-item-left',
NEXT: 'carousel-item-next',
PREV: 'carousel-item-prev',
ITEM: 'carousel-item'
};
 
var Selector = {
ACTIVE: '.active',
ACTIVE_ITEM: '.active.carousel-item',
ITEM: '.carousel-item',
NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
INDICATORS: '.carousel-indicators',
DATA_SLIDE: '[data-slide], [data-slide-to]',
DATA_RIDE: '[data-ride="carousel"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Carousel = function () {
function Carousel(element, config) {
_classCallCheck(this, Carousel);
 
this._items = null;
this._interval = null;
this._activeElement = null;
 
this._isPaused = false;
this._isSliding = false;
 
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
 
this._addEventListeners();
}
 
// getters
 
// public
 
Carousel.prototype.next = function next() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.NEXT);
};
 
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
// Don't call next when the page isn't visible
if (!document.hidden) {
this.next();
}
};
 
Carousel.prototype.prev = function prev() {
if (this._isSliding) {
throw new Error('Carousel is sliding');
}
this._slide(Direction.PREVIOUS);
};
 
Carousel.prototype.pause = function pause(event) {
if (!event) {
this._isPaused = true;
}
 
if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
 
clearInterval(this._interval);
this._interval = null;
};
 
Carousel.prototype.cycle = function cycle(event) {
if (!event) {
this._isPaused = false;
}
 
if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
 
if (this._config.interval && !this._isPaused) {
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
}
};
 
Carousel.prototype.to = function to(index) {
var _this3 = this;
 
this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
 
var activeIndex = this._getItemIndex(this._activeElement);
 
if (index > this._items.length - 1 || index < 0) {
return;
}
 
if (this._isSliding) {
$(this._element).one(Event.SLID, function () {
return _this3.to(index);
});
return;
}
 
if (activeIndex === index) {
this.pause();
this.cycle();
return;
}
 
var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
 
this._slide(direction, this._items[index]);
};
 
Carousel.prototype.dispose = function dispose() {
$(this._element).off(EVENT_KEY);
$.removeData(this._element, DATA_KEY);
 
this._items = null;
this._config = null;
this._element = null;
this._interval = null;
this._isPaused = null;
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
};
 
// private
 
Carousel.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Carousel.prototype._addEventListeners = function _addEventListeners() {
var _this4 = this;
 
if (this._config.keyboard) {
$(this._element).on(Event.KEYDOWN, function (event) {
return _this4._keydown(event);
});
}
 
if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
}
};
 
Carousel.prototype._keydown = function _keydown(event) {
if (/input|textarea/i.test(event.target.tagName)) {
return;
}
 
switch (event.which) {
case ARROW_LEFT_KEYCODE:
event.preventDefault();
this.prev();
break;
case ARROW_RIGHT_KEYCODE:
event.preventDefault();
this.next();
break;
default:
return;
}
};
 
Carousel.prototype._getItemIndex = function _getItemIndex(element) {
this._items = $.makeArray($(element).parent().find(Selector.ITEM));
return this._items.indexOf(element);
};
 
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
if (isGoingToWrap && !this._config.wrap) {
return activeElement;
}
 
var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
 
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
 
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName
});
 
$(this._element).trigger(slideEvent);
 
return slideEvent;
};
 
Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
if (nextIndicator) {
$(nextIndicator).addClass(ClassName.ACTIVE);
}
}
};
 
Carousel.prototype._slide = function _slide(direction, element) {
var _this5 = this;
 
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
var isCycling = Boolean(this._interval);
 
var directionalClassName = void 0;
var orderClassName = void 0;
var eventDirectionName = void 0;
 
if (direction === Direction.NEXT) {
directionalClassName = ClassName.LEFT;
orderClassName = ClassName.NEXT;
eventDirectionName = Direction.LEFT;
} else {
directionalClassName = ClassName.RIGHT;
orderClassName = ClassName.PREV;
eventDirectionName = Direction.RIGHT;
}
 
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false;
return;
}
 
var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
if (slideEvent.isDefaultPrevented()) {
return;
}
 
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
return;
}
 
this._isSliding = true;
 
if (isCycling) {
this.pause();
}
 
this._setActiveIndicatorElement(nextElement);
 
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
direction: eventDirectionName
});
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
 
$(nextElement).addClass(orderClassName);
 
Util.reflow(nextElement);
 
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
 
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
 
$(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
 
_this5._isSliding = false;
 
setTimeout(function () {
return $(_this5._element).trigger(slidEvent);
}, 0);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
 
this._isSliding = false;
$(this._element).trigger(slidEvent);
}
 
if (isCycling) {
this.cycle();
}
};
 
// static
 
Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Default, $(this).data());
 
if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
$.extend(_config, config);
}
 
var action = typeof config === 'string' ? config : _config.slide;
 
if (!data) {
data = new Carousel(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'number') {
data.to(config);
} else if (typeof action === 'string') {
if (data[action] === undefined) {
throw new Error('No method named "' + action + '"');
}
data[action]();
} else if (_config.interval) {
data.pause();
data.cycle();
}
});
};
 
Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
var selector = Util.getSelectorFromElement(this);
 
if (!selector) {
return;
}
 
var target = $(selector)[0];
 
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
return;
}
 
var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
 
if (slideIndex) {
config.interval = false;
}
 
Carousel._jQueryInterface.call($(target), config);
 
if (slideIndex) {
$(target).data(DATA_KEY).to(slideIndex);
}
 
event.preventDefault();
};
 
_createClass(Carousel, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Carousel;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
 
$(window).on(Event.LOAD_DATA_API, function () {
$(Selector.DATA_RIDE).each(function () {
var $carousel = $(this);
Carousel._jQueryInterface.call($carousel, $carousel.data());
});
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Carousel._jQueryInterface;
$.fn[NAME].Constructor = Carousel;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Carousel._jQueryInterface;
};
 
return Carousel;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Collapse = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'collapse';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 600;
 
var Default = {
toggle: true,
parent: ''
};
 
var DefaultType = {
toggle: 'boolean',
parent: 'string'
};
 
var Event = {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SHOW: 'show',
COLLAPSE: 'collapse',
COLLAPSING: 'collapsing',
COLLAPSED: 'collapsed'
};
 
var Dimension = {
WIDTH: 'width',
HEIGHT: 'height'
};
 
var Selector = {
ACTIVES: '.card > .show, .card > .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Collapse = function () {
function Collapse(element, config) {
_classCallCheck(this, Collapse);
 
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
 
this._parent = this._config.parent ? this._getParent() : null;
 
if (!this._config.parent) {
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
}
 
if (this._config.toggle) {
this.toggle();
}
}
 
// getters
 
// public
 
Collapse.prototype.toggle = function toggle() {
if ($(this._element).hasClass(ClassName.SHOW)) {
this.hide();
} else {
this.show();
}
};
 
Collapse.prototype.show = function show() {
var _this6 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if ($(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var actives = void 0;
var activesData = void 0;
 
if (this._parent) {
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
}
 
if (actives) {
activesData = $(actives).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
}
}
 
var startEvent = $.Event(Event.SHOW);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
if (actives) {
Collapse._jQueryInterface.call($(actives), 'hide');
if (!activesData) {
$(actives).data(DATA_KEY, null);
}
}
 
var dimension = this._getDimension();
 
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
 
this._element.style[dimension] = 0;
this._element.setAttribute('aria-expanded', true);
 
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
$(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
 
_this6._element.style[dimension] = '';
 
_this6.setTransitioning(false);
 
$(_this6._element).trigger(Event.SHOWN);
};
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
 
this._element.style[dimension] = this._element[scrollSize] + 'px';
};
 
Collapse.prototype.hide = function hide() {
var _this7 = this;
 
if (this._isTransitioning) {
throw new Error('Collapse is transitioning');
}
 
if (!$(this._element).hasClass(ClassName.SHOW)) {
return;
}
 
var startEvent = $.Event(Event.HIDE);
$(this._element).trigger(startEvent);
if (startEvent.isDefaultPrevented()) {
return;
}
 
var dimension = this._getDimension();
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
 
this._element.style[dimension] = this._element[offsetDimension] + 'px';
 
Util.reflow(this._element);
 
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
 
this._element.setAttribute('aria-expanded', false);
 
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
 
this.setTransitioning(true);
 
var complete = function complete() {
_this7.setTransitioning(false);
$(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
};
 
this._element.style[dimension] = '';
 
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
 
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
};
 
Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
this._isTransitioning = isTransitioning;
};
 
Collapse.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
this._config = null;
this._parent = null;
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
};
 
// private
 
Collapse.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Collapse.prototype._getDimension = function _getDimension() {
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
};
 
Collapse.prototype._getParent = function _getParent() {
var _this8 = this;
 
var parent = $(this._config.parent)[0];
var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
 
$(parent).find(selector).each(function (i, element) {
_this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
});
 
return parent;
};
 
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
element.setAttribute('aria-expanded', isOpen);
 
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
};
 
// static
 
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
};
 
Collapse._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false;
}
 
if (!data) {
data = new Collapse(this, _config);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Collapse, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Collapse;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
 
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data();
 
Collapse._jQueryInterface.call($(target), config);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Collapse._jQueryInterface;
$.fn[NAME].Constructor = Collapse;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Collapse._jQueryInterface;
};
 
return Collapse;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Dropdown = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'dropdown';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
 
var Selector = {
BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
ROLE_MENU: '[role="menu"]',
ROLE_LISTBOX: '[role="listbox"]',
NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Dropdown = function () {
function Dropdown(element) {
_classCallCheck(this, Dropdown);
 
this._element = element;
 
this._addEventListeners();
}
 
// getters
 
// public
 
Dropdown.prototype.toggle = function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return false;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
Dropdown._clearMenus();
 
if (isActive) {
return false;
}
 
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
 
// if mobile we use a backdrop because click events don't delegate
var dropdown = document.createElement('div');
dropdown.className = ClassName.BACKDROP;
$(dropdown).insertBefore(this);
$(dropdown).on('click', Dropdown._clearMenus);
}
 
var relatedTarget = {
relatedTarget: this
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
 
$(parent).trigger(showEvent);
 
if (showEvent.isDefaultPrevented()) {
return false;
}
 
this.focus();
this.setAttribute('aria-expanded', true);
 
$(parent).toggleClass(ClassName.SHOW);
$(parent).trigger($.Event(Event.SHOWN, relatedTarget));
 
return false;
};
 
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
};
 
// private
 
Dropdown.prototype._addEventListeners = function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
};
 
// static
 
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
 
if (!data) {
data = new Dropdown(this);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config].call(this);
}
});
};
 
Dropdown._clearMenus = function _clearMenus(event) {
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
return;
}
 
var backdrop = $(Selector.BACKDROP)[0];
if (backdrop) {
backdrop.parentNode.removeChild(backdrop);
}
 
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
 
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
var relatedTarget = {
relatedTarget: toggles[i]
};
 
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
 
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
continue;
}
 
var hideEvent = $.Event(Event.HIDE, relatedTarget);
$(parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
}
 
toggles[i].setAttribute('aria-expanded', 'false');
 
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
 
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent = void 0;
var selector = Util.getSelectorFromElement(element);
 
if (selector) {
parent = $(selector)[0];
}
 
return parent || element.parentNode;
};
 
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
return;
}
 
event.preventDefault();
event.stopPropagation();
 
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return;
}
 
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
 
if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
 
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
$(toggle).trigger('focus');
}
 
$(this).trigger('click');
return;
}
 
var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
 
if (!items.length) {
return;
}
 
var index = items.indexOf(event.target);
 
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
index--;
}
 
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
index++;
}
 
if (index < 0) {
index = 0;
}
 
items[index].focus();
};
 
_createClass(Dropdown, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Dropdown;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Dropdown._jQueryInterface;
$.fn[NAME].Constructor = Dropdown;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
 
return Dropdown;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Modal = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'modal';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
 
var Default = {
backdrop: true,
keyboard: true,
focus: true,
show: true
};
 
var DefaultType = {
backdrop: '(boolean|string)',
keyboard: 'boolean',
focus: 'boolean',
show: 'boolean'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
RESIZE: 'resize' + EVENT_KEY,
CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop',
OPEN: 'modal-open',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Modal = function () {
function Modal(element, config) {
_classCallCheck(this, Modal);
 
this._config = this._getConfig(config);
this._element = element;
this._dialog = $(element).find(Selector.DIALOG)[0];
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
 
// getters
 
// public
 
Modal.prototype.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
 
Modal.prototype.show = function show(relatedTarget) {
var _this9 = this;
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
 
$(this._element).trigger(showEvent);
 
if (this._isShown || showEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = true;
 
this._checkScrollbar();
this._setScrollbar();
 
$(document.body).addClass(ClassName.OPEN);
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
return _this9.hide(event);
});
 
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
$(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
if ($(event.target).is(_this9._element)) {
_this9._ignoreBackdropClick = true;
}
});
});
 
this._showBackdrop(function () {
return _this9._showElement(relatedTarget);
});
};
 
Modal.prototype.hide = function hide(event) {
var _this10 = this;
 
if (event) {
event.preventDefault();
}
 
if (this._isTransitioning) {
throw new Error('Modal is transitioning');
}
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
}
 
var hideEvent = $.Event(Event.HIDE);
$(this._element).trigger(hideEvent);
 
if (!this._isShown || hideEvent.isDefaultPrevented()) {
return;
}
 
this._isShown = false;
 
this._setEscapeEvent();
this._setResizeEvent();
 
$(document).off(Event.FOCUSIN);
 
$(this._element).removeClass(ClassName.SHOW);
 
$(this._element).off(Event.CLICK_DISMISS);
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
if (transition) {
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this10._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
}
};
 
Modal.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
 
$(window, document, this._element, this._backdrop).off(EVENT_KEY);
 
this._config = null;
this._element = null;
this._dialog = null;
this._backdrop = null;
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
 
// private
 
Modal.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
 
Modal.prototype._showElement = function _showElement(relatedTarget) {
var _this11 = this;
 
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
 
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
document.body.appendChild(this._element);
}
 
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.scrollTop = 0;
 
if (transition) {
Util.reflow(this._element);
}
 
$(this._element).addClass(ClassName.SHOW);
 
if (this._config.focus) {
this._enforceFocus();
}
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget
});
 
var transitionComplete = function transitionComplete() {
if (_this11._config.focus) {
_this11._element.focus();
}
_this11._isTransitioning = false;
$(_this11._element).trigger(shownEvent);
};
 
if (transition) {
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
transitionComplete();
}
};
 
Modal.prototype._enforceFocus = function _enforceFocus() {
var _this12 = this;
 
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
_this12._element.focus();
}
});
};
 
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
var _this13 = this;
 
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
_this13.hide();
}
});
} else if (!this._isShown) {
$(this._element).off(Event.KEYDOWN_DISMISS);
}
};
 
Modal.prototype._setResizeEvent = function _setResizeEvent() {
var _this14 = this;
 
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
return _this14._handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
}
};
 
Modal.prototype._hideModal = function _hideModal() {
var _this15 = this;
 
this._element.style.display = 'none';
this._element.setAttribute('aria-hidden', 'true');
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
_this15._resetAdjustments();
_this15._resetScrollbar();
$(_this15._element).trigger(Event.HIDDEN);
});
};
 
Modal.prototype._removeBackdrop = function _removeBackdrop() {
if (this._backdrop) {
$(this._backdrop).remove();
this._backdrop = null;
}
};
 
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
var _this16 = this;
 
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
 
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
 
if (animate) {
$(this._backdrop).addClass(animate);
}
 
$(this._backdrop).appendTo(document.body);
 
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this16._ignoreBackdropClick) {
_this16._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
if (_this16._config.backdrop === 'static') {
_this16._element.focus();
} else {
_this16.hide();
}
});
 
if (doAnimate) {
Util.reflow(this._backdrop);
}
 
$(this._backdrop).addClass(ClassName.SHOW);
 
if (!callback) {
return;
}
 
if (!doAnimate) {
callback();
return;
}
 
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
 
var callbackRemove = function callbackRemove() {
_this16._removeBackdrop();
if (callback) {
callback();
}
};
 
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
} else {
callbackRemove();
}
} else if (callback) {
callback();
}
};
 
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
 
Modal.prototype._handleUpdate = function _handleUpdate() {
this._adjustDialog();
};
 
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
if (!this._isBodyOverflowing && isModalOverflowing) {
this._element.style.paddingLeft = this._scrollbarWidth + 'px';
}
 
if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetAdjustments = function _resetAdjustments() {
this._element.style.paddingLeft = '';
this._element.style.paddingRight = '';
};
 
Modal.prototype._checkScrollbar = function _checkScrollbar() {
this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
this._scrollbarWidth = this._getScrollbarWidth();
};
 
Modal.prototype._setScrollbar = function _setScrollbar() {
var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
 
this._originalBodyPadding = document.body.style.paddingRight || '';
 
if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
}
};
 
Modal.prototype._resetScrollbar = function _resetScrollbar() {
document.body.style.paddingRight = this._originalBodyPadding;
};
 
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
 
// static
 
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
 
if (!data) {
data = new Modal(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config](relatedTarget);
} else if (_config.show) {
data.show(relatedTarget);
}
});
};
 
_createClass(Modal, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return Modal;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this17 = this;
 
var target = void 0;
var selector = Util.getSelectorFromElement(this);
 
if (selector) {
target = $(selector)[0];
}
 
var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
 
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
}
 
var $target = $(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
return;
}
 
$target.one(Event.HIDDEN, function () {
if ($(_this17).is(':visible')) {
_this17.focus();
}
});
});
 
Modal._jQueryInterface.call($(target), config, this);
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Modal._jQueryInterface;
$.fn[NAME].Constructor = Modal;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Modal._jQueryInterface;
};
 
return Modal;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var ScrollSpy = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'scrollspy';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = {
offset: 10,
method: 'auto',
target: ''
};
 
var DefaultType = {
offset: 'number',
method: 'string',
target: '(string|element)'
};
 
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
NAV_LINK: 'nav-link',
NAV: 'nav',
ACTIVE: 'active'
};
 
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
LIST_ITEM: '.list-item',
LI: 'li',
LI_DROPDOWN: 'li.dropdown',
NAV_LINKS: '.nav-link',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
};
 
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var ScrollSpy = function () {
function ScrollSpy(element, config) {
var _this18 = this;
 
_classCallCheck(this, ScrollSpy);
 
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
 
$(this._scrollElement).on(Event.SCROLL, function (event) {
return _this18._process(event);
});
 
this.refresh();
this._process();
}
 
// getters
 
// public
 
ScrollSpy.prototype.refresh = function refresh() {
var _this19 = this;
 
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
 
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
 
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
 
this._offsets = [];
this._targets = [];
 
this._scrollHeight = this._getScrollHeight();
 
var targets = $.makeArray($(this._selector));
 
targets.map(function (element) {
var target = void 0;
var targetSelector = Util.getSelectorFromElement(element);
 
if (targetSelector) {
target = $(targetSelector)[0];
}
 
if (target && (target.offsetWidth || target.offsetHeight)) {
// todo (fat): remove sketch reliance on jQuery position/offset
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
}
return null;
}).filter(function (item) {
return item;
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
_this19._offsets.push(item[0]);
_this19._targets.push(item[1]);
});
};
 
ScrollSpy.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._scrollElement).off(EVENT_KEY);
 
this._element = null;
this._scrollElement = null;
this._config = null;
this._selector = null;
this._offsets = null;
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
};
 
// private
 
ScrollSpy.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, Default, config);
 
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
if (!id) {
id = Util.getUID(NAME);
$(config.target).attr('id', id);
}
config.target = '#' + id;
}
 
Util.typeCheckConfig(NAME, config, DefaultType);
 
return config;
};
 
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
 
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
};
 
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
};
 
ScrollSpy.prototype._process = function _process() {
var scrollTop = this._getScrollTop() + this._config.offset;
var scrollHeight = this._getScrollHeight();
var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
if (this._scrollHeight !== scrollHeight) {
this.refresh();
}
 
if (scrollTop >= maxScroll) {
var target = this._targets[this._targets.length - 1];
 
if (this._activeTarget !== target) {
this._activate(target);
}
return;
}
 
if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
this._activeTarget = null;
this._clear();
return;
}
 
for (var i = this._offsets.length; i--;) {
var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
 
if (isActiveTarget) {
this._activate(this._targets[i]);
}
}
};
 
ScrollSpy.prototype._activate = function _activate(target) {
this._activeTarget = target;
 
this._clear();
 
var queries = this._selector.split(',');
queries = queries.map(function (selector) {
return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
});
 
var $link = $(queries.join(','));
 
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
// todo (fat) this is kinda sus...
// recursively add actives to tested nav-links
$link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
}
 
$(this._scrollElement).trigger(Event.ACTIVATE, {
relatedTarget: target
});
};
 
ScrollSpy.prototype._clear = function _clear() {
$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
};
 
// static
 
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data) {
data = new ScrollSpy(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(ScrollSpy, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
 
return ScrollSpy;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
 
for (var i = scrollSpys.length; i--;) {
var $spy = $(scrollSpys[i]);
ScrollSpy._jQueryInterface.call($spy, $spy.data());
}
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = ScrollSpy._jQueryInterface;
$.fn[NAME].Constructor = ScrollSpy;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return ScrollSpy._jQueryInterface;
};
 
return ScrollSpy;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tab = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tab';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
 
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
DISABLED: 'disabled',
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tab = function () {
function Tab(element) {
_classCallCheck(this, Tab);
 
this._element = element;
}
 
// getters
 
// public
 
Tab.prototype.show = function show() {
var _this20 = this;
 
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
 
var target = void 0;
var previous = void 0;
var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
 
if (listElement) {
previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
 
var hideEvent = $.Event(Event.HIDE, {
relatedTarget: this._element
});
 
var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
 
if (previous) {
$(previous).trigger(hideEvent);
}
 
$(this._element).trigger(showEvent);
 
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
return;
}
 
if (selector) {
target = $(selector)[0];
}
 
this._activate(this._element, listElement);
 
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
relatedTarget: _this20._element
});
 
var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: previous
});
 
$(previous).trigger(hiddenEvent);
$(_this20._element).trigger(shownEvent);
};
 
if (target) {
this._activate(target, target.parentNode, complete);
} else {
complete();
}
};
 
Tab.prototype.dispose = function dispose() {
$.removeClass(this._element, DATA_KEY);
this._element = null;
};
 
// private
 
Tab.prototype._activate = function _activate(element, container, callback) {
var _this21 = this;
 
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
 
var complete = function complete() {
return _this21._transitionComplete(element, active, isTransitioning, callback);
};
 
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
if (active) {
$(active).removeClass(ClassName.SHOW);
}
};
 
Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
 
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
}
 
active.setAttribute('aria-expanded', false);
}
 
$(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
 
if (isTransitioning) {
Util.reflow(element);
$(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
 
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
 
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
if (dropdownElement) {
$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
}
 
element.setAttribute('aria-expanded', true);
}
 
if (callback) {
callback();
}
};
 
// static
 
Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
var data = $this.data(DATA_KEY);
 
if (!data) {
data = new Tab(this);
$this.data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tab, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
 
return Tab;
}();
 
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
 
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
});
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tab._jQueryInterface;
$.fn[NAME].Constructor = Tab;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tab._jQueryInterface;
};
 
return Tab;
}(jQuery);
 
/* global Tether */
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Tooltip = function ($) {
 
/**
* Check for Tether dependency
* Tether - http://tether.io/
*/
if (typeof Tether === 'undefined') {
throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
}
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'tooltip';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tether';
 
var Default = {
animation: true,
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
trigger: 'hover focus',
title: '',
delay: 0,
html: false,
selector: false,
placement: 'top',
offset: '0 0',
constraints: [],
container: false
};
 
var DefaultType = {
animation: 'boolean',
template: 'string',
title: '(string|element|function)',
trigger: 'string',
delay: '(number|object)',
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
offset: 'string',
constraints: 'array',
container: '(string|element|boolean)'
};
 
var AttachmentMap = {
TOP: 'bottom center',
RIGHT: 'middle left',
BOTTOM: 'top center',
LEFT: 'middle right'
};
 
var HoverState = {
SHOW: 'show',
OUT: 'out'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TOOLTIP: '.tooltip',
TOOLTIP_INNER: '.tooltip-inner'
};
 
var TetherClass = {
element: false,
enabled: false
};
 
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Tooltip = function () {
function Tooltip(element, config) {
_classCallCheck(this, Tooltip);
 
// private
this._isEnabled = true;
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._isTransitioning = false;
this._tether = null;
 
// protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
 
this._setListeners();
}
 
// getters
 
// public
 
Tooltip.prototype.enable = function enable() {
this._isEnabled = true;
};
 
Tooltip.prototype.disable = function disable() {
this._isEnabled = false;
};
 
Tooltip.prototype.toggleEnabled = function toggleEnabled() {
this._isEnabled = !this._isEnabled;
};
 
Tooltip.prototype.toggle = function toggle(event) {
if (event) {
var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
context._activeTrigger.click = !context._activeTrigger.click;
 
if (context._isWithActiveTrigger()) {
context._enter(null, context);
} else {
context._leave(null, context);
}
} else {
 
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
this._leave(null, this);
return;
}
 
this._enter(null, this);
}
};
 
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
 
this.cleanupTether();
 
$.removeData(this.element, this.constructor.DATA_KEY);
 
$(this.element).off(this.constructor.EVENT_KEY);
$(this.element).closest('.modal').off('hide.bs.modal');
 
if (this.tip) {
$(this.tip).remove();
}
 
this._isEnabled = null;
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
this._tether = null;
 
this.element = null;
this.config = null;
this.tip = null;
};
 
Tooltip.prototype.show = function show() {
var _this22 = this;
 
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
 
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
$(this.element).trigger(showEvent);
 
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
 
if (showEvent.isDefaultPrevented() || !isInTheDom) {
return;
}
 
var tip = this.getTipElement();
var tipId = Util.getUID(this.constructor.NAME);
 
tip.setAttribute('id', tipId);
this.element.setAttribute('aria-describedby', tipId);
 
this.setContent();
 
if (this.config.animation) {
$(tip).addClass(ClassName.FADE);
}
 
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
 
var attachment = this._getAttachment(placement);
 
var container = this.config.container === false ? document.body : $(this.config.container);
 
$(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
 
$(this.element).trigger(this.constructor.Event.INSERTED);
 
this._tether = new Tether({
attachment: attachment,
element: tip,
target: this.element,
classes: TetherClass,
classPrefix: CLASS_PREFIX,
offset: this.config.offset,
constraints: this.config.constraints,
addTargetClasses: false
});
 
Util.reflow(tip);
this._tether.position();
 
$(tip).addClass(ClassName.SHOW);
 
var complete = function complete() {
var prevHoverState = _this22._hoverState;
_this22._hoverState = null;
_this22._isTransitioning = false;
 
$(_this22.element).trigger(_this22.constructor.Event.SHOWN);
 
if (prevHoverState === HoverState.OUT) {
_this22._leave(null, _this22);
}
};
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
 
complete();
}
};
 
Tooltip.prototype.hide = function hide(callback) {
var _this23 = this;
 
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
if (this._isTransitioning) {
throw new Error('Tooltip is transitioning');
}
var complete = function complete() {
if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
 
_this23.element.removeAttribute('aria-describedby');
$(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
_this23._isTransitioning = false;
_this23.cleanupTether();
 
if (callback) {
callback();
}
};
 
$(this.element).trigger(hideEvent);
 
if (hideEvent.isDefaultPrevented()) {
return;
}
 
$(tip).removeClass(ClassName.SHOW);
 
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
 
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
}
 
this._hoverState = '';
};
 
// protected
 
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
 
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
if (html) {
if (!$(content).parent().is($element)) {
$element.empty().append(content);
}
} else {
$element.text($(content).text());
}
} else {
$element[html ? 'html' : 'text'](content);
}
};
 
Tooltip.prototype.getTitle = function getTitle() {
var title = this.element.getAttribute('data-original-title');
 
if (!title) {
title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
}
 
return title;
};
 
Tooltip.prototype.cleanupTether = function cleanupTether() {
if (this._tether) {
this._tether.destroy();
}
};
 
// private
 
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
};
 
Tooltip.prototype._setListeners = function _setListeners() {
var _this24 = this;
 
var triggers = this.config.trigger.split(' ');
 
triggers.forEach(function (trigger) {
if (trigger === 'click') {
$(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
return _this24.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
 
$(_this24.element).on(eventIn, _this24.config.selector, function (event) {
return _this24._enter(event);
}).on(eventOut, _this24.config.selector, function (event) {
return _this24._leave(event);
});
}
 
$(_this24.element).closest('.modal').on('hide.bs.modal', function () {
return _this24.hide();
});
});
 
if (this.config.selector) {
this.config = $.extend({}, this.config, {
trigger: 'manual',
selector: ''
});
} else {
this._fixTitle();
}
};
 
Tooltip.prototype._fixTitle = function _fixTitle() {
var titleType = _typeof(this.element.getAttribute('data-original-title'));
if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
this.element.setAttribute('title', '');
}
};
 
Tooltip.prototype._enter = function _enter(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
}
 
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW;
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.SHOW;
 
if (!context.config.delay || !context.config.delay.show) {
context.show();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.SHOW) {
context.show();
}
}, context.config.delay.show);
};
 
Tooltip.prototype._leave = function _leave(event, context) {
var dataKey = this.constructor.DATA_KEY;
 
context = context || $(event.currentTarget).data(dataKey);
 
if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
$(event.currentTarget).data(dataKey, context);
}
 
if (event) {
context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
 
if (context._isWithActiveTrigger()) {
return;
}
 
clearTimeout(context._timeout);
 
context._hoverState = HoverState.OUT;
 
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
return;
}
 
context._timeout = setTimeout(function () {
if (context._hoverState === HoverState.OUT) {
context.hide();
}
}, context.config.delay.hide);
};
 
Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
for (var trigger in this._activeTrigger) {
if (this._activeTrigger[trigger]) {
return true;
}
}
 
return false;
};
 
Tooltip.prototype._getConfig = function _getConfig(config) {
config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
 
if (config.delay && typeof config.delay === 'number') {
config.delay = {
show: config.delay,
hide: config.delay
};
}
 
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
 
return config;
};
 
Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
var config = {};
 
if (this.config) {
for (var key in this.config) {
if (this.constructor.Default[key] !== this.config[key]) {
config[key] = this.config[key];
}
}
}
 
return config;
};
 
// static
 
Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
 
if (!data && /dispose|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Tooltip, null, [{
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Tooltip;
}();
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Tooltip._jQueryInterface;
};
 
return Tooltip;
}(jQuery);
 
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
 
var Popover = function ($) {
 
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
 
var NAME = 'popover';
var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
 
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
 
var DefaultType = $.extend({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
 
var ClassName = {
FADE: 'fade',
SHOW: 'show'
};
 
var Selector = {
TITLE: '.popover-title',
CONTENT: '.popover-content'
};
 
var Event = {
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
INSERTED: 'inserted' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
FOCUSIN: 'focusin' + EVENT_KEY,
FOCUSOUT: 'focusout' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY
};
 
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
 
var Popover = function (_Tooltip) {
_inherits(Popover, _Tooltip);
 
function Popover() {
_classCallCheck(this, Popover);
 
return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
}
 
// overrides
 
Popover.prototype.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
 
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
 
Popover.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
 
// we use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
 
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
 
this.cleanupTether();
};
 
// private
 
Popover.prototype._getContent = function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
 
// static
 
Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
 
if (!data && /destroy|hide/.test(config)) {
return;
}
 
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
 
if (typeof config === 'string') {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
data[config]();
}
});
};
 
_createClass(Popover, null, [{
key: 'VERSION',
 
 
// getters
 
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function get() {
return DefaultType;
}
}]);
 
return Popover;
}(Tooltip);
 
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
 
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT;
return Popover._jQueryInterface;
};
 
return Popover;
}(jQuery);
 
}();
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/bootstrap-4/js/bootstrap.min.js
New file
0,0 → 1,7
/*!
* Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="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},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.6",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.6",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE)),e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.6",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.6",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.6",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,FOCUSIN_DATA_API:"focusin"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API+" "+_.FOCUSIN_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.6",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.6",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;
if(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.6",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.6",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.6",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}();
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/css/saisie.css
New file
0,0 → 1,660
@CHARSET "UTF-8";
 
body {
font-family: Muli,sans-serif;
font-size: 0.8rem;
font-weight: 300;
}
 
#zone-appli {
padding: 2rem;
border-radius: 0.3rem;
background-color: rgba(255, 255, 255, 0.9);
margin: 2rem auto;
}
 
#zone-appli .zone-alerte{
width: 100%;
}
 
#logo {
max-width: 100%;
}
 
h1, h2, h3, h4, h5 {
font-family: Muli,sans-serif;
color: #606060;
font-weight: 700;
}
 
form {
font-family: Muli,sans-serif;
float: none;
}
 
h1 {
font-weight: 700;
font-size: 2rem;
}
 
h2 {
font-weight: 700;
line-height: 1.15;
font-size: 1.5rem;
}
 
h3 {
font-size: 1.2rem;
}
 
ul {
padding-inline-start: 0;
}
 
#zone-appli .obligatoire::before {
content: '*';
position: absolute;
left: 0;
}
 
.btn.focus,
.btn:focus {
box-shadow: none;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse {
color: #fff !important;
}
 
.btn.btn-primary,
.btn.btn-info,
.btn.btn-success,
.btn.btn-danger,
.btn.btn-inverse,
.btn.btn-outline-primary,
.btn.btn-outline-info,
.btn.btn-outline-success,
.btn.btn-outline-danger,
.btn.btn-outline-inverse {
border-radius: 0.15rem;
}
 
button {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #a2b93b;
border-bottom-color: currentcolor;
border-bottom-left-radius: 0.2rem;
border-bottom-right-radius: 0.2rem;
border-bottom-style: none;
border-bottom-width: 0;
border-image-outset: 0 0 0 0;
border-image-repeat: stretch stretch;
border-image-slice: 100% 100% 100% 100%;
border-image-source: none;
border-image-width: 1 1 1 1;
border-left-color: currentcolor;
border-left-style: none;
border-left-width: 0;
border-right-color: currentcolor;
border-right-style: none;
border-right-width: 0;
border-top-color: currentcolor;
border-top-left-radius: 0.2rem;
border-top-right-radius: 0.2rem;
border-top-style: none;
border-top-width: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Ubuntu,sans-serif;
font-size: 1.3rem;
font-weight: 500;
letter-spacing: 0.1rem;
line-height: 1.5rem;
padding-bottom: 1.25rem;
padding-left: 2rem;
padding-right: 2rem;
padding-top: 1.25rem;
text-align: center;
text-decoration-color: currentcolor;
text-decoration-line: none;
text-decoration-style: solid;
text-transform: uppercase;
transition-delay: 0s;
transition-duration: 0.2s;
transition-property: background;
transition-timing-function: ease;
}
 
.mb2,
.mb-3 {
align-self: start;
}
 
label,
#zone-appli .list-label {
color: #606060;
display: block;
font-size: 0.9rem;
font-weight: 700;
}
 
#zone-appli .form-inline label,
#zone-appli .form-inline .list-label {
align-items: start;
align-self: start;
justify-content: left;
align-content: flex-start;
}
 
#zone-appli .hidden,
#fenetre-modal .hidden {
display: none !important;
}
 
#zone-appli .warning {
color: #ff5d55;
font-weight: 700;
}
 
#photos-conteneur label.label-file.error,
.control-group.error #connexion,
.control-group.error #inscription,
.control-group.error #bouton-anonyme,
.control-group.error .geoloc,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
box-shadow: 0 0 1.5px 1px red;
border-color: #b94a48;
color: #b94a48;
}
 
.control-group .erreur,
.control-group.error,
span.error {
color: #b94a48 !important;
}
 
#zone-appli .centre {
margin: 0 auto !important;
justify-content: center !important;
}
 
#zone-appli .droite {
float: right;
}
 
#zone-appli .info {
padding: 1rem;
background-color: #ccecf1;
border-color: #7ccedb;
color: #006979;
fill: #006979;
border-radius: 0.2rem;
}
 
#zone-appli .clear {
clear: both;
height: 0; overflow: hidden; /* Précaution pour IE 7 */
}
 
#zone-appli .ui-widget{
font-family: Muli,sans-serif;
}
 
#zone-appli .form-inline .form-control {
width: 100%;
}
 
#zone-appli #logo_hires {
display: none;
}
 
#zone-appli .logo-tb {
position:absolute;
left: 10px;
top: 10px;
}
 
#zone-appli .bloc-top {
border-top: 1px solid rgba(0,0,0,.1);
padding-top: 1rem;
}
 
#zone-appli .bloc-bottom {
border-bottom: 1px solid rgba(0,0,0,.1);
padding-bottom: 1rem;
}
 
.unstyled {
list-style-type: none;
overflow-y: auto;
overflow-x: initial;
height: 8rem;
padding: 1rem;
}
 
#zone-appli #formulaire form {
margin-bottom: 1.5rem;
}
 
input[type="checkbox"],
input[type="radio"],
input.radio,
input.checkbox {
vertical-align:text-top;
padding: 0;
margin-right: 10px;
position:relative;
overflow:hidden;
top:2px;
}
 
/*************************************************************************/
 
form#form-observateur,
form#form-observation {
min-width: 100%;
margin-left: 0;
margin-right: 0;
}
 
.volet {
height: 5rem;
}
 
#identite {
height: auto;
}
 
#bouton-connexion,
#creation-compte {
display: -ms-flexbox;
display: flex;
height: 5rem;
-webkit-box-flex: 1;
-webkit-flex: 0 0 50%;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
justify-content: left;
align-items: flex-start;
align-content: flex-middle;
}
 
#ajouter-obs,
#transmettre-obs {
color: #fff;
background-color: #b2cb43;
border: none;
border-radius: 0.1rem;
}
 
#transmettre-obs:focus,
#transmettre-obs:hover,
#ajouter-obs:focus,
#ajouter-obs:hover {
background-color: #a2b93b;
border: none;
}
 
#utilisateur-connecte.volet {
padding-left: 2rem;
}
 
#utilisateur-connecte.volet > a {
margin-left: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur,
#utilisateur-connecte.volet #deconnexion {
padding: 0 0.75rem;
margin: 0.2rem 0;
}
 
#utilisateur-connecte.volet .volet-menu a {
font-size: 0.8rem;
font-weight: 400;
color: #606060;
background: inherit;
text-decoration: none;
display: block;
width: 100%;
padding-left: 5px;
line-height: 25px;
outline: 0;
}
 
#utilisateur-connecte.volet #profil-utilisateur:hover,
#utilisateur-connecte.volet #deconnexion:hover,
#utilisateur-connecte.volet #profil-utilisateur:focus,
#utilisateur-connecte.volet #deconnexion:focus {
background: #b2cb43;
}
 
#utilisateur-connecte.volet .volet-menu a:hover,
#utilisateur-connecte.volet .volet-menu a:focus {
color: #fff;
}
 
#utilisateur-connecte .volet-menu {
position: absolute;
z-index: 1000;
min-width: auto;
list-style: none;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
 
.volet-menu div a {
color: #222;
}
 
#utilisateur-connecte .volet-toggle::after {
font-family: "Font Awesome 5 Free";
font-size: 0.8rem;
font-weight: 900;
content: '\f0d7'
}
 
/*******************************************/
 
.label-file {
overflow: hidden;
position: relative;
cursor: pointer;
border-radius: 0.25rem;
font-weight: 400;
font-size: 0.9rem;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: 1px solid transparent;
padding: .375rem .75rem;
line-height: 1.5;
transition:
color .15s ease-in-out,
background-color .15s ease-in-out,
border-color .15s ease-in-out,
box-shadow .15s ease-in-out;
margin: 0;
}
 
.label-file [type=file] {
cursor: inherit;
display: block;
font-size: 999px;
filter: alpha(opacity=0);
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
 
.label-file [type=file] {
cursor: pointer;
}
 
/*************************************/
 
#miniatures .miniature {
position: relative;
display: inline-block;
margin-bottom: 3rem;
}
 
#miniatures .miniature .miniature-img {
width: 10vw;
vertical-align: top;
}
 
#miniatures .miniature .effacer-miniature {
display: flex;
position: absolute;
left: 0;
right: 0;
bottom: -1.9rem;
font-size: 1rem;
background-color: #ff5d55;
opacity: 1;
color: #ffffff;
padding: 0;
margin: 0;
width: 100%;
height: 2rem;
align-items:center;
justify-content: center;
cursor: pointer;
border-bottom-right-radius: 0.2rem;
border-bottom-left-radius: 0.2rem;
}
 
#miniatures .miniature .effacer-miniature:hover {
background-color: #ff847e;
}
.obs {
height: 10rem;
padding: 1rem;
border-radius: 0.25rem;
background-color: #fbfbfb;
border: 1px solid #eee;
overflow: hidden;
}
 
.obs .nom-sci {
font-size: 1rem;
}
 
.defilement-miniatures .defilement-miniatures-cache,
.defilement-miniatures .miniature-cachee {
display: none;
}
 
.defilement-miniatures {
display: flex;
align-items:center;
justify-content: center;
height: 8rem;
}
.defilement-miniatures figure {
display: inline-block;
min-height: 8rem;
line-height: 8rem;
text-align: center;
min-width: 80%;
width: 80%;
margin:0 auto;
padding: 0;
}
 
.miniature-selectionnee {
vertical-align: middle;
max-height: 8rem;
max-width: 80%;
}
 
.defilement-miniatures-gauche,
.defilement-miniatures-droite {
display: inline-block;
color: #5bc0de;
vertical-align: middle;
outline-style: none;
}
 
.defilement-miniatures-gauche:active,
.defilement-miniatures-droite:active,
.defilement-miniatures-gauche:focus,
.defilement-miniatures-droite:focus {
color: #499fb7;
}
 
.defilement-miniatures-gauche:hover,
.defilement-miniatures-droite:hover {
color: #499fb7;
}
 
#zone-prenom-nom #prenom,
#zone-prenom-nom #nom {
z-index: 0;
}
 
#transmettre-obs{
text-align: right;
}
 
#zone-liste-obs h2.transmission-title {
display: inline-block;
}
 
footer a {
display: inline-block;
}
 
.help-button {
float: right;
}
 
#image-fond {
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
min-width: 100%;
background-attachment: fixed;
margin: 0;
padding: 0;
}
 
.modal-open,
body.modal-open {
overflow: inherit !important;
}
 
.modal-footer,
.modal-header {
border-top: none;
border-bottom: none;
}
 
.modal-dialog {
max-width: 90vw;
}
 
.modal-content img {
display: none;
}
 
.modal-body {
padding: 0;
margin:0 auto;
text-align: center;
}
 
/*************************************/
 
@media screen and ( max-width: 768px ) {
 
#titre-projet {
font-size: 1.5rem;
}
 
h2 {
font-size: 1.3rem;
}
 
#logo {
max-width: 80%;
}
 
#bouton-connexion,
#creation-compte {
display: block;
width: 100%;
position: static;
}
#miniatures .miniature .miniature-img {
width: 22.9vw;
}
#miniatures .miniature .effacer-miniature {
font-size: 0.8rem;
}
 
#transmettre-obs.droite {
float: none;
}
 
.obs {
height: auto;
}
 
.obs .unstyled {
font-size: 0.6rem;
}
 
.obs .nom-sci {
font-size: 0.8rem;
}
 
.supprimer-obs {
overflow: hidden;
}
 
#image-fond {
display: none;
}
 
#fenetre-modal {
padding: 0 !important;
}
 
.modal-dialog {
max-width: unset;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: 0;
}
 
.modal-dialog-centered {
min-height: 100vh;
}
 
.modal-content {
border: none;
border-radius: 0;
top: 0;
bottom: 0;
left: 0;
right: 0;
min-width: 100vw;
min-height: 100vh;
padding-right: 15px;
}
}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/apaforms.tpl.html
New file
0,0 → 1,689
<?php if ('arbres' === $squelette ) : ?>
<form id="form-observation" role="form" autocomplete="on">
<h2>Relevé</h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label class="col-sm-12 obligatoire has-tooltip" data-toggle="tooltip" title="Localisation du relevé.">
<i class="fa fa-map" aria-hidden="true"></i>&nbsp;Lieu du relevé
</label>
<div id="geoloc-info" class="text-justify col-sm-8">
<p>
<span class="font-weight-bold">Localisez ici la zone d’observation.</span>
</p>
<p>
Après l'enregistrement du relevé, vous pourrez pointer précisément les arbres sur lesquelles vous avez fait vos observations.
</p>
</div>
<div class="control-group">
<span id="geoloc-error" class="error hidden">
Le nom de la rue, ou de la commune, n'ont pas pu être correctement déterminées pour la localisation indiquée.<br>
Veuillez replacer le pointeur de la carte ou indiquer manuellement le nom de la rue ou/et de la commune.
</span>
<div id="geoloc" class="col-sm-12 geoloc">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="true"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
</div>
<div id="geoloc-datas" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue">Rue</label>
<div class="col-sm-8">
<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
</div>
</div>
<div class="mt-3">
<label class="col-sm-8" for="commune-nom">Nom de commune</label>
<div class="col-sm-8">
<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
</div>
</div>
<input type="hidden" class="form-control geometry-releve" disabled id="geometry-releve" name="geometry-releve" value="" style="display:none">
<input type="hidden" class="form-control latitude-releve" disabled id="latitude-releve" name="latitude-releve" value="" style="display:none">
<input type="hidden" class="form-control longitude-releve" disabled id="longitude-releve" name="longitude-releve" value="" style="display:none">
<input type="hidden" class="form-control altitude-releve" disabled id="altitude-releve" name="altitude-releve" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label for="pays">Pays</label>
<div>
<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
 
<div class="col-md-6">
<h3 class="mb-3">Informations sur le relevé</h3>
<div id="obs-info" class="text-justify col-sm-8">
<p>
<span class="warning">Attention!</span><br>
Ces informations ne sont pas modifiables après la création du relevé
</p>
<p>
Pour indiquer qu'<span class="font-weight-bold">un élément concernant le relevé ou un arbre a changé</span> ou corriger une erreur, vous devez dupliquer le relevé existant.
</p>
<p>
<a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie">Consultez l'aide</a> pour plus d'infos.
</p>
</div>
 
<div class="control-group">
<label for="releve-date" class="col-sm-8 obligatoire" title="">
<i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;Date de relevé
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="Saisir la date de l’observation">
<input type="date" id="releve-date" name="releve-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="fa fa-walking" aria-hidden="true"></i>&nbsp;Zone piétonne
</div>
<div id="zone-pietonne" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="pietonne" name="zone-pietonne" class="pietonne form-check-input" value="true">
<label for="pietonne" class="pietonne form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="non-pietonne" name="zone-pietonne" class="non-pietonne form-check-input" value="false">
<label for="non-pietonne" class="non-pietonne form-check-label">Non</label>
</div>
</div>
</div>
 
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-lightbulb" aria-hidden="true"></i>&nbsp;Présence de lampadaires
</div>
<div id="pres-lampadaires" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="lampadaires" name="pres-lampadaires" class="lampadaires form-check-input" value="true">
<label for="lampadaires" class="lampadaires form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="sans-lapadaires" name="pres-lampadaires" class="sans-lampadaires form-check-input" value="false">
<label for="sans-lampadaires" class="sans-lampadaires form-check-label">Non</label>
</div>
</div>
</div>
<?php endif; ?>
 
<div class="">
<label for="commentaires" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
</div>
</div>
<!-- Bouton création d'une obs -->
<div class="col-sm-8 mb-3">
<div title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre.">
<a href="" id="soumettre-releve" class="charger-carto btn btn-primary">Enregistrer</a>
</div>
</div>
</div>
</div>
</form><!-- fin zone relevé -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: mauvaise géolocalisation</h4>
<p>Certaines informations de géolocalisation n'ont pas été transmises.</p>
</div>
<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: Relevé dupliqué</h4>
<p>
Un releve existe dejà à cette date, pour cette rue.<br>
Si vous souhaitez dupliquer le relevé, veuillez actionner le bouton "Reprendre un précédent relevé" de la rubique "observateur",<br>puis choisir dans le tableau le relevé à dupliquer et entrer la date de votre nouvelle observation
</p>
</div>
</div>
<?php endif; ?>
 
<?php $chaine_sq_singulier = substr($squelette, 0, -1);?>
<div id="zone-<?php echo $squelette;?>" class="bloc-top <?php if ('arbres' === $squelette) echo 'hidden';?>">
<h2 class="mb-3">Saisie des <?php echo $squelette;?> du relevé</h2>
<?php if ('arbres' === $squelette ) : ?>
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<a href="" id="bouton-saisir-plantes" class="btn btn-info mb-3 hidden" data-load="plantes">
<i class="fas fa-seedling"></i>&nbsp;Saisir les plantes
</a>
<?php endif; ?>
<?php if ('tb_streets' !== $widget['projet']) : ?>
<a href="" id="bouton-saisir-lichens" class="btn btn-info mb-3 hidden" data-load="lichens">
<i class="far fa-snowflake"></i>&nbsp;Saisir les lichens
</a>
<?php endif; ?>
<?php else : ?>
<a href="" id="bouton-poursuivre" class="btn btn-success hidden mb-3" data-load="<?php echo $squelette;?>">
<i class="far fa-plus-square"></i>&nbsp;Ajouter des <?php echo $squelette;?>
</a>
<?php endif; ?>
<div class="row">
<div id="bloc-gauche" class="col-md-6">
<div id="bloc-form-<?php echo $squelette;?>" class="">
<?php if ('arbres' === $squelette ) : ?>
<div id="arbres-info" class="text-justify">
<p>
Vous devez saisir <span class="font-weight-bold">entre <?php echo ('tb_lichensgo' === $widget['projet']) ? '1 et 3' : '5 et 10'; ?> arbres</span>
</p>
</div>
<?php endif; ?>
<form id="form-<?php echo $squelette;?>" role="form" autocomplete="off">
<?php if ('arbres' === $squelette ) : ?>
<h3 class="mb-3">Arbre&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
<?php else : ?>
<div class="control-group">
<label for="choisir-arbre" class="col-sm-8 obligatoire" title="Au pied de quel arbre du relevé ce<?php echo ('lichens' === $squelette) ? " $chaine_sq_singulier a-t-il été observé" : "tte $chaine_sq_singulier a-t-elle été observée";?> ?">
<i class="fas fa-tree" aria-hidden="true"></i>&nbsp;Arbre
</label>
<div class="col-sm-8 mb-3">
<select id="choisir-arbre" name="choisir-arbre" class="choisir-arbre form-control custom-select has-tooltip" data-toggle="tooltip" title="Au pied de quel arbre du relevé ce<?php echo ('lichens' === $squelette) ? " $chaine_sq_singulier a-t-il été observé" : "tte $chaine_sq_singulier a-t-elle été observée";?> ?" required>
<option value="" selected hidden>...Arbre numéro...</option>
</select>
</div>
</div>
 
<div class="control-group">
<label for="obs-date" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;Date
</label>
<div class="col-sm-8 mb-3">
<input type="date" id="obs-date" name="obs-date" class="form-control" max="" placeholder="jj/mm/aaaa" required>
</div>
</div>
<?php endif; ?>
 
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
 
<!-- Bloc-taxon -->
<div id="bloc-taxon" class="control-group">
<label <?php echo ('arbres' !== $squelette ) ? 'for="taxon-liste"' : 'id="taxon-autocomplete-label" for="taxon"';?> class="col-sm-8 obligatoire" title="">
<i class="fa fa-leaf" aria-hidden="true"></i>&nbsp;Espèce (<?php echo $widget['referentiel']; ?>)
</label>
 
<?php if ('arbres' === $squelette ) : ?>
 
<div class="col-sm-8 mb-3">
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="Saisir le taxon observé, en utilisant l’autocomplétion autant que possible" required autocomplete="off">
</div>
</div><!-- fin bloc-taxon -->
 
<?php else : ?>
<!-- bloc-taxon "if('arbres' !== $squelette)" -->
<div class="col-sm-8 mb-3">
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="Choisir dans la liste le taxon observé, ou choisir &quot;autre&quot; et saisir le taxon observé, en utilisant l&apos;autocomplétion autant que possible.">
<option class="choisir" value="inconnue" selected hidden>...Choisir...</option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo ( 'plantes' === $squelette) ? $taxon['nom_fr'] : $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre">Autre espèce</option>
</select>
<span for="taxon-liste" class="error" style="display: none;">
Une observation doit comporter au moins une image ou un nom d'espèce
</span>
<input id="taxon" name="taxon" type="hidden" />
</div>
</div><!-- fin bloc-taxon -->
<!-- input text pour l'option "autre" espèce -->
<div id="taxon-input-groupe" class="control-group hidden">
<label id="taxon-autocomplete-label" for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>&nbsp;Autre espèce
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="Saisir le taxon observé, en utilisant l&apos;autocomplétion autant que possible.">
</div>
</div>
 
<?php endif; ?>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>&nbsp;Certitude
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select" required>
<option class="choisir" hidden value="" selected>...Choisir...</option>
<option class="aDeterminer" value="à determiner">À déterminer</option>
<option class="douteux" value="douteux">Douteuse</option>
<option class="certain" value="certain">Certaine</option>
</select>
</div>
</div>
<?php if ('lichens' === $squelette ) : ?>
<div class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire" title="À partir de la grille d&apos;observation, repérer où sont placés les lichens sur le tronc (bas à 1m du sol). Voir le tutoriel.">
<i class="fas fa-cube" aria-hidden="true"></i>&nbsp;Localisation sur le tronc
</div>
<table class="table col-sm-8">
<thead>
<tr>
<th scope="col">Face :</th>
<th scope="col">Nord</th>
<th scope="col">Sud</th>
<th scope="col">Est</th>
<th scope="col">Ouest</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Toute la hauteur</th>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="n" id="lichens-tronc-all-n" value="n1;n2;n3;n4;n5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="s" id="lichens-tronc-all-s" value="s1;s2;s3;s4;s5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="e" id="lichens-tronc-all-e" value="e1;e2;e3;e4;e5"></td>
<td><input type="checkbox" name="lichens-tronc" class="lichens-tronc-all" data-face="o" id="lichens-tronc-all-o" value="o1;o2;o3;o4;o5"></td>
</tr>
<tr>
<th scope="row">1 (haut)</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n1" value="n1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s1" value="s1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e1" value="e1"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o1" value="o1"></td>
</tr>
<tr>
<th scope="row">2</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n2" value="n2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s2" value="s2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e2" value="e2"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o2" value="o2"></td>
</tr>
<tr>
<th scope="row">3</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n3" value="n3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s3" value="s3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e3" value="e3"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o3" value="o3"></td>
</tr>
<tr>
<th scope="row">4</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n4" value="n4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s4" value="s4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e4" value="e4"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o4" value="o4"></td>
</tr>
<tr>
<th scope="row">5 (bas)</th>
<td><input type="checkbox" name="lichens-tronc" data-face="n" id="lichens-tronc-n5" value="n5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="s" id="lichens-tronc-s5" value="s5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="e" id="lichens-tronc-e5" value="e5"></td>
<td><input type="checkbox" name="lichens-tronc" data-face="o" id="lichens-tronc-o5" value="o5"></td>
</tr>
</tbody>
</table>
</div>
<?php endif; ?>
<?php if ('arbres' === $squelette ) : ?>
<div class="">
<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="Localisation du relevé.">
<i class="fa fa-map-marked-alt " aria-hidden="true"></i>&nbsp;Localiser l'arbre
</label>
<div class="control-group">
<div id="geoloc-datas-arbres" class="hidden">
<div class="mt-3">
<label class="col-sm-8" for="rue-arbres">Rue</label>
<div class="col-sm-8">
<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
</div>
</div>
<input type="hidden" id="geometry-arbres" name="geometry-arbres" class="geometry-arbres" value="" style="display:none">
<div class="row pl-3 pr-3 mt-3">
<div class="d-flex flex-column col-sm-4">
<label class="" for="latitude-arbres">Latitude</label>
<div class="">
<input type="text" class="form-control latitude-arbres" disabled id="latitude-arbres" name="latitude-arbres" value="">
</div>
</div>
<div class="d-flex flex-column col-sm-4">
<label class="" for="longitude-arbres">Longitude</label>
<div class="">
<input type="text" class="form-control longitude-arbres" disabled id="longitude-arbres" name="longitude-arbres" value="">
</div>
</div>
</div>
<input type="hidden" id="altitude-arbres" name="altitude-arbres" class="" value="" style="display:none">
</div>
<div id="geoloc-arbres" class="col-sm-8"></div>
</div>
</div>
<?php else : ?>
<div class="">
<label for="commentaire" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="commentaire" class="col-md-12" rows="7" name="commentaire"></textarea>
</div>
</div>
<?php endif; ?>
</form>
<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<div class="col-sm-8 mb-2 list-label and-help">
<?php
$texte_photo = '';
if( 'lichens' !== $squelette ) $texte_photo = 't';
if( 'plantes' === $squelette ) $texte_photo .= 'te';
$texte_photo .= " $chaine_sq_singulier";
?>
<i class="fa fa-images" aria-hidden="true"></i>&nbsp;Photo(s) de ce<?php echo $texte_photo;?>
</div>
<p id="miniature-info" class="col-sm-8">
Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacune.<br>
En fonction de sa taille sur le disque le téléchargement d'une photo peut être long.<br>
Pendant ce temps l'envoi de l'observation sera interrompu.<br>
Vous pouvez l'annuler en cliquant sur le bouton supprimer de la photo en cours de téléchargement.
</p>
<div id ="photos-conteneur" class="control-group col-sm-12">
<div id="bouton-fichier">
<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="Photos au format JPEG, moins de 5Mo chacune.">
<span class="label-text"><i class="fas fa-download"></i>&nbsp;Ajouter une image</span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
<?php if ('arbres' === $squelette ) : ?>
<form id="form-arbre-fs" role="form" autocomplete="off">
<div class="control-group">
<label for="circonference" class="col-sm-8 obligatoire">
<i class="fa fa-circle-notch" aria-hidden="true"></i>&nbsp;Circonférence (cm)
</label>
<div class="col-sm-8 mb-3">
<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="Circonférence en cm, à 1m de hauteur" placeholder="Circonférence (cm)" step="1" min="1" required>
</div>
</div>
<?php if ('tb_lichensgo' !== $widget['projet']) : ?>
<div class="control-group">
<label for="surface-pied" class="col-sm-8 obligatoire">
<i class="fa fa-arrows-alt" aria-hidden="true"></i>&nbsp;Surface du pied (m²)
</label>
<div class="col-sm-8 mb-3">
<input id="surface-pied" type="number" name="surface-pied" class="form-control has-tooltip" data-toggle="tooltip" title="Surface du pied d&apos;arbre en m² (évaluée ou mesurée avec un mètre)" placeholder="Surface du pied (m²)" step="0.01" min="0" lang="en"required>
</div>
</div>
<div class="control-group">
<label for="equipement-pied-arbre" class="col-sm-8 obligatoire">
<i class="fa fa-dot-circle" aria-hidden="true"></i>&nbsp;Equipement au pied de l'arbre
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="equipement-pied-arbre" name="equipement-pied-arbre" class="equipement-pied-arbre select form-control custom-select" data-label="Equipement au pied de l&apos;arbre" data-name="equipement-pied-arbre" required>
<option class="choisir" selected value="" data-name="equipement-pied-arbre" hidden>...Choisir...</option>
<option value="plaque de metal" data-name="equipement-pied-arbre">Plaque de métal</option>
<option value="grille" data-name="equipement-pied-arbre">Grille</option>
<option value="ciment" data-name="equipement-pied-arbre">Ciment</option>
<option value="gomme" data-name="equipement-pied-arbre">Gomme</option>
<option value="absent" data-name="equipement-pied-arbre">Absent</option>
<option class="other form-control is-select" value="other" data-name="equipement-pied-arbre" data-element="select">Autre</option>
</select>
</div>
<span class="error hidden">Ce champ est obligatoire.</span>
</div>
</div>
<div class="">
<label for="tassement" class="col-sm-8">
<i class="fas fa-sort-amount-down" aria-hidden="true"></i>&nbsp;Tassement
</label>
<div class="col-sm-8 mb-3">
<select id="tassement" name="tassement" class="tassement form-control custom-select has-tooltip" data-toggle="tooltip" title="Évaluer le tassement du sol à l&apos;aide d'un crayon que vous enfoncez verticalement dans le sol.">
<option class="choisir" selected value="" hidden>...Choisir...</option>
<option value="dur">Dur (le crayon ne s&apos;enfonce pas du tout)</option>
<option value="normal">Normal (le crayon s&apos;enfonce difficilement)</option>
<option value="mou">Mou (le crayon s&apos;enfonce facilement)</option>
</select>
</div>
</div>
<div class="">
<div class="col-sm-8 mb-2 list-label">
<i class="fa fa-dog" aria-hidden="true"></i>&nbsp;Présence de déjection(s)
</div>
<div id="dejections" class="col-sm-8 mb-3 list">
<div class="form-check form-check-inline">
<input type="radio" id="dejections-oui" name="dejections" class="dejections-oui form-check-input" value="true">
<label for="dejections-oui" class="dejections-oui form-check-label">Oui</label>
</div>
<div class="form-check form-check-inline">
<input type="radio" id="dejections-non" name="dejections" class="dejections-non form-check-input" value="false">
<label for="dejections-non" class="dejections-non form-check-label">Non</label>
</div>
</div>
</div>
<?php endif; ?>
 
<?php if ('tb_streets' !== $widget['projet']) : ?>
<div id="face-ombre" class="control-group">
<div class="col-sm-8 mb-2 list-label obligatoire">
<i class="far fa-compass" aria-hidden="true"></i>&nbsp;Une ou plusieurs faces sont-elles à l'ombre la plupart du temps? Si oui, notez lesquelles&nbsp;:
</div>
<div class="col-sm-8 mb-3 has-tooltip list" data-toggle="tooltip" title="Si vous estimez que le tronc est souvent à l&apos;ombre (à cause de bâtiments ou du feuillage par exemple), notez la ou les faces ombragées." required>
<div class="form-check form-check-inline">
<input type="checkbox" id="nord" name="face-ombre" class="nord form-check-input" value="nord">
<label for="nord" class="nord form-check-label">Nord</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="sud" name="face-ombre" class="sud form-check-input" value="sud">
<label for="sud" class="sud form-check-label">Sud</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="est" name="face-ombre" class="est form-check-input" value="est">
<label for="est" class="est form-check-label">Est</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="ouest" name="face-ombre" class="ouest form-check-input" value="ouest">
<label for="ouest" class="ouest form-check-label">Ouest</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" id="aucune" name="face-ombre" class="ouest form-check-input" value="aucune">
<label for="aucune" class="aucune form-check-label">Aucune</label>
</div>
</div>
</div>
<?php endif; ?>
 
<div class="">
<label for="com-arbres" class="col-sm-8" title="">
<i class="fa fa-pen" aria-hidden="true"></i>&nbsp;Commentaires
</label>
<div class="col-sm-8 mb-3">
<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
</div>
</div>
</form>
 
<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un(e) <?php $chaine_sq_singulier; ?>-->
<div class="col-sm-8 mb-3">
<button id="retour" class="btn btn-info has-tooltip hidden mr-2 mb-2" data-toggle="tooltip" title="Retour à la saisie">
<i class="fas fa-undo-alt"></i>&nbsp;retour à la saisie
</button>
<?php else: ?>
<div class="col-sm-8 mb-3">
<?php endif; ?>
<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre.">
<i class="fas fa-step-forward"></i>&nbsp;Suivant
</button>
</div>
<?php if ('arbres' === $squelette ) : ?>
<div id="bloc-info-arbres">
<h3 id="bloc-info-arbres-title" class="m-3 hidden">Revisualiser le formulaire pour un arbre :</h3>
</div>
<?php endif; ?>
</div>
</div><!-- fin formulaire <?php echo $squelette;?> -->
<!-- zone résumé obs <?php echo $squelette;?> ( =zone de droite) -->
<div id="boc-droite" class="col-md-6 mb-3">
<!-- Messages d'erreur du formulaire -->
<div class="row">
<?php if ('arbres' !== $squelette ) : ?>
<?php if ('tb_lichensgo' !== $widget['projet'] && 'plantes' !== $squelette) : ?>
<a href="" id="bouton-saisir-plantes" class="btn btn-info mb-3" data-load="plantes">
<i class="fas fa-seedling"></i> Saisir les plantes
</a>
<?php endif; ?>
<?php if ('tb_streets' !== $widget['projet'] && 'lichens' !== $squelette) : ?>
<a href="" id="bouton-saisir-lichens" class="btn btn-info mb-3" data-load="lichens">
<i class="far fa-snowflake"></i>&nbsp;Saisir les lichens
</a>
<?php endif; ?>
<?php endif; ?>
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: 10 observations maximum</h4>
<p>
Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
</p>
</div>
<div id="message-chargement" class="alert alert-secondary alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Image en cours de chargement</h4>
<p>
La création de cette observation sera à nouveau disponible dès que l'image aura été chargée.<br/>
Vous pouvez annuler l'action en cliquant sur le bouton supprimer de la photo en cours de téléchargement.
</p>
</div>
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: champs en erreur</h4>
<p>
Certains champs du formulaire sont mal remplis.<br>
Veuillez vérifier vos données.
</p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: Observation incomplète</h4>
<p>
Une observation de <?php echo $chaine_sq_singulier;?> doit comporter au moins, un arbre, une date, et soit un nom d'espèce, soit une image
</p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="hidden">
<div id="bloc-controle-liste-obs" class="alert alert-info">
<h2 class="transmission-title"><strong>Observations à transmettre&nbsp;: <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">Enregistrer</button>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Attention&nbsp;: aucune observation</h4>
<p>
Veuillez saisir des observations pour les transmettre.
</p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: transmission des observations</h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Erreur&nbsp;: transmission des observations</h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 observations transmises</span>
</div>
</div>
<p id="chargement-txt">
Transfert des observations en cours...<br>
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observations à transférer.
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg">
Merci pour l'envoi de vos données.<br>
Vos observations ont bien été transmises.<br>
Elles sont désormais consultables à travers les différents outils de visualisation du réseau (<a href="https://www.tela-botanica.org/flore/">eFlore</a>, <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>, <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>, <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br>
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br>
Pour toute question n'hésitez pas à nous contacter à l'adresse suivante : apa@tela-botanica.org<br>
Ces données seront utilisées par des chercheurs de Sorbonne Université et du Museum National d'Histoire Naturelle.
</p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg">
Une erreur est survenue lors de la transmission d'une observation.<br>
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer et transmettre les suivantes.<br>
Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br>
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href="<?php echo $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>" target="_blank" onclick="javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' ); return false;">le formulaire de signalement d'erreurs</a>.
</p>
</div>
</div><!-- fin <?php echo $squelette;?> zone résumé obs ( =zone de droite ) -->
</div>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="text/javascript">
//<![CDATA[
var <?php echo $squelette;?>Prop = {
'sujet' : '<?php echo $squelette;?>',
// Mots-clés à ajouter aux images
'tagImg' : "<?php echo isset($widget['tag-img']) ? $widget['tag-img'] : ''; ?>",
// Mots-clés à ajouter aux observations
'tagObs' : "<?php echo isset($widget['tag-obs']) ? $widget['tag-obs'] : ''; ?>",
// Code du référentiel utilisé pour les nom scientifiques.
'nomSciReferentiel' : "<?php echo strtolower( $widget['referentiel'] ); ?>",
// Indication de la présence d'un référentiel imposé
'referentielImpose' : "<?php echo $referentiel_impose; ?>"
};
$( document ).ready( function() {
<?php echo $squelette;?> = new <?php echo ('arbres' === $squelette) ? 'ReleveASL' : 'PlantesEtLichensASL';?>(<?php echo $squelette;?>Prop,widgetProp);
<?php echo $squelette;?>.init();
 
// Fonctions de Style et Affichage des éléments "spéciaux"
utils.init();
});
//]]>
</script>
</div>
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/WidgetsSaisiesASL.js
New file
0,0 → 1,438
/**
* Constructeur WidgetsSaisiesASL par défaut
* S'applique au squelette apa.tpl.html
* Squelette de base d'apa streets et lg
*/
// ASL : APA, sTREETs, Lichen's Go!
function WidgetsSaisiesASL( proprietes ) {
if ( utils.valOk( proprietes ) ) {
this.urlWidgets = proprietes.urlWidgets;
this.projet = proprietes.projet;
this.idProjet = proprietes.idProjet;
this.tagsMotsCles = proprietes.tagsMotsCles;
this.mode = proprietes.mode;
this.langue = proprietes.langue;
this.serviceObsImgs = proprietes.serviceObsImgs;
this.serviceObsImgUrl = proprietes.serviceObsImgUrl;
this.serviceAnnuaireIdUrl = proprietes.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = proprietes.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = proprietes.serviceNomCommuneUrlAlt;
this.debug = proprietes.debug;
this.html5 = proprietes.html5;
this.serviceSaisieUrl = proprietes.serviceSaisieUrl;
this.serviceObsUrl = proprietes.serviceObsUrl;
this.chargementImageIconeUrl = proprietes.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = proprietes.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = proprietes.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = proprietes.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = proprietes.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = proprietes.dureeMessage;
this.obsMaxNbre = proprietes.obsMaxNbre;
this.msgs = utils.msgs;
}
this.urlRacine = window.location.origin;
this.isASL = true;
this.nbObsEnCours = 1;
this.obsNbre = 0;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.nomSciReferentiel = null;
this.referentielImpose = null;
this.releveDatas = null;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.sujet = null;
this.isTaxonListe = false;
}
WidgetsSaisiesASL.prototype = new WidgetsSaisiesCommun();
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetsSaisiesASL.prototype.initForm = function() {
this.initFormConnection();
};
 
WidgetsSaisiesASL.prototype.initEvts = function() {
const lthis = this;
// initialisation des fonctions connexion utilisateur
this.initEvtsConnection();
// chargement plantes ou lichens
if ( this.valOk( $( '.charger-releve' ) ) ) {
var btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data n'est pas modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm, false );
}
};
 
WidgetsSaisiesASL.prototype.determinerBtnsChargementForm = function( typeSelecteur, ajouterBtnPoursuivre = false ) {
var complement = '',
selecteurDefault = '',
separateur = ',';
 
if ( '#' === typeSelecteur ) {
if ( ajouterBtnPoursuivre ) {
selecteurDefault = 'poursuivre';
}
typeSelecteur += 'bouton-';
} else if ( '.' === typeSelecteur ) {
selecteurDefault = 'charger-releve';
complement = separateur + typeSelecteur;
}
switch( this.projet ) {
case 'tb_streets':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-plantes';
}
break;
case 'tb_lichensgo':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-lichens';
}
break;
case 'tb_aupresdemonarbre':
default:
separateur += typeSelecteur;
if ( ajouterBtnPoursuivre) {
complement = separateur;
}
complement += 'saisir-plantes' + separateur + 'saisir-lichens';
break;
}
return typeSelecteur + selecteurDefault + complement;
};
 
WidgetsSaisiesASL.prototype.btnsChargerForm = function( btn, modifierReleveData = true, dansRelevesUtilisateur = true ) {
const lthis = this;
var bloc = ( dansRelevesUtilisateur ) ? '#releves-utilisateur' : '#charger-form';
 
$( btn, bloc ).off().on( 'click', function( event ) {
event.preventDefault();
 
var thisWidgetObs = ( lthis.valOk( $( '#' + lthis.projet + '-obs' ).val() ) ) ? $.parseJSON( $( '#' + lthis.projet + '-obs' ).val() ) : [];
var nomSquelette = $( this ).data( 'load' ),
releveDatas = '';
 
$( '#charger-form' ).data( 'load', nomSquelette );
if ( modifierReleveData ) {
if ( '#bouton-nouveau-releve' !== btn ) {
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
if ( lthis.valOk( thisWidgetObs ) ) {
releveDatas = JSON.stringify( thisWidgetObs[ $( this ).data( 'releve' ) ] );
}
} else {
$( btn ).addClass( 'hidden' );
}
$( '#releve-data' ).val( releveDatas );
}
lthis.chargerForm( nomSquelette, lthis );
if ( lthis.valOk( thisWidgetObs ) ) {
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
WidgetsSaisiesASL.prototype.chargerForm = function( nomSquelette, formObj ) {
const lthis = this;
 
var urlSquelette = this.urlWidgets + 'saisie2?projet=' + this.projet + '&squelette=' + nomSquelette;
 
$.ajax({
url: urlSquelette,
type: 'get',
success: function( squelette ) {
if ( lthis.valOk( squelette ) ) {
formObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
// Préchargement des infos-obs ************************************************/
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetsSaisiesASL.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
if ( this.valOk( this.sujet ) ) {
this.reinitialiserWidget( squelette );
} else {
this.chargerObsUtilisateur( squelette );
}
break;
}
};
 
WidgetsSaisiesASL.prototype.chargerFormPlantesOuLichens = function( squelette, nomSquelette ) {
if ( this.valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
this.confirmerSortie();
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( var i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
this.scrollFormTop( '#zone-' + nomSquelette );
}
};
 
WidgetsSaisiesASL.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
if ( this.valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetsSaisiesASL.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this;
var tagsMotsCles = this.tagsMotsCles.split( ',' ),
reprereAjoutTags = tagsMotsCles.length - 1,
queryStringMotsCles = '';
 
$.each( tagsMotsCles , function( i, tag ) {
queryStringMotsCles += 'mots_cles=' + tagsMotsCles[i];
if ( i < reprereAjoutTags ) {
queryStringMotsCles += '&';
}
});
 
const urlObs =
$( 'body' ).data( 'obs-list' ) + '/'+
$( '#id_utilisateur' ).val() + '?' + queryStringMotsCles;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !lthis.valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
lthis.activerModale( lthis.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetsSaisiesASL.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
 
if ( this.valOk( dataObs ) ) {
var projetObs = [],
datRuComun = [],
obsArbres = [],
projetObsE = {},
count = 0,
tagsMotsCles = this.tagsMotsCles.split( ',' );
 
$.each( dataObs, function( i, obs ) {
if (
new RegExp( tagsMotsCles[0] ).test( obs.mots_cles_texte ) &&
new RegExp( tagsMotsCles[1] ).test( obs.mots_cles_texte ) &&
!/(:?plantes|lichens(?!go))/.test( obs.mots_cles_texte )
) {
if ( lthis.valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
projetObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + projetObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + projetObsE.rue + obs.zone_geo );
projetObs[count] = lthis.formaterReleveData( { 'obs':obs, 'obsE':projetObsE } );
count++;
}
obsArbres.push( lthis.formaterArbreData( { 'obs':obs, 'obsE':projetObsE } ) );
projetObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( var indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
projetObs[indexReleve].push( arbre );
}
}
});
if ( this.valOk( projetObs ) ) {
this.prechargerLesObs( projetObs );
$( '#' + this.projet + '-obs' ).val( JSON.stringify( projetObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
WidgetsSaisiesASL.prototype.formaterReleveData = function( releveDatas ) {
var releve = [],
obs = releveDatas.obs,
obsE = releveDatas.obsE;
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
'geometry-releve' : obsE['geometry-releve'],
'latitude-releve' : obsE['latitude-releve'],
'longitude-releve' : obsE['longitude-releve'],
'altitude-releve' : obsE['altitude-releve'],
commentaires : obs.commentaire
};
if ( 'tb_lichensgo' !== this.projet ) {
releve[0]['zone-pietonne'] = obsE['zone-pietonne'];
releve[0]['pres-lampadaires'] = obsE['pres-lampadaires'];
}
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
WidgetsSaisiesASL.prototype.formaterArbreData = function( arbresDatas ) {
var retour = {},
obs = arbresDatas.obs,
obsE = arbresDatas.obsE,
miniatureImg = [];
if( this.valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( this.valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'geometry-arbres' : obs['geometry'],
'latitude-arbres' : obs['latitude'],
'longitude-arbres' : obs['longitude'],
'altitude-arbres' : obs['altitude'],
'circonference' : obsE.circonference,
'com-arbres' : obsE['com-arbres']
};
if ( 'tb_lichensgo' !== this.projet ) {
retour['surface-pied'] = obsE['surface-pied'];
retour['equipement-pied-arbre'] = obsE['equipement-pied-arbre'];
retour['tassement'] = obsE.tassement;
retour['dejections'] = obsE.dejections;
}
if ( 'tb_streets' !== this.projet ) {
retour['face-ombre'] = obsE['face-ombre'];
}
return retour;
};
 
WidgetsSaisiesASL.prototype.prechargerLesObs = function( thisWidgetObs ) {
const lthis = this;
const $listReleve = $( '#list-releves' );
const TEXT_ARBRE = ' ' + this.msgTraduction( 'arbre' ).toLowerCase();
 
var nbArbres = '',
texteArbre = '',
releveHtml = '';
 
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
function boutonsChargerReleve( lthis, squelette, indice ) {
var boutonLichens =
'<a href="" class="saisir-lichens btn btn-sm btn-info" data-releve="' + indice + '" data-load="lichens">'+
'<i class="far fa-snowflake"></i> ' + lthis.msgTraduction( 'saisir-lichens' )+
'</a> ',
boutonPlantes =
'<a href="" class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + indice + '" data-load="plantes">'+
'<i class="fas fa-seedling"></i> ' + lthis.msgTraduction( 'saisir-plantes' )+
'</a> ';
 
switch( squelette ) {
case 'tb_streets':
return boutonPlantes;
case 'tb_lichensgo' :
return boutonLichens;
case 'tb_aupresdemonarbre' :
default :
return boutonPlantes + boutonLichens;
}
return '';
}
$.each( thisWidgetObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<a href="" class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.msgTraduction( 'dupliquer' )+
'</a> '+
boutonsChargerReleve( lthis, lthis.projet, i ) +
'</td>'+
'</tr>';
});
$listReleve.append( releveHtml );
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( thisWidgetObs.length );
};
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/Utils.js
New file
0,0 → 1,442
"use strict";
 
function Utils(){
this.cheminFichiers = $( '#zone-appli' ).data( 'url-fichiers' );
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-plantes' : 'Saisir les plantes',
'saisir-lichens' : 'Saisir les lichens',
'upload-non-suppote' : 'Votre navigateur ne permet pas le téléchargement de fichiers.',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'confirmation-suppression' : 'Êtes-vous sûr de vouloir supprimer cette observation',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'taxon-ou-image' : 'Veuillez transmettre au moins, soit une image, soit une espèce',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.',
'courriel-connu' : 'Un compte existe pour ce courriel, connectez-vous pour saisir votre observation'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-plantes' : 'Enter the plants',
'saisir-lichens' : 'Enter the lichens',
'upload-non-suppote' : 'Your browser does not support file upload.',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'confirmation-suppression' : 'Are you sure you want to delete this observation',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'taxon-ou-image' : 'Please transmit at least one image or one species',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.',
'courriel-connu' : 'An account exists for this email, log in to enter your observation'
}
};
};
 
var lthis = Utils.prototype;
 
Utils.prototype.init = function() {
// Modale "aide" du projet
this.projetHelpModale();
// Affichage input file
this.inputFile();
// Affichage des List-checkbox
this.inputListCheckbox();
// Affichage des Range
this.inputRangeDisplayNumber()
// Modale "aide"
this.newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
this.onOtherOption();
// Récupérer les données entrées dans "Autre"
this.collectOtherOption();
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
Utils.prototype.valOk = function (valeur, sensComparaison = true, comparer = undefined ) {
var retour = true;
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
var resultComparaison = ( comparer === valeur );
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
 
} else {
// Un booléen est une valeur valable
return true;
}
};
 
/*************************************
* Fonctions de Style et Affichage *
* des éléments "spéciaux" *
*************************************/
 
// Logique d'affichage pour le input type=file
Utils.prototype.inputFile = function() {
// Initialisation des variables
var $fileInput = $( '.input-file' ),
$button = $( '.label-file' );
 
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#formulaire' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
};
 
// Style et affichage des list-checkboxes
Utils.prototype.inputListCheckbox = function() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
var target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
var $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( var i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
var $otherListCheckboxes = $( '.checkboxes' )[i];
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
};
 
// Style et affichage des input type="range"
Utils.prototype.inputRangeDisplayNumber = function() {
$( 'input[type="range"]' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
var $this = $( this );
 
$this.text( '' );
});
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.newFieldsHelpModal = function() {
const lthis = this;
 
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
var thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' ),
label = 'Aide pour : ' + $( this ).data( 'name' );
 
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + thisFieldKey + '.' + extention + '" style="" alt="' + thisFieldKey + '" />';
}
lthis.activerModale( label, content );
});
};
 
// aide dans le titre du projet
Utils.prototype.projetHelpModale = function() {
const lthis = this;
 
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
var fileMimeType = $( this ).data( 'mime-info' ),
label = 'Aide du projet : ' + $( '#titre-projet' ).text();
 
if( fileMimeType.match( 'image' ) ) {
var extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + 'info.' + extention + '" style="" alt="info projet" />';
}
lthis.activerModale( label, content );
});
};
 
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.activerModale = function( label, content = '', buttons = [] ) {
var dismiss = '',
buttonsHtmlBase = '<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>',
buttonsHtml = buttonsHtmlBase;
 
// Titre
$( '#fenetre-modal-label' ).text( label );
if ( '' !== content ) {
$( '#print_content' ).append( content );
}
// Sortie avec la touche escape
$( '#fenetre-modal' ).modal( { keyboard : true } );
// Affichage
$( '#fenetre-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#fenetre-modal' ).off( 'shown.bs.modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
if( lthis.valOk( $( '#modale-aide-img' ) ) ) {
lthis.redimentionnerImgAide();
$( window ).on( 'resize', lthis.redimentionnerImgAide.bind( lthis ) );
}
});
if ( this.valOk( buttons ) ) {
buttonsHtml = '';
$.each( buttons, function( i, button ) {
dismiss = button.dismiss ? 'data-dismiss="modal"' : '';
buttonsHtml += '<button type="button" class="btn ' + button.class + '" ' + dismiss + '>' + button.label + '</button>';
});
}
$( '.modal-footer' ).html( buttonsHtml );
// Réinitialisation
$( '#fenetre-modal' ).on( 'hidden.bs.modal' , function () {
$( '#confirm-modal-label' ).text();
$( '#print_content' ).empty();
$( '.modal-footer' ).html( buttonsHtmlBase );
});
};
 
Utils.prototype.redimentionnerImgAide = function() {
var espHorizDisp = $( '.modal-dialog' ).innerWidth() <= 1200 ? $( '.modal-dialog' ).innerWidth() - 30 : 1200,
cssImg = {
'width': espHorizDisp,
'height' : 'auto'
};
 
$( '#modale-aide-img' ).css(cssImg).show(50);
};
 
// Faire apparaitre un champ text "Autre"
Utils.prototype.onOtherOption = function() {
const PREFIX = 'collect-other-';
 
// Ajouter un champ texte pour "Autre"
function optionAdd( otherId, $target, element, dataName, dataLabel ) {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option "' + dataLabel.toLowerCase() + '" :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
}
 
// Supprimer un champ texte pour "Autre"
function optionRemove( otherId ) {
$( '#' + otherId ).closest('.control-group').remove();
}
 
$( '.other', '#formulaire' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
dataLabel = $( '.select' ).data( 'label' );
 
// Insertion du champ "Autre" après les boutons
if ( !lthis.valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else if ( $( this ).is( ':checked' ) ) {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' ),
dataLabel = $( this ).data( 'label' );
 
// Insertion du champ "Autre" après les boutons
if ( !lthis.valOk( $( '#'+ otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
}
});
 
$( '#formulaire' ).on( 'change', '.select', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
dataLabel = $( this ).data( 'label' );
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !lthis.valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'change', 'input[type=radio]', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
dataLabel = $( this ).data( 'label' );
 
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !lthis.valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
var dataName = $( this ).data( 'name' ),
otherId = PREFIX + dataName,
element = $( this ).data( 'element' ),
dataLabel = $( this ).data( 'label' );
 
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
if ( !lthis.valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
};
 
Utils.prototype.collectOtherOption = function() {
$( '#formulaire' ).on( 'change', '.collect-other', function () {
var otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' );
var element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
};
 
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/index.html
New file
0,0 → 1,52
<!doctype html>
<html lang="">
 
<head>
<base href=".">
<meta charset="utf-8">
<title>TB Geolocation</title>
<link rel="stylesheet" href="./styles.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
 
<body>
<script src="./tb-geoloc-lib-app.js"></script>
<tb-geolocation-element
id="tb-geolocation"
layer='opentopomap'
zoom_init="4"
lat_init="46.5"
lng_init="2.9"
marker="true"
polyline="false"
polygon="false"
show_lat_lng_elevation_inputs="false"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
<form style="display:inline-flex;flex-direction:row;margin:5px;padding:5px;justify-content:space-between;width:80%;border:2px solid grey;">
<input id="locality" type="text" placeholder="locality">
<input id="postcode" type="text" placeholder="postcode">
<input id="latitude" type="text" placeholder="latitude">
<input id="longitude" type="text" placeholder="longitude">
<input id="altitude" type="text" placeholder="altitude">
</form>
<script>
var tbGeolocation = document.getElementById('tb-geolocation');
tbGeolocation.addEventListener("location", function(location) {
console.log(location.detail);
document.getElementById('locality').value = location.detail.locality;
document.getElementById('postcode').value = location.detail.osmPostcode;
document.getElementById('latitude').value = location.detail.geometry.coordinates[1];
document.getElementById('longitude').value = location.detail.geometry.coordinates[0];
document.getElementById('altitude').value = location.detail.elevation;
});
</script>
 
</body>
 
</html>
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/styles.css
New file
0,0 → 1,0
.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.mat-badge-small .mat-badge-content{outline:solid 1px;border-radius:0}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-accent .mat-badge-content{background:#ffd740;color:rgba(0,0,0,.87)}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{color:#fff;background:#673ab7;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary .mat-ripple-element,.mat-icon-button.mat-primary .mat-ripple-element,.mat-stroked-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element,.mat-icon-button.mat-accent .mat-ripple-element,.mat-stroked-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element,.mat-icon-button.mat-warn .mat-ripple-element,.mat-stroked-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff;background-color:#673ab7}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87);background-color:#ffd740}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff;background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media screen and (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}@media screen and (-ms-high-contrast:active){.mat-badge-large .mat-badge-content,.mat-badge-medium .mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#673ab7;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,215,64,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(0,0,0,.87)}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-toggle-active{color:#673ab7}.mat-datepicker-toggle-active.mat-accent{color:#ffd740}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#673ab7}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ffd740}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#673ab7}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#673ab7}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ffd740}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#673ab7}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ffd740}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-list .mat-list-item,.mat-list .mat-list-option,.mat-nav-list .mat-list-item,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-item,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-list-option.mat-list-item-focus,.mat-list-option:hover,.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#d1c4e9}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:#fff}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:#fff}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(0,0,0,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-focused:not(.cdk-mouse-focused):not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:#fff}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline:0;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container a.leaflet-active{outline:orange solid 2px}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:700 16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-.70710678, M22=.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3Csvg xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22 xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22 xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22 xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22 xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22 viewBox%3D%220 0 600 60%22 height%3D%2260%22 width%3D%22600%22 id%3D%22svg4225%22 version%3D%221.1%22 inkscape%3Aversion%3D%220.91 r13725%22 sodipodi%3Adocname%3D%22spritesheet.svg%22 inkscape%3Aexport-filename%3D%22%2Fhome%2Ffpuga%2Fdevelopment%2Fupstream%2Ficarto.Leaflet.draw%2Fsrc%2Fimages%2Fspritesheet-2x.png%22 inkscape%3Aexport-xdpi%3D%2290%22 inkscape%3Aexport-ydpi%3D%2290%22%3E %3Cmetadata id%3D%22metadata4258%22%3E %3Crdf%3ARDF%3E %3Ccc%3AWork rdf%3Aabout%3D%22%22%3E %3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E %3Cdc%3Atype rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22 %2F%3E %3Cdc%3Atitle %2F%3E %3C%2Fcc%3AWork%3E %3C%2Frdf%3ARDF%3E %3C%2Fmetadata%3E %3Cdefs id%3D%22defs4256%22 %2F%3E %3Csodipodi%3Anamedview pagecolor%3D%22%23ffffff%22 bordercolor%3D%22%23666666%22 borderopacity%3D%221%22 objecttolerance%3D%2210%22 gridtolerance%3D%2210%22 guidetolerance%3D%2210%22 inkscape%3Apageopacity%3D%220%22 inkscape%3Apageshadow%3D%222%22 inkscape%3Awindow-width%3D%221920%22 inkscape%3Awindow-height%3D%221056%22 id%3D%22namedview4254%22 showgrid%3D%22false%22 inkscape%3Azoom%3D%221.3101852%22 inkscape%3Acx%3D%22237.56928%22 inkscape%3Acy%3D%227.2419621%22 inkscape%3Awindow-x%3D%221920%22 inkscape%3Awindow-y%3D%2224%22 inkscape%3Awindow-maximized%3D%221%22 inkscape%3Acurrent-layer%3D%22svg4225%22 %2F%3E %3Cg id%3D%22enabled%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cg id%3D%22polyline%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 18%2C36 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4229%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 36%2C18 0%2C6 6%2C0 0%2C-6 -6%2C0 z m 4%2C4 -2%2C0 0%2C-2 2%2C0 0%2C2 z%22 id%3D%22path4231%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 23.142%2C39.145 -2.285%2C-2.29 16%2C-15.998 2.285%2C2.285 z%22 id%3D%22path4233%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cpath id%3D%22polygon%22 d%3D%22M 100%2C24.565 97.904%2C39.395 83.07%2C42 76%2C28.773 86.463%2C18 Z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22rectangle%22 d%3D%22m 140%2C20 20%2C0 0%2C20 -20%2C0 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22circle%22 d%3D%22m 221%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath id%3D%22marker%22 d%3D%22m 270%2C19 c -4.971%2C0 -9%2C4.029 -9%2C9 0%2C4.971 5.001%2C12 9%2C14 4.001%2C-2 9%2C-9.029 9%2C-14 0%2C-4.971 -4.029%2C-9 -9%2C-9 z m 0%2C12.5 c -2.484%2C0 -4.5%2C-2.014 -4.5%2C-4.5 0%2C-2.484 2.016%2C-4.5 4.5%2C-4.5 2.485%2C0 4.5%2C2.016 4.5%2C4.5 0%2C2.486 -2.015%2C4.5 -4.5%2C4.5 z%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cg id%3D%22edit%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 337%2C30.156 0%2C0.407 0%2C5.604 c 0%2C1.658 -1.344%2C3 -3%2C3 l -10%2C0 c -1.655%2C0 -3%2C-1.342 -3%2C-3 l 0%2C-10 c 0%2C-1.657 1.345%2C-3 3%2C-3 l 6.345%2C0 3.19%2C-3.17 -9.535%2C0 c -3.313%2C0 -6%2C2.687 -6%2C6 l 0%2C10 c 0%2C3.313 2.687%2C6 6%2C6 l 10%2C0 c 3.314%2C0 6%2C-2.687 6%2C-6 l 0%2C-8.809 -3%2C2.968%22 id%3D%22path4240%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.72%2C24.637 -8.892%2C8.892 -2.828%2C0 0%2C-2.829 8.89%2C-8.89 z%22 id%3D%22path4242%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 338.697%2C17.826 4%2C0 0%2C4 -4%2C0 z%22 transform%3D%22matrix(-0.70698336%2C-0.70723018%2C0.70723018%2C-0.70698336%2C567.55917%2C274.78273)%22 id%3D%22path4244%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3Cg id%3D%22remove%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22%3E %3Cpath d%3D%22m 381%2C42 18%2C0 0%2C-18 -18%2C0 0%2C18 z m 14%2C-16 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z m -4%2C0 2%2C0 0%2C14 -2%2C0 0%2C-14 z%22 id%3D%22path4247%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3Cpath d%3D%22m 395%2C20 0%2C-4 -10%2C0 0%2C4 -6%2C0 0%2C2 22%2C0 0%2C-2 -6%2C0 z m -2%2C0 -6%2C0 0%2C-2 6%2C0 0%2C2 z%22 id%3D%22path4249%22 inkscape%3Aconnector-curvature%3D%220%22 style%3D%22fill%3A%23464646%3Bfill-opacity%3A1%22 %2F%3E %3C%2Fg%3E %3C%2Fg%3E %3Cg id%3D%22disabled%22 transform%3D%22translate(120%2C0)%22 style%3D%22fill%3A%23bbbbbb%22%3E %3Cuse xlink%3Ahref%3D%22%23edit%22 id%3D%22edit-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3Cuse xlink%3Ahref%3D%22%23remove%22 id%3D%22remove-disabled%22 x%3D%220%22 y%3D%220%22 width%3D%22100%25%22 height%3D%22100%25%22 %2F%3E %3C%2Fg%3E %3Cpath style%3D%22fill%3Anone%3Bstroke%3A%23464646%3Bstroke-width%3A2%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A1%22 id%3D%22circle-3%22 d%3D%22m 581.65725%2C30 c 0%2C6.078 -4.926%2C11 -11%2C11 -6.074%2C0 -11%2C-4.922 -11%2C-11 0%2C-6.074 4.926%2C-11 11%2C-11 6.074%2C0 11%2C4.926 11%2C11 z%22 inkscape%3Aconnector-curvature%3D%220%22 %2F%3E%3C%2Fsvg%3E")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #aaa;color:#fff;font:11px/28px "Helvetica Neue",Arial,Helvetica,sans-serif;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-bottom a,.leaflet-draw-actions-top a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:rgba(0,0,0,.5);border:1px solid transparent;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid rgba(0,0,0,.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,.1);border:4px dashed rgba(254,87,161,.6);border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/.DS_Store
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/assets/.DS_Store
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/tb-geoloc/tb-geoloc-lib-app.js
New file
0,0 → 1,4
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+rLv":function(e,t,n){var r=n("dyZX").document;e.exports=r&&r.documentElement},"0/R4":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"0TWp":function(e,t,n){!function(e,t){t()}(0,function(){"use strict";!function(e){var t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function r(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");var o=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(o||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var i,a=function(){function t(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,t)}return t.assertZonePatched=function(){if(e.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(t,"root",{get:function(){for(var e=t.current;e.parent;)e=e.parent;return e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTask",{get:function(){return j},enumerable:!0,configurable:!0}),t.__load_patch=function(i,a){if(S.hasOwnProperty(i)){if(o)throw Error("Already loaded patch: "+i)}else if(!e["__Zone_disable_"+i]){var c="Zone:"+i;n(c),S[i]=a(e,t,D),r(c,c)}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.get=function(e){var t=this.getZoneWith(e);if(t)return t._properties[e]},t.prototype.getZoneWith=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null},t.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},t.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},t.prototype.run=function(e,t,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{P=P.parent}},t.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{P=P.parent}},t.prototype.runTask=function(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");if(e.state!==_||e.type!==O&&e.type!==x){var r=e.state!=b;r&&e._transitionTo(b,k),e.runCount++;var o=j;j=e,P={parent:P,zone:this};try{e.type==x&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{e.state!==_&&e.state!==T&&(e.type==O||e.data&&e.data.isPeriodic?r&&e._transitionTo(k,b):(e.runCount=0,this._updateTaskCount(e,-1),r&&e._transitionTo(_,b,_))),P=P.parent,j=o}}},t.prototype.scheduleTask=function(e){if(e.zone&&e.zone!==this)for(var t=this;t;){if(t===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);t=t.parent}e._transitionTo(m,_);var n=[];e._zoneDelegates=n,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(T,m,_),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===n&&this._updateTaskCount(e,1),e.state==m&&e._transitionTo(k,m),e},t.prototype.scheduleMicroTask=function(e,t,n,r){return this.scheduleTask(new s(E,e,t,n,r,void 0))},t.prototype.scheduleMacroTask=function(e,t,n,r,o){return this.scheduleTask(new s(x,e,t,n,r,o))},t.prototype.scheduleEventTask=function(e,t,n,r,o){return this.scheduleTask(new s(O,e,t,n,r,o))},t.prototype.cancelTask=function(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||g).name+"; Execution: "+this.name+")");e._transitionTo(w,k,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(T,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(_,w),e.runCount=0,e},t.prototype._updateTaskCount=function(e,t){var n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(var r=0;r<n.length;r++)n[r]._updateTaskCount(e.type,t)},t.__symbol__=C,t}(),c={name:"",onHasTask:function(e,t,n,r){return e.hasTask(n,r)},onScheduleTask:function(e,t,n,r){return e.scheduleTask(n,r)},onInvokeTask:function(e,t,n,r,o,i){return e.invokeTask(n,r,o,i)},onCancelTask:function(e,t,n,r){return e.cancelTask(n,r)}},u=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||t&&t._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new a(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)},e.prototype.scheduleTask=function(e,t){var n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");d(t)}return n},e.prototype.invokeTask=function(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n},e.prototype.hasTask=function(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})},e}(),s=function(){function t(n,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=n===O&&i&&i.useG?t.invokeTask:function(){return t.invokeTask.call(e,u,this,arguments)}}return t.invokeTask=function(e,t,n){e||(e=this),Z++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==Z&&y(),Z--}},Object.defineProperty(t.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),t.prototype.cancelScheduleRequest=function(){this._transitionTo(_,m)},t.prototype._transitionTo=function(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+t+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=e,e==_&&(this._zoneDelegates=null)},t.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},t.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},t}(),l=C("setTimeout"),f=C("Promise"),p=C("then"),h=[],v=!1;function d(t){if(0===Z&&0===h.length)if(i||e[f]&&(i=e[f].resolve(0)),i){var n=i[p];n||(n=i.then),n.call(i,y)}else e[l](y,0);t&&h.push(t)}function y(){if(!v){for(v=!0;h.length;){var e=h;h=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(e){D.onUnhandledError(e)}}}D.microtaskDrainDone(),v=!1}}var g={name:"NO ZONE"},_="notScheduled",m="scheduling",k="scheduled",b="running",w="canceling",T="unknown",E="microTask",x="macroTask",O="eventTask",S={},D={symbol:C,currentZoneFrame:function(){return P},onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:d,showUncaughtError:function(){return!a[C("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function(){return[]},patchOnProperties:z,patchMethod:function(){return z},bindArguments:function(){return[]},patchThen:function(){return z},setNativePromise:function(e){e&&"function"==typeof e.resolve&&(i=e.resolve(0))}},P={parent:null,zone:new a(null,null)},j=null,Z=0;function z(){}function C(e){return"__zone_symbol__"+e}r("Zone","Zone"),e.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);var e=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),l="__creationTrace__";r.onUnhandledError=function(e){if(r.showUncaughtError()){var t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},r.microtaskDrainDone=function(){for(;c.length;)for(var e=function(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(e){p(e)}};c.length;)e()};var f=a("unhandledPromiseRejectionHandler");function p(e){r.onUnhandledError(e);try{var t=n[f];t&&"function"==typeof t&&t.call(this,e)}catch(e){}}function h(e){return e&&e.then}function v(e){return e}function d(e){return M.reject(e)}var y=a("state"),g=a("value"),_=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),b="Promise.then",w=null,T=!0,E=!1,x=0;function O(e,t){return function(n){try{j(e,t,n)}catch(t){j(e,!1,t)}}}var S=function(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",P=a("currentTaskTrace");function j(e,t,o){var a=S();if(e===o)throw new TypeError(D);if(e[y]===w){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(t){return a(function(){j(e,!1,t)})(),e}if(t!==E&&o instanceof M&&o.hasOwnProperty(y)&&o.hasOwnProperty(g)&&o[y]!==w)z(o),j(e,o[y],o[g]);else if(t!==E&&"function"==typeof u)try{u.call(o,a(O(e,t)),a(O(e,!1)))}catch(t){a(function(){j(e,!1,t)})()}else{e[y]=t;var s=e[g];if(e[g]=o,e[_]===_&&t===T&&(e[y]=e[k],e[g]=e[m]),t===E&&o instanceof Error){var f=n.currentTask&&n.currentTask.data&&n.currentTask.data[l];f&&i(o,P,{configurable:!0,enumerable:!1,writable:!0,value:f})}for(var p=0;p<s.length;)C(e,s[p++],s[p++],s[p++],s[p++]);if(0==s.length&&t==E){e[y]=x;try{throw new Error("Uncaught (in promise): "+function(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||"")+": "+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(t){var h=t;h.rejection=o,h.promise=e,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}return e}var Z=a("rejectionHandledHandler");function z(e){if(e[y]===x){try{var t=n[Z];t&&"function"==typeof t&&t.call(this,{rejection:e[g],promise:e})}catch(e){}e[y]=E;for(var r=0;r<c.length;r++)e===c[r].promise&&c.splice(r,1)}}function C(e,t,n,r,o){z(e);var i=e[y],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;t.scheduleMicroTask(b,function(){try{var r=e[g],o=n&&_===n[_];o&&(n[m]=r,n[k]=i);var c=t.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);j(n,!0,c)}catch(e){j(n,!1,e)}},n)}var M=function(){function t(e){if(!(this instanceof t))throw new Error("Must be an instanceof Promise.");this[y]=w,this[g]=[];try{e&&e(O(this,T),O(this,E))}catch(e){j(this,!1,e)}}return t.toString=function(){return"function ZoneAwarePromise() { [native code] }"},t.resolve=function(e){return j(new this(null),T,e)},t.reject=function(e){return j(new this(null),E,e)},t.race=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t});function c(e){a&&(a=o(e))}function u(e){a&&(a=i(e))}try{for(var s=e(t),l=s.next();!l.done;l=s.next()){var f=l.value;h(f)||(f=this.resolve(f)),f.then(c,u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a},t.all=function(t){var n,r,o,i,a=new this(function(e,t){o=e,i=t}),c=2,u=0,s=[],l=function(e){h(e)||(e=f.resolve(e));var t=u;e.then(function(e){s[t]=e,0==--c&&o(s)},i),c++,u++},f=this;try{for(var p=e(t),v=p.next();!v.done;v=p.next())l(v.value)}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return 0==(c-=2)&&o(s),a},t.prototype.then=function(e,t){var r=new this.constructor(null),o=n.current;return this[y]==w?this[g].push(o,r,e,t):C(this,o,r,e,t),r},t.prototype.catch=function(e){return this.then(null,e)},t.prototype.finally=function(e){var t=new this.constructor(null);t[_]=_;var r=n.current;return this[y]==w?this[g].push(r,t,e,e):C(this,r,t,e,e),t},t}();M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;var I=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise"),R=o(t,"Promise");R&&!R.configurable||(R&&delete R.writable,R&&delete R.value,R||(R={configurable:!0,enumerable:!0}),R.get=function(){return t[F]?t[F]:t[u]},R.set=function(e){e===M?t[F]=e:(t[u]=e,e.prototype[s]||A(e),r.setNativePromise(e))},i(t,"Promise",R)),t.Promise=M;var L=a("thenPatched");function A(e){var t=e.prototype,n=o(t,"then");if(!n||!1!==n.writable&&n.configurable){var r=t.then;t[s]=r,e.prototype.then=function(e,t){var n=this;return new M(function(e,t){r.call(n,e,t)}).then(e,t)},e[L]=!0}}return r.patchThen=A,I&&A(I),Promise[n.__symbol__("uncaughtPromiseErrors")]=c,M}),Zone.__load_patch("fetch",function(e,t,n){var r=e.fetch,o=e.Promise,i=n.symbol("thenPatched"),a=n.symbol("fetchTaskScheduling"),c=n.symbol("fetchTaskAborting");if("function"==typeof r){var u=e.AbortController,s="function"==typeof u,l=null;s&&(e.AbortController=function(){var e=new u;return e.signal.abortController=e,e},l=n.patchMethod(u.prototype,"abort",function(e){return function(t,n){return t.task?t.task.zone.cancelTask(t.task):e.apply(t,n)}}));var f=function(){};e.fetch=function(){var e=this,u=Array.prototype.slice.call(arguments),p=u.length>1?u[1]:null,h=p&&p.signal;return new Promise(function(p,v){var d=t.current.scheduleMacroTask("fetch",f,u,function(){var c,s=t.current;try{s[a]=!0,c=r.apply(e,u)}catch(e){return void v(e)}finally{s[a]=!1}if(!(c instanceof o)){var l=c.constructor;l[i]||n.patchThen(l)}c.then(function(e){"notScheduled"!==d.state&&d.invoke(),p(e)},function(e){"notScheduled"!==d.state&&d.invoke(),v(e)})},function(){if(s)if(h&&h.abortController&&!h.aborted&&"function"==typeof h.abortController.abort&&l)try{t.current[c]=!0,l.call(h.abortController)}finally{t.current[c]=!1}else v("cancel fetch need a AbortController.signal");else v("No AbortController supported, can not cancel fetch")});h&&h.abortController&&(h.abortController.task=d)})}}});var t=Object.getOwnPropertyDescriptor,n=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",u=Zone.__symbol__(a),s=Zone.__symbol__(c),l="true",f="false",p="__zone_symbol__";function h(e,t){return Zone.current.wrap(e,t)}function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}var d=Zone.__symbol__,y="undefined"!=typeof window,g=y?window:void 0,_=y&&g||"object"==typeof self&&self||global,m="removeAttribute",k=[null];function b(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=h(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in _)&&void 0!==_.process&&"[object process]"==={}.toString.call(_.process),x=!E&&!T&&!(!y||!g.HTMLElement),O=void 0!==_.process&&"[object process]"==={}.toString.call(_.process)&&!T&&!(!y||!g.HTMLElement),S={},D=function(e){if(e=e||_.event){var t=S[e.type];t||(t=S[e.type]=d("ON_PROPERTY"+e.type));var n,r=this||e.target||_,o=r[t];return x&&r===g&&"error"===e.type?!0===(n=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():void 0==(n=o&&o.apply(this,arguments))||n||e.preventDefault(),n}};function P(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=d("on"+r+"patched");if(!e.hasOwnProperty(a)||!e[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=S[s];l||(l=S[s]=d("ON_PROPERTY"+s)),i.set=function(t){var n=this;n||e!==_||(n=_),n&&(n[l]&&n.removeEventListener(s,D),u&&u.apply(n,k),"function"==typeof t?(n[l]=t,n.addEventListener(s,D,!1)):n[l]=null)},i.get=function(){var t=this;if(t||e!==_||(t=_),!t)return null;var n=t[l];if(n)return n;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},n(e,r,i),e[a]=!0}}}function j(e,t,n){if(t)for(var r=0;r<t.length;r++)P(e,"on"+t[r],n);else{var o=[];for(var i in e)"on"==i.substr(0,2)&&o.push(i);for(var a=0;a<o.length;a++)P(e,o[a],n)}}var Z=d("originalInstance");function z(e){var t=_[e];if(t){_[d(e)]=t,_[e]=function(){var n=b(arguments,e);switch(n.length){case 0:this[Z]=new t;break;case 1:this[Z]=new t(n[0]);break;case 2:this[Z]=new t(n[0],n[1]);break;case 3:this[Z]=new t(n[0],n[1],n[2]);break;case 4:this[Z]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},I(_[e],t);var r,o=new t(function(){});for(r in o)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof o[t]?_[e].prototype[t]=function(){return this[Z][t].apply(this[Z],arguments)}:n(_[e].prototype,t,{set:function(n){"function"==typeof n?(this[Z][t]=h(n,e+"."+t),I(this[Z][t],n)):this[Z][t]=n},get:function(){return this[Z][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(_[e][r]=t[r])}}var C=!1;function M(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&(i=e);var a=d(n),c=null;if(i&&!(c=i[a])&&(c=i[a]=i[n],w(i&&t(i,n)))){var u=o(c,a,n);i[n]=function(){return u(this,arguments)},I(i[n],c),C&&function(e,t){"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){(!r||r.writable&&"function"==typeof r.set)&&(e[n]=t)},enumerable:!r||r.enumerable,configurable:!r||r.configurable})})}(c,i[n])}return c}function I(e,t){e[d("OriginalDelegate")]=t}var F=!1,R=!1;function L(){try{var e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}function A(){if(F)return R;F=!0;try{var e=g.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")&&-1===e.indexOf("Edge/")||(R=!0),R}catch(e){}}Zone.__load_patch("toString",function(e){var t=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?t.apply(this[n],arguments):Object.prototype.toString.call(i);if(this===Promise){var a=e[r];if(a)return t.apply(a,arguments)}if(this===Error){var c=e[o];if(c)return t.apply(c,arguments)}}return t.apply(this,arguments)};i[n]=t,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.apply(this,arguments)}});var q=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){q=!1}var H={useG:!0},W={},K={},U=/^__zone_symbol__(\w+)(true|false)$/,X="__zone_symbol__propagationStopped";function B(e,t,n){var o=n&&n.add||a,i=n&&n.rm||c,u=n&&n.listeners||"eventListeners",s=n&&n.rmAll||"removeAllListeners",h=d(o),v="."+o+":",y="prependListener",g="."+y+":",_=function(e,t,n){if(!e.isRemoved){var r=e.callback;"object"==typeof r&&r.handleEvent&&(e.callback=function(e){return r.handleEvent(e)},e.originalDelegate=r),e.invoke(e,t,[n]);var o=e.options;o&&"object"==typeof o&&o.once&&t[i].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,o)}},m=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][f]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}},k=function(t){if(t=t||e.event){var n=this||t.target||e,r=n[W[t.type][l]];if(r)if(1===r.length)_(r[0],n,t);else for(var o=r.slice(),i=0;i<o.length&&(!t||!0!==t[X]);i++)_(o[i],n,t)}};function b(t,n){if(!t)return!1;var a=!0;n&&void 0!==n.useG&&(a=n.useG);var c=n&&n.vh,_=!0;n&&void 0!==n.chkDup&&(_=n.chkDup);var b=!1;n&&void 0!==n.rt&&(b=n.rt);for(var w=t;w&&!w.hasOwnProperty(o);)w=r(w);if(!w&&t[o]&&(w=t),!w)return!1;if(w[h])return!1;var T,x=n&&n.eventNameToString,O={},S=w[h]=w[o],D=w[d(i)]=w[i],P=w[d(u)]=w[u],j=w[d(s)]=w[s];function Z(e){q||"boolean"==typeof O.options||void 0===O.options||null===O.options||(e.options=!!O.options.capture,O.options=e.options)}n&&n.prepend&&(T=w[d(n.prepend)]=w[n.prepend]);var z=a?function(e){if(!O.isExisting)return Z(e),S.call(O.target,O.eventName,O.capture?k:m,O.options)}:function(e){return Z(e),S.call(O.target,O.eventName,e.invoke,O.options)},C=a?function(e){if(!e.isRemoved){var t=W[e.eventName],n=void 0;t&&(n=t[e.capture?l:f]);var r=n&&e.target[n];if(r)for(var o=0;o<r.length;o++)if(r[o]===e){r.splice(o,1),e.isRemoved=!0,0===r.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?k:m,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},M=n&&n.diff?n.diff:function(e,t){var n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},F=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],R=function(t,n,r,o,i,u){return void 0===i&&(i=!1),void 0===u&&(u=!1),function(){var s=this||e,h=arguments[0],v=arguments[1];if(!v)return t.apply(this,arguments);if(E&&"uncaughtException"===h)return t.apply(this,arguments);var d=!1;if("function"!=typeof v){if(!v.handleEvent)return t.apply(this,arguments);d=!0}if(!c||c(t,v,s,arguments)){var y,g=arguments[2];if(F)for(var m=0;m<F.length;m++)if(h===F[m])return t.apply(this,arguments);var k=!1;void 0===g?y=!1:!0===g?y=!0:!1===g?y=!1:(y=!!g&&!!g.capture,k=!!g&&!!g.once);var b,w=Zone.current,T=W[h];if(T)b=T[y?l:f];else{var S=(x?x(h):h)+f,D=(x?x(h):h)+l,P=p+S,j=p+D;W[h]={},W[h][f]=P,W[h][l]=j,b=y?j:P}var Z,z=s[b],C=!1;if(z){if(C=!0,_)for(m=0;m<z.length;m++)if(M(z[m],v))return}else z=s[b]=[];var I=s.constructor.name,R=K[I];R&&(Z=R[h]),Z||(Z=I+n+(x?x(h):h)),O.options=g,k&&(O.options.once=!1),O.target=s,O.capture=y,O.eventName=h,O.isExisting=C;var L=a?H:void 0;L&&(L.taskData=O);var A=w.scheduleEventTask(Z,v,L,r,o);return O.target=null,L&&(L.taskData=null),k&&(g.once=!0),(q||"boolean"!=typeof A.options)&&(A.options=g),A.target=s,A.capture=y,A.eventName=h,d&&(A.originalDelegate=v),u?z.unshift(A):z.push(A),i?s:void 0}}};return w[o]=R(S,v,z,C,b),T&&(w[y]=R(T,g,function(e){return T.call(O.target,O.eventName,e.invoke,O.options)},C,b,!0)),w[i]=function(){var t,n=this||e,r=arguments[0],o=arguments[2];t=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);var i=arguments[1];if(!i)return D.apply(this,arguments);if(!c||c(D,i,n,arguments)){var a,u=W[r];u&&(a=u[t?l:f]);var s=a&&n[a];if(s)for(var p=0;p<s.length;p++){var h=s[p];if(M(h,i))return s.splice(p,1),h.isRemoved=!0,0===s.length&&(h.allRemoved=!0,n[a]=null),h.zone.cancelTask(h),b?n:void 0}return D.apply(this,arguments)}},w[u]=function(){for(var t=arguments[0],n=[],r=Y(this||e,x?x(t):t),o=0;o<r.length;o++){var i=r[o];n.push(i.originalDelegate?i.originalDelegate:i.callback)}return n},w[s]=function(){var t=this||e,n=arguments[0];if(n){var r=W[n];if(r){var o=t[r[f]],a=t[r[l]];if(o){var c=o.slice();for(h=0;h<c.length;h++)this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}if(a)for(c=a.slice(),h=0;h<c.length;h++){var u;this[i].call(this,n,(u=c[h]).originalDelegate?u.originalDelegate:u.callback,u.options)}}}else{for(var p=Object.keys(t),h=0;h<p.length;h++){var v=U.exec(p[h]),d=v&&v[1];d&&"removeListener"!==d&&this[s].call(this,d)}this[s].call(this,"removeListener")}if(b)return this},I(w[o],S),I(w[i],D),j&&I(w[s],j),P&&I(w[u],P),!0}for(var w=[],T=0;T<t.length;T++)w[T]=b(t[T],n);return w}function Y(e,t){var n=[];for(var r in e){var o=U.exec(r),i=o&&o[1];if(i&&(!t||i===t)){var a=e[r];if(a)for(var c=0;c<a.length;c++)n.push(a[c])}}return n}var J=d("zoneTask");function V(e,t,n,r){var o=null,i=null;n+=r;var a={};function c(t){var n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[J]=null))}},n.handleId=o.apply(e,n.args),t}function u(e){return i(e.data.handleId)}o=M(e,t+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=v(t,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var l=s.data.handleId;return"number"==typeof l?a[l]=s:l&&(l[J]=s),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(s.ref=l.ref.bind(l),s.unref=l.unref.bind(l)),"number"==typeof l||l?l:s}return n.apply(e,i)}}),i=M(e,n,function(t){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[J])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[J]=null),o.zone.cancelTask(o)):t.apply(e,r)}})}var G=Object[d("defineProperty")]=Object.defineProperty,Q=Object[d("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,$=Object.create,ee=d("unconfigurables");function te(e,t){return e&&e[ee]&&e[ee][t]}function ne(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[ee]||Object.isFrozen(e)||G(e,ee,{writable:!0,value:{}}),e[ee]&&(e[ee][t]=!0)),n}function re(e,t,n,r){try{return G(e,t,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return G(e,t,n)}catch(r){var o=null;try{o=JSON.stringify(n)}catch(e){o=n.toString()}console.log("Attempting to configure '"+t+"' with descriptor '"+o+"' on object '"+e+"' and got error, giving up: "+r)}}}var oe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ie=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ae=["load"],ce=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],se=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],le=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],pe=["error","message"],he=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],oe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ve(e,t,n,r){e&&j(e,function(e,t,n){if(!n||0===n.length)return t;var r=n.filter(function(t){return t.target===e});if(!r||0===r.length)return t;var o=r[0].ignoreProperties;return t.filter(function(e){return-1===o.indexOf(e)})}(e,t,n),r)}function de(e,u){if(!E||O){var s="undefined"!=typeof WebSocket;if(function(){if((x||O)&&!t(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=t(Element.prototype,"onclick");if(e&&!e.configurable)return!1}var r=XMLHttpRequest.prototype,o=t(r,"onreadystatechange");if(o){n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return!0}});var i=!!(c=new XMLHttpRequest).onreadystatechange;return n(r,"onreadystatechange",o||{}),i}var a=d("fake");n(r,"onreadystatechange",{enumerable:!0,configurable:!0,get:function(){return this[a]},set:function(e){this[a]=e}});var c,u=function(){};return(c=new XMLHttpRequest).onreadystatechange=u,i=c[a]===u,c.onreadystatechange=null,i}()){var l=u.__Zone_ignore_on_properties;if(x){var f=window,p=L?[{target:f,ignoreProperties:["error"]}]:[];ve(f,he.concat(["messageerror"]),l?l.concat(p):l,r(f)),ve(Document.prototype,he,l),void 0!==f.SVGElement&&ve(f.SVGElement.prototype,he,l),ve(Element.prototype,he,l),ve(HTMLElement.prototype,he,l),ve(HTMLMediaElement.prototype,ie,l),ve(HTMLFrameSetElement.prototype,oe.concat(ce),l),ve(HTMLBodyElement.prototype,oe.concat(ce),l),ve(HTMLFrameElement.prototype,ae,l),ve(HTMLIFrameElement.prototype,ae,l);var v=f.HTMLMarqueeElement;v&&ve(v.prototype,ue,l);var y=f.Worker;y&&ve(y.prototype,pe,l)}ve(XMLHttpRequest.prototype,se,l);var g=u.XMLHttpRequestEventTarget;g&&ve(g&&g.prototype,se,l),"undefined"!=typeof IDBIndex&&(ve(IDBIndex.prototype,le,l),ve(IDBRequest.prototype,le,l),ve(IDBOpenDBRequest.prototype,le,l),ve(IDBDatabase.prototype,le,l),ve(IDBTransaction.prototype,le,l),ve(IDBCursor.prototype,le,l)),s&&ve(WebSocket.prototype,fe,l)}else!function(){for(var e=function(e){var t=he[e],n="on"+t;self.addEventListener(t,function(e){var t,r,o=e.target;for(r=o?o.constructor.name+"."+n:"unknown."+n;o;)o[n]&&!o[n][ye]&&((t=h(o[n],r))[ye]=o[n],o[n]=t),o=o.parentElement},!0)},t=0;t<he.length;t++)e(t)}(),z("XMLHttpRequest"),s&&function(e,n){var r=n.WebSocket;n.EventTarget||B(n,[r.prototype]),n.WebSocket=function(e,n){var u,s,l=arguments.length>1?new r(e,n):new r(e),f=t(l,"onmessage");return f&&!1===f.configurable?(u=o(l),s=l,[a,c,"send","close"].forEach(function(e){u[e]=function(){var t=i.call(arguments);if(e===a||e===c){var n=t.length>0?t[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);l[r]=u[r]}}return l[e].apply(l,t)}})):u=l,j(u,["close","error","message","open"],s),u};var u=n.WebSocket;for(var s in r)u[s]=r[s]}(0,u)}}var ye=d("unbound");function ge(e,n,r,o){var i=Zone.__symbol__(r);if(!e[i]){var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t(i,e);a&&a.value?(a.value=h(a.value,o),function(t,n,r){var o=a.configurable;re(t,e,ne(t,e,a),o)}(c.prototype)):i[e]=h(i[e],o)}else i[e]&&(i[e]=h(i[e],o))}),a.call(e,i,c,u)},I(e[r],a)}}Zone.__load_patch("util",function(e,t,n){n.patchOnProperties=j,n.patchMethod=M,n.bindArguments=b}),Zone.__load_patch("timers",function(e){V(e,"set","clear","Timeout"),V(e,"set","clear","Interval"),V(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(e){V(e,"request","cancel","AnimationFrame"),V(e,"mozRequest","mozCancel","AnimationFrame"),V(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(e,t){for(var n=["alert","prompt","confirm"],r=0;r<n.length;r++)M(e,n[r],function(n,r,o){return function(r,i){return t.current.run(n,e,i,o)}})}),Zone.__load_patch("EventTarget",function(e,t,n){var r=t.__symbol__("BLACK_LISTED_EVENTS");e[r]&&(t[r]=e[r]),function(e,t){!function(e,t){var n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",function(e){return function(t,n){t[X]=!0,e&&e.apply(t,n)}})}(e,t)}(e,n),function(e,t){var n="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",r="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),o=[],i=e.wtf,a=n.split(",");i?o=a.map(function(e){return"HTML"+e+"Element"}).concat(r):e.EventTarget?o.push("EventTarget"):o=r;for(var c=e.__Zone_disable_IE_check||!1,u=e.__Zone_enable_cross_context_check||!1,s=A(),h="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",v=0;v<he.length;v++){var d=p+((k=he[v])+f),y=p+(k+l);W[k]={},W[k][f]=d,W[k][l]=y}for(v=0;v<n.length;v++)for(var g=a[v],_=K[g]={},m=0;m<he.length;m++){var k;_[k=he[m]]=g+".addEventListener:"+k}var b=[];for(v=0;v<o.length;v++){var w=e[o[v]];b.push(w&&w.prototype)}B(e,b,{vh:function(e,t,n,r){if(!c&&s){if(u)try{var o;if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}catch(t){return e.apply(n,r),!1}else if("[object FunctionWrapper]"===(o=t.toString())||o==h)return e.apply(n,r),!1}else if(u)try{t.toString()}catch(t){return e.apply(n,r),!1}return!0}}),t.patchEventTarget=B}(e,n);var o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),z("MutationObserver"),z("WebKitMutationObserver"),z("IntersectionObserver"),z("FileReader")}),Zone.__load_patch("on_property",function(e,t,n){de(0,e),Object.defineProperty=function(e,t,n){if(te(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);var r=n.configurable;return"prototype"!==t&&(n=ne(e,t,n)),re(e,t,n,r)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=ne(e,n,t[n])}),$(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=Q(e,t);return n&&te(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(e,t,n){(x||O)&&"registerElement"in e.document&&ge(document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"]),(x||O)&&"customElements"in e&&ge(e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}),Zone.__load_patch("canvas",function(e){var t=e.HTMLCanvasElement;void 0!==t&&t.prototype&&t.prototype.toBlob&&function(e,n,r){var o=null;function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=M(t.prototype,"toBlob",function(e){return function(t,n){var r=function(e,t){return{name:"HTMLCanvasElement.toBlob",target:e,cbIdx:0,args:t}}(t,n);return r.cbIdx>=0&&"function"==typeof n[r.cbIdx]?v(r.name,n[r.cbIdx],r,i):e.apply(t,n)}})}()}),Zone.__load_patch("XHR",function(e,t){!function(l){var f=XMLHttpRequest.prototype,p=f[u],h=f[s];if(!p){var y=e.XMLHttpRequestEventTarget;if(y){var g=y.prototype;p=g[u],h=g[s]}}var _="readystatechange",m="scheduled";function k(e){var t=e.data,r=t.target;r[i]=!1,r[c]=!1;var a=r[o];p||(p=r[u],h=r[s]),a&&h.call(r,_,a);var l=r[o]=function(){if(r.readyState===r.DONE)if(!t.aborted&&r[i]&&e.state===m){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=e.invoke;e.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i<n.length;i++)n[i]===e&&n.splice(i,1);t.aborted||e.state!==m||o.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==r[i]||(r[c]=!0)};return p.call(r,_,l),r[n]||(r[n]=e),O.apply(r,t.args),r[i]=!0,e}function b(){}function w(e){var t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}var T=M(f,"open",function(){return function(e,t){return e[r]=0==t[2],e[a]=t[1],T.apply(e,t)}}),E=d("fetchTaskAborting"),x=d("fetchTaskScheduling"),O=M(f,"send",function(){return function(e,n){if(!0===t.current[x])return O.apply(e,n);if(e[r])return O.apply(e,n);var o={target:e,url:e[a],isPeriodic:!1,args:n,aborted:!1},i=v("XMLHttpRequest.send",b,o,k,w);e&&!0===e[c]&&!o.aborted&&i.state===m&&i.invoke()}}),S=M(f,"abort",function(){return function(e,r){var o=e[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===t.current[E])return S.apply(e,r)}})}();var n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),a=d("xhrURL"),c=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(e){e.navigator&&e.navigator.geolocation&&function(e,n){for(var r=e.constructor.name,o=function(o){var i=n[o],a=e[i];if(a){if(!w(t(e,i)))return"continue";e[i]=function(e){var t=function(){return e.apply(this,b(arguments,r+"."+i))};return I(t,e),t}(a)}},i=0;i<n.length;i++)o(i)}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(e,t){function n(t){return function(n){Y(e,t).forEach(function(r){var o=e.PromiseRejectionEvent;if(o){var i=new o(t,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})})},1:function(e,t,n){e.exports=n("hN/g")},"1TsA":function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},"2OiF":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"3Lyj":function(e,t,n){var r=n("KroJ");e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},"45Tv":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(e,t,n){if(a(e,t,n))return c(e,t,n);var r=i(t);return null!==r?s(e,r,n):void 0};r.exp({getMetadata:function(e,t){return s(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},"49D4":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},"4LiD":function(e,t,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),l=n("0/R4"),f=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");e.exports=function(e,t,n,d,y,g){var _=r[e],m=_,k=y?"set":"add",b=m&&m.prototype,w={},T=function(e){var t=b[e];i(b,e,"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof m&&(g||b.forEach&&!f(function(){(new m).entries().next()}))){var E=new m,x=E[k](g?{}:-0,1)!=E,O=f(function(){E.has(1)}),S=p(function(e){new m(e)}),D=!g&&f(function(){for(var e=new m,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((m=t(function(t,n){s(t,m,e);var r=v(new _,t,m);return void 0!=n&&u(n,y,r[k],r),r})).prototype=b,b.constructor=m),(O||D)&&(T("delete"),T("has"),y&&T("get")),(D||x)&&T(k),g&&b.clear&&delete b.clear}else m=d.getConstructor(t,e,y,k),a(m.prototype,n),c.NEED=!0;return h(m,e),w[e]=m,o(o.G+o.W+o.F*(m!=_),w),g||d.setStrong(m,e,y),m}},"4R4u":function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"6FMO":function(e,t,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},"7Dlh":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},"9AAn":function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},"9gX7":function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},Afnz:function(e,t,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),l=n("OP3Y"),f=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,v,d,y,g){u(n,t,v);var _,m,k,b=function(e){if(!p&&e in x)return x[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",T="values"==d,E=!1,x=e.prototype,O=x[f]||x["@@iterator"]||d&&x[d],S=O||b(d),D=d?T?b("entries"):S:void 0,P="Array"==t&&x.entries||O;if(P&&(k=l(P.call(new e)))!==Object.prototype&&k.next&&(s(k,w,!0),r||"function"==typeof k[f]||a(k,f,h)),T&&O&&"values"!==O.name&&(E=!0,S=function(){return O.call(this)}),r&&!g||!p&&!E&&x[f]||a(x,f,S),c[t]=S,c[w]=h,d)if(_={values:T?S:b("values"),keys:y?S:b("keys"),entries:D},g)for(m in _)m in x||i(x,m,_[m]);else o(o.P+o.F*(p||E),t,_);return _}},BqfV:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},CkkT:function(e,t,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");e.exports=function(e,t){var n=1==e,u=2==e,s=3==e,l=4==e,f=6==e,p=5==e||f,h=t||c;return function(t,c,v){for(var d,y,g=i(t),_=o(g),m=r(c,v,3),k=a(_.length),b=0,w=n?h(t,k):u?h(t,0):void 0;k>b;b++)if((p||b in _)&&(y=m(d=_[b],b,g),e))if(n)w[b]=y;else if(y)switch(e){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(l)return!1;return f?-1:s||l?l:w}}},DVgA:function(e,t,n){var r=n("zhAb"),o=n("4R4u");e.exports=Object.keys||function(e){return r(e,o)}},EK0E:function(e,t,n){"use strict";var r,o=n("CkkT")(0),i=n("KroJ"),a=n("Z6vF"),c=n("czNK"),u=n("ZD67"),s=n("0/R4"),l=n("eeVq"),f=n("s5qY"),p=a.getWeak,h=Object.isExtensible,v=u.ufstore,d={},y=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(s(e)){var t=p(e);return!0===t?v(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,"WeakMap"),e,t)}},_=e.exports=n("4LiD")("WeakMap",y,g,u,!0,!0);l(function(){return 7!=(new _).set((Object.freeze||Object)(d),7).get(d)})&&(c((r=u.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(e){var t=_.prototype,n=t[e];i(t,e,function(t,o){if(s(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},EWmC:function(e,t,n){var r=n("LZWt");e.exports=Array.isArray||function(e){return"Array"==r(e)}},EemH:function(e,t,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;t.f=n("nh4g")?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(c(e,t))return o(!r.f.call(e,t),e[t])}},FJW5:function(e,t,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");e.exports=n("nh4g")?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),c=a.length,u=0;c>u;)r.f(e,n=a[u++],t[n]);return e}},FZcq:function(e,t,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),e.exports=n("g3g5").Reflect},H6hf:function(e,t,n){var r=n("y3w9");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},"I8a+":function(e,t,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},Iw71:function(e,t,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"J+6e":function(e,t,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");e.exports=n("g3g5").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},JiEa:function(e,t){t.f=Object.getOwnPropertySymbols},K0xU:function(e,t,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},KroJ:function(e,t,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=Function.toString,u=(""+c).split("toString");n("g3g5").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(s&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:c?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||c.call(this)})},Kuth:function(e,t,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var e,t=n("Iw71")("iframe"),r=i.length;for(t.style.display="none",n("+rLv").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(c.prototype=r(e),n=new c,c.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},LQAc:function(e,t){e.exports=!1},LZWt:function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},M6Qj:function(e,t,n){var r=n("hPIQ"),o=n("K0xU")("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},Mukb:function(e,t,n){var r=n("hswa"),o=n("RjD/");e.exports=n("nh4g")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},N6cJ:function(e,t,n){var r=n("9AAn"),o=n("XKFU"),i=n("VTer")("metadata"),a=i.store||(i.store=new(n("EK0E"))),c=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i};e.exports={store:a,map:c,has:function(e,t,n){var r=c(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=c(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){c(n,r,!0).set(e,t)},keys:function(e,t){var n=c(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){o(o.S,"Reflect",e)}}},OP3Y:function(e,t,n){var r=n("aagx"),o=n("S/j/"),i=n("YTvA")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},Opxb:function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("2OiF"),a=r.key,c=r.set;r.exp({metadata:function(e,t){return function(n,r){c(e,t,(void 0!==r?o:i)(n),a(r))}}})},Q3ne:function(e,t,n){var r=n("SlkY");e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},QaDb:function(e,t,n){"use strict";var r=n("Kuth"),o=n("RjD/"),i=n("fyDq"),a={};n("Mukb")(a,n("K0xU")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},RYi7:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"RjD/":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"S/j/":function(e,t,n){var r=n("vhPU");e.exports=function(e){return Object(r(e))}},SlkY:function(e,t,n){var r=n("m0Pp"),o=n("H6hf"),i=n("M6Qj"),a=n("y3w9"),c=n("ne8i"),u=n("J+6e"),s={},l={};(t=e.exports=function(e,t,n,f,p){var h,v,d,y,g=p?function(){return e}:u(e),_=r(n,f,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=c(e.length);h>m;m++)if((y=t?_(a(v=e[m])[0],v[1]):_(e[m]))===s||y===l)return y}else for(d=g.call(e);!(v=d.next()).done;)if((y=o(d,_,v.value,t))===s||y===l)return y}).BREAK=s,t.RETURN=l},T39b:function(e,t,n){"use strict";var r=n("wmvG"),o=n("s5qY");e.exports=n("4LiD")("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,"Set"),e=0===e?0:e,e)}},r)},UqcF:function(e,t){t.f={}.propertyIsEnumerable},VTer:function(e,t,n){var r=n("g3g5"),o=n("dyZX"),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("LQAc")?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},XKFU:function(e,t,n){var r=n("dyZX"),o=n("g3g5"),i=n("Mukb"),a=n("KroJ"),c=n("m0Pp"),u=function(e,t,n){var s,l,f,p,h=e&u.F,v=e&u.G,d=e&u.P,y=e&u.B,g=v?r:e&u.S?r[t]||(r[t]={}):(r[t]||{}).prototype,_=v?o:o[t]||(o[t]={}),m=_.prototype||(_.prototype={});for(s in v&&(n=t),n)f=((l=!h&&g&&void 0!==g[s])?g:n)[s],p=y&&l?c(f,r):d&&"function"==typeof f?c(Function.call,f):f,g&&a(g,s,f,e&u.U),_[s]!=f&&i(_,s,p),d&&m[s]!=f&&(m[s]=f)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},XMVh:function(e,t,n){var r=n("K0xU")("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},Xbzi:function(e,t,n){var r=n("0/R4"),o=n("i5dc").set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},YTvA:function(e,t,n){var r=n("VTer")("keys"),o=n("ylqs");e.exports=function(e){return r[e]||(r[e]=o(e))}},Ymqv:function(e,t,n){var r=n("LZWt");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},Z6vF:function(e,t,n){var r=n("ylqs")("meta"),o=n("0/R4"),i=n("aagx"),a=n("hswa").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("eeVq")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++c,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return s&&f.NEED&&u(e)&&!i(e,r)&&l(e),e}}},ZD67:function(e,t,n){"use strict";var r=n("3Lyj"),o=n("Z6vF").getWeak,i=n("y3w9"),a=n("0/R4"),c=n("9gX7"),u=n("SlkY"),s=n("CkkT"),l=n("aagx"),f=n("s5qY"),p=s(5),h=s(6),v=0,d=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},g=function(e,t){return p(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var s=e(function(e,r){c(e,s,t,"_i"),e._t=t,e._i=v++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(s.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?d(f(this,t)).has(e):n&&l(n,this._i)}}),s},def:function(e,t,n){var r=o(i(t),!0);return!0===r?d(e).set(t,n):r[e._i]=n,e},ufstore:d}},aCFj:function(e,t,n){var r=n("Ymqv"),o=n("vhPU");e.exports=function(e){return r(o(e))}},aagx:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},apmT:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},czNK:function(e,t,n){"use strict";var r=n("DVgA"),o=n("JiEa"),i=n("UqcF"),a=n("S/j/"),c=n("Ymqv"),u=Object.assign;e.exports=!u||n("eeVq")(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,s=1,l=o.f,f=i.f;u>s;)for(var p,h=c(arguments[s++]),v=l?r(h).concat(l(h)):r(h),d=v.length,y=0;d>y;)f.call(h,p=v[y++])&&(n[p]=h[p]);return n}:u},"d/Gc":function(e,t,n){var r=n("RYi7"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},dyZX:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eeVq:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},elZq:function(e,t,n){"use strict";var r=n("dyZX"),o=n("hswa"),i=n("nh4g"),a=n("K0xU")("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},"fN/3":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},fyDq:function(e,t,n){var r=n("hswa").f,o=n("aagx"),i=n("K0xU")("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},g3g5:function(e,t){var n=e.exports={version:"2.6.3"};"number"==typeof __e&&(__e=n)},"hN/g":function(e,t,n){"use strict";n.r(t),n("FZcq"),n("0TWp")},hPIQ:function(e,t){e.exports={}},hswa:function(e,t,n){var r=n("y3w9"),o=n("xpql"),i=n("apmT"),a=Object.defineProperty;t.f=n("nh4g")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},i5dc:function(e,t,n){var r=n("0/R4"),o=n("y3w9"),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("m0Pp")(Function.call,n("EemH").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},"iW+S":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=i(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:c(arguments[2]))}})},m0Pp:function(e,t,n){var r=n("2OiF");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},ne8i:function(e,t,n){var r=n("RYi7"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},nh4g:function(e,t,n){e.exports=!n("eeVq")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},s5qY:function(e,t,n){var r=n("0/R4");e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},uAtd:function(e,t,n){var r=n("T39b"),o=n("Q3ne"),i=n("N6cJ"),a=n("y3w9"),c=n("OP3Y"),u=i.keys,s=i.key,l=function(e,t){var n=u(e,t),i=c(e);if(null===i)return n;var a=l(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return l(a(e),arguments.length<2?void 0:s(arguments[1]))}})},vhPU:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},w2a5:function(e,t,n){var r=n("aCFj"),o=n("ne8i"),i=n("d/Gc");e.exports=function(e){return function(t,n,a){var c,u=r(t),s=o(u.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},wmvG:function(e,t,n){"use strict";var r=n("hswa").f,o=n("Kuth"),i=n("3Lyj"),a=n("m0Pp"),c=n("9gX7"),u=n("SlkY"),s=n("Afnz"),l=n("1TsA"),f=n("elZq"),p=n("nh4g"),h=n("Z6vF").fastKey,v=n("s5qY"),d=p?"_s":"size",y=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,s){var l=e(function(e,r){c(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[d]=0,void 0!=r&&u(r,n,e[s],e)});return i(l.prototype,{clear:function(){for(var e=v(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[d]=0},delete:function(e){var n=v(this,t),r=y(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(e){v(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(v(this,t),e)}}),p&&r(l.prototype,"size",{get:function(){return v(this,t)[d]}}),l},def:function(e,t,n){var r,o,i=y(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[d]++,"F"!==o&&(e._i[o]=i)),e},getEntry:y,setStrong:function(e,t,n){s(e,t,function(e,n){this._t=v(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},xpql:function(e,t,n){e.exports=!n("nh4g")&&!n("eeVq")(function(){return 7!=Object.defineProperty(n("Iw71")("div"),"a",{get:function(){return 7}}).a})},y3w9:function(e,t,n){var r=n("0/R4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ylqs:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},zRwo:function(e,t,n){var r=n("6FMO");e.exports=function(e,t){return new(r(e))(t)}},zhAb:function(e,t,n){var r=n("aagx"),o=n("aCFj"),i=n("w2a5")(!1),a=n("YTvA")("IE_PROTO");e.exports=function(e,t){var n,c=o(e),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);for(;t.length>u;)r(c,n=t[u++])&&(~i(s,n)||s.push(n));return s}},"zq+C":function(e,t,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.map,c=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=c.get(t);return u.delete(n),!!u.size||c.delete(t)}})}},[[1,0]]]);
!function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for($e=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n<r;n++)d(e[n],t)}function o(e){return function(t){Pe(t)&&(d(t,e),oe.length&&r(t.querySelectorAll(oe),e))}}function l(e){var t=xe.call(e,"is"),n=e.nodeName.toUpperCase(),r=ae.call(ne,t?J+t.toUpperCase():Y+n);return t&&-1<r&&!a(n,t)?-1:r}function a(e,t){return-1<oe.indexOf(e+'[is="'+t+'"]')}function i(e){var t=e.currentTarget,n=e.attrChange,r=e.attrName,o=e.target,l=e[K]||2,a=e[X]||3;!tt||o&&o!==t||!t[q]||"style"===r||e.prevValue===e.newValue&&(""!==e.newValue||n!==l&&n!==a)||t[q](r,n===l?null:e.prevValue,n===a?null:e.newValue)}function u(e){var t=o(e);return function(e){C.push(t,e.target),$e&&clearTimeout($e),$e=setTimeout(n,1)}}function c(e){et&&(et=!1,e.currentTarget.removeEventListener(Q,c)),oe.length&&r((e.target||g).querySelectorAll(oe),e.detail===_?_:U),Se&&function(){for(var e,t=0,n=Re.length;t<n;t++)le.contains(e=Re[t])||(n--,Re.splice(t--,1),d(e,_))}()}function s(e,t){var n=this;Ze.call(n,e,t),w.call(n,{target:n})}function m(e,t,n){var r=t.apply(e,n),o=l(r);return-1<o&&F(r,re[o]),n.pop()&&oe.length&&function(e){for(var t,n=0,r=e.length;n<r;n++)F(t=e[n],re[l(t)])}(r.querySelectorAll(oe)),r}function f(e,t){Ne(e,t),N?N.observe(e,Ke):(Je&&(e.setAttribute=s,e[P]=O(e),e[R](W,w)),e[R]($,i)),e[G]&&tt&&(e.created=!0,e[G](),e.created=!1)}function p(e){throw new Error("A "+e+" type is already registered")}function d(e,t){var n,r,o=l(e);-1<o&&(I(e,re[o]),o=0,t!==U||e[U]?t!==_||e[_]||(e[U]=!1,e[_]=!0,r="disconnected",o=1):(e[_]=!1,e[U]=!0,r="connected",o=1,Se&&ae.call(Re,e)<0&&Re.push(e)),o&&(n=e[t+k]||e[r+k])&&n.call(e))}function h(){}function T(e,t,n){var r=n&&n[x]||"",o=t.prototype,l=Oe(o),a=t.observedAttributes||me,i={prototype:l};Ve(l,G,{value:function(){if(be)be=!1;else if(!this[Le]){this[Le]=!0,new t(this),o[G]&&o[G].call(this);var e=ye[we.get(t)];(!Ee||e.create.length>1)&&E(this)}}}),Ve(l,q,{value:function(e){-1<ae.call(a,e)&&o[q]&&o[q].apply(this,arguments)}}),o[Z]&&Ve(l,B,{value:o[Z]}),o[j]&&Ve(l,z,{value:o[j]}),r&&(i[x]=r),e=e.toUpperCase(),ye[e]={constructor:t,create:r?[r,Ae(e)]:[e]},we.set(t,e),g[V](e.toLowerCase(),i),v(e),Ce[e].r()}function L(e){var t=ye[e.toUpperCase()];return t&&t.constructor}function M(e){return"string"==typeof e?e:e&&e.is||""}function E(e){for(var t,n=e[q],r=n?e.attributes:me,o=r.length;o--;)n.call(e,(t=r[o]).name||t.nodeName,null,t.value||t.nodeValue)}function v(e){return(e=e.toUpperCase())in Ce||(Ce[e]={},Ce[e].p=new ge(function(t){Ce[e].r=t})),Ce[e].p}function H(){Me&&delete e.customElements,se(e,"customElements",{configurable:!0,value:new h}),se(e,"CustomElementRegistry",{configurable:!0,value:h});for(var t=y.get(/^HTML[A-Z]*[a-z]/),n=t.length;n--;function(t){var n=e[t];if(n){e[t]=function(e){var t,r;return e||(e=this),e[Le]||(be=!0,t=ye[we.get(e.constructor)],(e=(r=Ee&&1===t.create.length)?Reflect.construct(n,me,t.constructor):g.createElement.apply(g,t.create))[Le]=!0,be=!1,r||E(e)),e},e[t].prototype=n.prototype;try{n.prototype.constructor=e[t]}catch(r){se(n,Le,{value:e[t]})}}}(t[n]));g.createElement=function(e,t){var n=M(t);return n?ze.call(this,e,Ae(n)):ze.call(this,e)},Qe||(Ye=!0,g[V](""))}var g=e.document,b=e.Object,y=function(e){var t,n,r,o,l=/^[A-Z]+[a-z]/,a=function(e,t){(t=t.toLowerCase())in i||(i[e]=(i[e]||[]).concat(t),i[t]=i[t.toUpperCase()]=e)},i=(b.create||b)(null),u={};for(n in e)for(o in e[n])for(i[o]=r=e[n][o],t=0;t<r.length;t++)i[r[t].toLowerCase()]=i[r[t].toUpperCase()]=o;return u.get=function(e){return"string"==typeof e?i[e]||(l.test(e)?[]:""):function(e){var t,n=[];for(t in i)e.test(t)&&n.push(t);return n}(e)},u.set=function(e,t){return l.test(e)?a(e,t):a(t,e),u},u}({collections:{HTMLAllCollection:["all"],HTMLCollection:["forms"],HTMLFormControlsCollection:["elements"],HTMLOptionsCollection:["options"]},elements:{Element:["element"],HTMLAnchorElement:["a"],HTMLAppletElement:["applet"],HTMLAreaElement:["area"],HTMLAttachmentElement:["attachment"],HTMLAudioElement:["audio"],HTMLBRElement:["br"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLContentElement:["content"],HTMLDListElement:["dl"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDocument:["document"],HTMLElement:["element","abbr","address","article","aside","b","bdi","bdo","cite","code","command","dd","dfn","dt","em","figcaption","figure","footer","header","i","kbd","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHRElement:["hr"],HTMLHeadElement:["head"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLKeygenElement:["keygen"],HTMLLIElement:["li"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:["media"],HTMLMenuElement:["menu"],HTMLMenuItemElement:["menuitem"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLOListElement:["ol"],HTMLObjectElement:["object"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["pre"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q","quote"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLShadowElement:["shadow"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["td","th"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:["unknown","vhgroupv","vkeygen"],HTMLVideoElement:["video"]},nodes:{Attr:["node"],Audio:["audio"],CDATASection:["node"],CharacterData:["node"],Comment:["#comment"],Document:["#document"],DocumentFragment:["#document-fragment"],DocumentType:["node"],HTMLDocument:["#document"],Image:["img"],Option:["option"],ProcessingInstruction:["node"],ShadowRoot:["#shadow-root"],Text:["#text"],XMLDocument:["xml"]}});"object"!=typeof t&&(t={type:t||"auto"});var C,w,A,O,N,D,I,F,S,V="registerElement",P="__"+V+(1e5*e.Math.random()>>0),R="addEventListener",U="attached",k="Callback",_="detached",x="extends",q="attributeChanged"+k,B=U+k,Z="connected"+k,j="disconnected"+k,G="created"+k,z=_+k,K="ADDITION",X="REMOVAL",$="DOMAttrModified",Q="DOMContentLoaded",W="DOMSubtreeModified",Y="<",J="=",ee=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,te=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ne=[],re=[],oe="",le=g.documentElement,ae=ne.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ie=b.prototype,ue=ie.hasOwnProperty,ce=ie.isPrototypeOf,se=b.defineProperty,me=[],fe=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,de=b.getPrototypeOf,he=b.setPrototypeOf,Te=!!b.__proto__,Le="__dreCEv1",Me=e.customElements,Ee=!/^force/.test(t.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),ve=b.create||b,He=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ae.call(t,e)]},set:function(r,o){(e=ae.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},ge=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},be=!1,ye=ve(null),Ce=ve(null),we=new He,Ae=function(e){return e.toLowerCase()},Oe=b.create||function e(t){return t?(e.prototype=t,new e):this},Ne=he||(Te?function(e,t){return e.__proto__=t,e}:pe&&fe?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o<l;o++)ue.call(e,n=r[o])||se(e,n,fe(t,n))}return function(t,n){do{e(t,n)}while((n=de(n))&&!ce.call(n,t));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),De=e.MutationObserver||e.WebKitMutationObserver,Ie=e.HTMLAnchorElement,Fe=(e.HTMLElement||e.Element||e.Node).prototype,Se=!ce.call(Fe,le),Ve=Se?function(e,t,n){return e[t]=n.value,e}:se,Pe=Se?function(e){return 1===e.nodeType}:function(e){return ce.call(Fe,e)},Re=Se&&[],Ue=Fe.attachShadow,ke=Fe.cloneNode,_e=Fe.dispatchEvent,xe=Fe.getAttribute,qe=Fe.hasAttribute,Be=Fe.removeAttribute,Ze=Fe.setAttribute,je=g.createElement,Ge=g.importNode,ze=je,Ke=De&&{attributes:!0,characterData:!0,attributeOldValue:!0},Xe=De||function(e){Je=!1,le.removeEventListener($,Xe)},$e=0,Qe=V in g&&!/^force-all/.test(t.type),We=!0,Ye=!1,Je=!0,et=!0,tt=!0;if(De&&((S=g.createElement("div")).innerHTML="<div><div></div></div>",new De(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=fe(Fe,"innerHTML"))&&S.set;n&&se(Fe,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Qe||(he||Te?(I=function(e,t){ce.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[P]||(e[P]=b(!0),f(e,t))},Se?(Je=!1,function(){var e=fe(Fe,R),t=e.value,n=function(e){var t=new CustomEvent($,{bubbles:!0});t.attrName=e,t.prevValue=xe.call(this,e),t.newValue=null,t[X]=t.attrChange=2,Be.call(this,e),_e.call(this,t)},r=function(e,t){var n=qe.call(this,e),r=n&&xe.call(this,e),o=new CustomEvent($,{bubbles:!0});Ze.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[K]=o.attrChange=0,_e.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[P],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent($,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[K]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,_e.call(n,t))};e.value=function(e,l,a){e===$&&this[q]&&this.setAttribute!==r&&(this[P]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},se(Fe,R,e)}()):De||(le[R]($,Xe),le.setAttribute(P,1),le.removeAttribute(P),Je&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[P],o[P]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],K);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],X)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l<a;l++)"setAttribute"!==(n=(t=o[l]).name)&&(r[n]=t.value);return r})),g[V]=function(e,t){if(n=e.toUpperCase(),We&&(We=!1,De?(N=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new De(function(r){for(var o,l,a,i=0,u=r.length;i<u;i++)"childList"===(o=r[i]).type?(n(o.addedNodes,e),n(o.removedNodes,t)):(l=o.target,tt&&l[q]&&"style"!==o.attributeName&&(a=xe.call(l,o.attributeName))!==o.oldValue&&l[q](o.attributeName,o.oldValue,a))})}(o(U),o(_)),(D=function(e){return N.observe(e,{childList:!0,subtree:!0}),e})(g),Ue&&(Fe.attachShadow=function(){return D(Ue.apply(this,arguments))})):(C=[],g[R]("DOMNodeInserted",u(U)),g[R]("DOMNodeRemoved",u(_))),g[R](Q,c),g[R]("readystatechange",c),g.importNode=function(e,t){switch(e.nodeType){case 1:return m(g,Ge,[e,!!t]);case 11:for(var n=g.createDocumentFragment(),r=e.childNodes,o=r.length,l=0;l<o;l++)n.appendChild(g.importNode(r[l],!!t));return n;default:return ke.call(e,!!t)}},Fe.cloneNode=function(e){return m(this,ke,[!!e])}),Ye)return Ye=!1;if(-2<ae.call(ne,J+n)+ae.call(ne,Y+n)&&p(e),!ee.test(n)||-1<ae.call(te,n))throw new Error("The type "+e+" is invalid");var n,l,a=function(){return s?g.createElement(f,n):g.createElement(f)},i=t||ie,s=ue.call(i,x),f=s?t[x].toUpperCase():n;return s&&-1<ae.call(ne,Y+f)&&p(f),l=ne.push((s?J:Y)+n)-1,oe=oe.concat(oe.length?",":"",s?f+'[is="'+e.toLowerCase()+'"]':f),a.prototype=re[l]=ue.call(i,"prototype")?i.prototype:Oe(Fe),oe.length&&r(g.querySelectorAll(oe),U),a},g.createElement=ze=function(e,t){var n=M(t),r=n?je.call(g,e,Ae(n)):je.call(g,e),o=""+e,l=ae.call(ne,(n?J:Y)+(n||o).toUpperCase()),i=-1<l;return n&&(r.setAttribute("is",n=n.toLowerCase()),i&&(i=a(o.toUpperCase(),n))),tt=!g.createElement.innerHTMLHelper,i&&F(r,re[l]),r}),h.prototype={constructor:h,define:Ee?function(e,t,n){if(n)T(e,t,n);else{var r=e.toUpperCase();ye[r]={constructor:t,create:[r]},we.set(t,r),Me.define(e,t)}}:T,get:Ee?function(e){return Me.get(e)||L(e)}:L,whenDefined:Ee?function(e){return ge.race([Me.whenDefined(e),v(e)])}:v},!Me||/^force/.test(t.type))H();else if(!t.noBuiltIn)try{!function(t,n,r){var o=new RegExp("^<a\\s+is=('|\")"+r+"\\1></a>$");if(n[x]="a",(t.prototype=Oe(Ie.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ie,[],e)},{},"document-register-element-a")}catch(e){H()}if(!t.noBuiltIn)try{if(je.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Ae=function(e){return{is:e.toLowerCase()}}}}(window);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(t,e,n){t.exports=n("zUnb")},"4R65":function(t,e,n){!function(t){"use strict";var e=Object.freeze;function n(t){var e,n,i,s;for(n=1,i=arguments.length;n<i;n++)for(e in s=arguments[n])t[e]=s[e];return t}Object.freeze=function(t){return t};var i=Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}();function s(t,e){var n=Array.prototype.slice;if(t.bind)return t.bind.apply(t,n.call(arguments,1));var i=n.call(arguments,2);return function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)}}var o=0;function r(t){return t._leaflet_id=t._leaflet_id||++o,t._leaflet_id}function a(t,e,n){var i,s,o,r;return r=function(){i=!1,s&&(o.apply(n,s),s=!1)},o=function(){i?s=arguments:(t.apply(n,arguments),setTimeout(r,e),i=!0)}}function l(t,e,n){var i=e[1],s=e[0],o=i-s;return t===i&&n?t:((t-s)%o+o)%o+s}function h(){return!1}function u(t,e){var n=Math.pow(10,void 0===e?6:e);return Math.round(t*n)/n}function c(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return c(t).split(/\s+/)}function p(t,e){for(var n in t.hasOwnProperty("options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function m(t,e,n){var i=[];for(var s in t)i.push(encodeURIComponent(n?s.toUpperCase():s)+"="+encodeURIComponent(t[s]));return(e&&-1!==e.indexOf("?")?"&":"?")+i.join("&")}var f=/\{ *([\w_-]+) *\}/g;function _(t,e){return t.replace(f,function(t,n){var i=e[n];if(void 0===i)throw new Error("No value provided for variable "+t);return"function"==typeof i&&(i=i(e)),i})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}var v="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function b(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function x(t){var e=+new Date,n=Math.max(0,16-(e-w));return w=e+n,window.setTimeout(t,n)}var E=window.requestAnimationFrame||b("RequestAnimationFrame")||x,C=window.cancelAnimationFrame||b("CancelAnimationFrame")||b("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function k(t,e,n){if(!n||E!==x)return E.call(window,s(t,e));t.call(e)}function S(t){t&&C.call(window,t)}var T=(Object.freeze||Object)({freeze:e,extend:n,create:i,bind:s,lastId:o,stamp:r,throttle:a,wrapNum:l,falseFn:h,formatNum:u,trim:c,splitWords:d,setOptions:p,getParamString:m,template:_,isArray:g,indexOf:y,emptyImageUrl:v,requestFn:E,cancelFn:C,requestAnimFrame:k,cancelAnimFrame:S});function I(){}I.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},s=e.__super__=this.prototype,o=i(s);for(var r in o.constructor=e,e.prototype=o,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(e[r]=this[r]);return t.statics&&(n(e,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"!=typeof L&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(t.includes),n.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=n(i(o.options),t.options)),n(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){s.callInitHooks&&s.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},I.include=function(t){return n(this.prototype,t),this},I.mergeOptions=function(t){return n(this.prototype.options,t),this},I.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),n="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};var P={on:function(t,e,n){if("object"==typeof t)for(var i in t)this._on(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._on(t[s],e,n);return this},off:function(t,e,n){if(t)if("object"==typeof t)for(var i in t)this._off(i,t[i],e);else for(var s=0,o=(t=d(t)).length;s<o;s++)this._off(t[s],e,n);else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var i=this._events[t];i||(this._events[t]=i=[]),n===this&&(n=void 0);for(var s={fn:e,ctx:n},o=i,r=0,a=o.length;r<a;r++)if(o[r].fn===e&&o[r].ctx===n)return;o.push(s)},_off:function(t,e,n){var i,s,o;if(this._events&&(i=this._events[t]))if(e){if(n===this&&(n=void 0),i)for(s=0,o=i.length;s<o;s++){var r=i[s];if(r.ctx===n&&r.fn===e)return r.fn=h,this._firingCount&&(this._events[t]=i=i.slice()),void i.splice(s,1)}}else{for(s=0,o=i.length;s<o;s++)i[s].fn=h;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var s=n({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var r=0,a=o.length;r<a;r++){var l=o[r];l.fn.call(l.ctx||this,s)}this._firingCount--}}return i&&this._propagateEvent(s),this},listens:function(t,e){var n=this._events&&this._events[t];if(n&&n.length)return!0;if(e)for(var i in this._eventParents)if(this._eventParents[i].listens(t,e))return!0;return!1},once:function(t,e,n){if("object"==typeof t){for(var i in t)this.once(i,t[i],e);return this}var o=s(function(){this.off(t,e,n).off(t,o,n)},this);return this.on(t,e,n).on(t,o,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[r(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[r(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,n({layer:t.target,propagatedFrom:t.target},t),!0)}};P.addEventListener=P.on,P.removeEventListener=P.clearAllEventListeners=P.off,P.addOneTimeEventListener=P.once,P.fireEvent=P.fire,P.hasEventListeners=P.listens;var M=I.extend(P);function D(t,e,n){this.x=n?Math.round(t):t,this.y=n?Math.round(e):e}var A=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function O(t,e,n){return t instanceof D?t:g(t)?new D(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,n)}function R(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function N(t,e){return!t||t instanceof R?t:new R(t,e)}function F(t,e){if(t)for(var n=e?[t,e]:t,i=0,s=n.length;i<s;i++)this.extend(n[i])}function z(t,e){return t instanceof F?t:new F(t,e)}function V(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==n&&(this.alt=+n)}function B(t,e,n){return t instanceof V?t:g(t)&&"object"!=typeof t[0]?3===t.length?new V(t[0],t[1],t[2]):2===t.length?new V(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new V(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new V(t,e,n)}D.prototype={clone:function(){return new D(this.x,this.y)},add:function(t){return this.clone()._add(O(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(O(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new D(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new D(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=A(this.x),this.y=A(this.y),this},distanceTo:function(t){var e=(t=O(t)).x-this.x,n=t.y-this.y;return Math.sqrt(e*e+n*n)},equals:function(t){return(t=O(t)).x===this.x&&t.y===this.y},contains:function(t){return t=O(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+u(this.x)+", "+u(this.y)+")"}},R.prototype={extend:function(t){return t=O(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new D((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new D(this.min.x,this.max.y)},getTopRight:function(){return new D(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,n;return(t="number"==typeof t[0]||t instanceof D?O(t):N(t))instanceof R?(e=t.min,n=t.max):e=n=t,e.x>=this.min.x&&n.x<=this.max.x&&e.y>=this.min.y&&n.y<=this.max.y},intersects:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>=e.x&&i.x<=n.x&&s.y>=e.y&&i.y<=n.y},overlaps:function(t){t=N(t);var e=this.min,n=this.max,i=t.min,s=t.max;return s.x>e.x&&i.x<n.x&&s.y>e.y&&i.y<n.y},isValid:function(){return!(!this.min||!this.max)}},F.prototype={extend:function(t){var e,n,i=this._southWest,s=this._northEast;if(t instanceof V)e=t,n=t;else{if(!(t instanceof F))return t?this.extend(B(t)||z(t)):this;if(n=t._northEast,!(e=t._southWest)||!n)return this}return i||s?(i.lat=Math.min(e.lat,i.lat),i.lng=Math.min(e.lng,i.lng),s.lat=Math.max(n.lat,s.lat),s.lng=Math.max(n.lng,s.lng)):(this._southWest=new V(e.lat,e.lng),this._northEast=new V(n.lat,n.lng)),this},pad:function(t){var e=this._southWest,n=this._northEast,i=Math.abs(e.lat-n.lat)*t,s=Math.abs(e.lng-n.lng)*t;return new F(new V(e.lat-i,e.lng-s),new V(n.lat+i,n.lng+s))},getCenter:function(){return new V((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new V(this.getNorth(),this.getWest())},getSouthEast:function(){return new V(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof V||"lat"in t?B(t):z(t);var e,n,i=this._southWest,s=this._northEast;return t instanceof F?(e=t.getSouthWest(),n=t.getNorthEast()):e=n=t,e.lat>=i.lat&&n.lat<=s.lat&&e.lng>=i.lng&&n.lng<=s.lng},intersects:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&i.lat<=n.lat&&s.lng>=e.lng&&i.lng<=n.lng},overlaps:function(t){t=z(t);var e=this._southWest,n=this._northEast,i=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&i.lat<n.lat&&s.lng>e.lng&&i.lng<n.lng},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},V.prototype={equals:function(t,e){return!!t&&(t=B(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+u(this.lat,t)+", "+u(this.lng,t)+")"},distanceTo:function(t){return H.distance(this,B(t))},wrap:function(){return H.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,n=e/Math.cos(Math.PI/180*this.lat);return z([this.lat-e,this.lng-n],[this.lat+e,this.lng+n])},clone:function(){return new V(this.lat,this.lng,this.alt)}};var j={latLngToPoint:function(t,e){var n=this.projection.project(t),i=this.scale(e);return this.transformation._transform(n,i)},pointToLatLng:function(t,e){var n=this.scale(e),i=this.transformation.untransform(t,n);return this.projection.unproject(i)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,n=this.scale(t);return new R(this.transformation.transform(e.min,n),this.transformation.transform(e.max,n))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?l(t.lng,this.wrapLng,!0):t.lng;return new V(this.wrapLat?l(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),n=this.wrapLatLng(e),i=e.lat-n.lat,s=e.lng-n.lng;if(0===i&&0===s)return t;var o=t.getSouthWest(),r=t.getNorthEast();return new F(new V(o.lat-i,o.lng-s),new V(r.lat-i,r.lng-s))}},H=n({},j,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var n=Math.PI/180,i=t.lat*n,s=e.lat*n,o=Math.sin((e.lat-t.lat)*n/2),r=Math.sin((e.lng-t.lng)*n/2),a=o*o+Math.cos(i)*Math.cos(s)*r*r,l=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*l}}),Z={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,n=this.MAX_LATITUDE,i=Math.max(Math.min(n,t.lat),-n),s=Math.sin(i*e);return new D(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new V((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return new R([-t,-t],[t,t])}()};function U(t,e,n,i){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=n,this._d=i}function G(t,e,n,i){return new U(t,e,n,i)}U.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new D((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var $=n({},H,{code:"EPSG:3857",projection:Z,transformation:function(){var t=.5/(Math.PI*Z.R);return G(t,.5,-t,.5)}()}),q=n({},$,{code:"EPSG:900913"});function W(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function K(t,e){var n,i,s,o,r,a,l="";for(n=0,s=t.length;n<s;n++){for(i=0,o=(r=t[n]).length;i<o;i++)a=r[i],l+=(i?"L":"M")+a.x+" "+a.y;l+=e?kt?"z":"x":""}return l||"M0 0"}var Y=document.documentElement.style,Q="ActiveXObject"in window,X=Q&&!document.addEventListener,J="msLaunchUri"in navigator&&!("documentMode"in document),tt=Tt("webkit"),et=Tt("android"),nt=Tt("android 2")||Tt("android 3"),it=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),st=et&&Tt("Google")&&it<537&&!("AudioNode"in window),ot=!!window.opera,rt=Tt("chrome"),at=Tt("gecko")&&!tt&&!ot&&!Q,lt=!rt&&Tt("safari"),ht=Tt("phantom"),ut="OTransition"in Y,ct=0===navigator.platform.indexOf("Win"),dt=Q&&"transition"in Y,pt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!nt,mt="MozPerspective"in Y,ft=!window.L_DISABLE_3D&&(dt||pt||mt)&&!ut&&!ht,_t="undefined"!=typeof orientation||Tt("mobile"),gt=_t&&tt,yt=_t&&pt,vt=!window.PointerEvent&&window.MSPointerEvent,bt=!(!window.PointerEvent&&!vt),wt=!window.L_NO_TOUCH&&(bt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),xt=_t&&ot,Et=_t&&at,Ct=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Lt=!!document.createElement("canvas").getContext,kt=!(!document.createElementNS||!W("svg").createSVGRect),St=!kt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function Tt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var It=(Object.freeze||Object)({ie:Q,ielt9:X,edge:J,webkit:tt,android:et,android23:nt,androidStock:st,opera:ot,chrome:rt,gecko:at,safari:lt,phantom:ht,opera12:ut,win:ct,ie3d:dt,webkit3d:pt,gecko3d:mt,any3d:ft,mobile:_t,mobileWebkit:gt,mobileWebkit3d:yt,msPointer:vt,pointer:bt,touch:wt,mobileOpera:xt,mobileGecko:Et,retina:Ct,canvas:Lt,svg:kt,vml:St}),Pt=vt?"MSPointerDown":"pointerdown",Mt=vt?"MSPointerMove":"pointermove",Dt=vt?"MSPointerUp":"pointerup",At=vt?"MSPointerCancel":"pointercancel",Ot=["INPUT","SELECT","OPTION"],Rt={},Nt=!1,Ft=0;function zt(t){Rt[t.pointerId]=t,Ft++}function Vt(t){Rt[t.pointerId]&&(Rt[t.pointerId]=t)}function Bt(t){delete Rt[t.pointerId],Ft--}function jt(t,e){for(var n in t.touches=[],Rt)t.touches.push(Rt[n]);t.changedTouches=[t],e(t)}var Ht=vt?"MSPointerDown":bt?"pointerdown":"touchstart",Zt=vt?"MSPointerUp":bt?"pointerup":"touchend",Ut="_leaflet_";function Gt(t,e,n){var i,s,o=!1,r=250;function a(t){var e;if(bt){if(!J||"mouse"===t.pointerType)return;e=Ft}else e=t.touches.length;if(!(e>1)){var n=Date.now(),a=n-(i||n);s=t.touches?t.touches[0]:t,o=a>0&&a<=r,i=n}}function l(t){if(o&&!s.cancelBubble){if(bt){if(!J||"mouse"===t.pointerType)return;var n,r,a={};for(r in s)a[r]=(n=s[r])&&n.bind?n.bind(s):n;s=a}s.type="dblclick",e(s),i=null}}return t[Ut+Ht+n]=a,t[Ut+Zt+n]=l,t[Ut+"dblclick"+n]=e,t.addEventListener(Ht,a,!1),t.addEventListener(Zt,l,!1),t.addEventListener("dblclick",e,!1),this}function $t(t,e){var n=t[Ut+Zt+e],i=t[Ut+"dblclick"+e];return t.removeEventListener(Ht,t[Ut+Ht+e],!1),t.removeEventListener(Zt,n,!1),J||t.removeEventListener("dblclick",i,!1),this}var qt,Wt,Kt,Yt,Qt,Xt=me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jt=me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),te="webkitTransition"===Jt||"OTransition"===Jt?Jt+"End":"transitionend";function ee(t){return"string"==typeof t?document.getElementById(t):t}function ne(t,e){var n=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!n||"auto"===n)&&document.defaultView){var i=document.defaultView.getComputedStyle(t,null);n=i?i[e]:null}return"auto"===n?null:n}function ie(t,e,n){var i=document.createElement(t);return i.className=e||"",n&&n.appendChild(i),i}function se(t){var e=t.parentNode;e&&e.removeChild(t)}function oe(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function re(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ae(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function le(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=de(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)}function he(t,e){if(void 0!==t.classList)for(var n=d(e),i=0,s=n.length;i<s;i++)t.classList.add(n[i]);else if(!le(t,e)){var o=de(t);ce(t,(o?o+" ":"")+e)}}function ue(t,e){void 0!==t.classList?t.classList.remove(e):ce(t,c((" "+de(t)+" ").replace(" "+e+" "," ")))}function ce(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function de(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function pe(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&function(t,e){var n=!1,i="DXImageTransform.Microsoft.Alpha";try{n=t.filters.item(i)}catch(t){if(1===e)return}e=Math.round(100*e),n?(n.Enabled=100!==e,n.Opacity=e):t.style.filter+=" progid:"+i+"(opacity="+e+")"}(t,e)}function me(t){for(var e=document.documentElement.style,n=0;n<t.length;n++)if(t[n]in e)return t[n];return!1}function fe(t,e,n){var i=e||new D(0,0);t.style[Xt]=(dt?"translate("+i.x+"px,"+i.y+"px)":"translate3d("+i.x+"px,"+i.y+"px,0)")+(n?" scale("+n+")":"")}function _e(t,e){t._leaflet_pos=e,ft?fe(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function ge(t){return t._leaflet_pos||new D(0,0)}if("onselectstart"in document)qt=function(){ke(window,"selectstart",Oe)},Wt=function(){Te(window,"selectstart",Oe)};else{var ye=me(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);qt=function(){if(ye){var t=document.documentElement.style;Kt=t[ye],t[ye]="none"}},Wt=function(){ye&&(document.documentElement.style[ye]=Kt,Kt=void 0)}}function ve(){ke(window,"dragstart",Oe)}function be(){Te(window,"dragstart",Oe)}function we(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(xe(),Yt=t,Qt=t.style.outline,t.style.outline="none",ke(window,"keydown",xe))}function xe(){Yt&&(Yt.style.outline=Qt,Yt=void 0,Qt=void 0,Te(window,"keydown",xe))}function Ee(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function Ce(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var Le=(Object.freeze||Object)({TRANSFORM:Xt,TRANSITION:Jt,TRANSITION_END:te,get:ee,getStyle:ne,create:ie,remove:se,empty:oe,toFront:re,toBack:ae,hasClass:le,addClass:he,removeClass:ue,setClass:ce,getClass:de,setOpacity:pe,testProp:me,setTransform:fe,setPosition:_e,getPosition:ge,disableTextSelection:qt,enableTextSelection:Wt,disableImageDrag:ve,enableImageDrag:be,preventOutline:we,restoreOutline:xe,getSizedParentNode:Ee,getScale:Ce});function ke(t,e,n,i){if("object"==typeof e)for(var s in e)Ie(t,s,e[s],n);else for(var o=0,r=(e=d(e)).length;o<r;o++)Ie(t,e[o],n,i);return this}var Se="_leaflet_events";function Te(t,e,n,i){if("object"==typeof e)for(var s in e)Pe(t,s,e[s],n);else if(e)for(var o=0,r=(e=d(e)).length;o<r;o++)Pe(t,e[o],n,i);else{for(var a in t[Se])Pe(t,a,t[Se][a]);delete t[Se]}return this}function Ie(t,e,n,i){var o=e+r(n)+(i?"_"+r(i):"");if(t[Se]&&t[Se][o])return this;var a=function(e){return n.call(i||t,e||window.event)},l=a;bt&&0===e.indexOf("touch")?function(t,e,n,i){"touchstart"===e?function(t,e,n){var i=s(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Ot.indexOf(t.target.tagName)<0))return;Oe(t)}jt(t,e)});t["_leaflet_touchstart"+n]=i,t.addEventListener(Pt,i,!1),Nt||(document.documentElement.addEventListener(Pt,zt,!0),document.documentElement.addEventListener(Mt,Vt,!0),document.documentElement.addEventListener(Dt,Bt,!0),document.documentElement.addEventListener(At,Bt,!0),Nt=!0)}(t,n,i):"touchmove"===e?function(t,e,n){var i=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&jt(t,e)};t["_leaflet_touchmove"+n]=i,t.addEventListener(Mt,i,!1)}(t,n,i):"touchend"===e&&function(t,e,n){var i=function(t){jt(t,e)};t["_leaflet_touchend"+n]=i,t.addEventListener(Dt,i,!1),t.addEventListener(At,i,!1)}(t,n,i)}(t,e,a,o):!wt||"dblclick"!==e||!Gt||bt&&rt?"addEventListener"in t?"mousewheel"===e?t.addEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):"mouseenter"===e||"mouseleave"===e?(a=function(e){e=e||window.event,Ze(t,e)&&l(e)},t.addEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1)):("click"===e&&et&&(a=function(t){!function(t,e){var n=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,i=Ve&&n-Ve;i&&i>100&&i<500||t.target._simulatedClick&&!t._simulated?Re(t):(Ve=n,e(t))}(t,l)}),t.addEventListener(e,a,!1)):"attachEvent"in t&&t.attachEvent("on"+e,a):Gt(t,a,o),t[Se]=t[Se]||{},t[Se][o]=a}function Pe(t,e,n,i){var s=e+r(n)+(i?"_"+r(i):""),o=t[Se]&&t[Se][s];if(!o)return this;bt&&0===e.indexOf("touch")?function(t,e,n){var i=t["_leaflet_"+e+n];"touchstart"===e?t.removeEventListener(Pt,i,!1):"touchmove"===e?t.removeEventListener(Mt,i,!1):"touchend"===e&&(t.removeEventListener(Dt,i,!1),t.removeEventListener(At,i,!1))}(t,e,s):!wt||"dblclick"!==e||!$t||bt&&rt?"removeEventListener"in t?t.removeEventListener("mousewheel"===e?"onwheel"in t?"wheel":"mousewheel":"mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,o,!1):"detachEvent"in t&&t.detachEvent("on"+e,o):$t(t,s),t[Se][s]=null}function Me(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,He(t),this}function De(t){return Ie(t,"mousewheel",Me),this}function Ae(t){return ke(t,"mousedown touchstart dblclick",Me),Ie(t,"click",je),this}function Oe(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return Oe(t),Me(t),this}function Ne(t,e){if(!e)return new D(t.clientX,t.clientY);var n=Ce(e),i=n.boundingClientRect;return new D((t.clientX-i.left)/n.x-e.clientLeft,(t.clientY-i.top)/n.y-e.clientTop)}var Fe=ct&&rt?2*window.devicePixelRatio:at?window.devicePixelRatio:1;function ze(t){return J?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Fe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ve,Be={};function je(t){Be[t.type]=!0}function He(t){var e=Be[t.type];return Be[t.type]=!1,e}function Ze(t,e){var n=e.relatedTarget;if(!n)return!0;try{for(;n&&n!==t;)n=n.parentNode}catch(t){return!1}return n!==t}var Ue=(Object.freeze||Object)({on:ke,off:Te,stopPropagation:Me,disableScrollPropagation:De,disableClickPropagation:Ae,preventDefault:Oe,stop:Re,getMousePosition:Ne,getWheelDelta:ze,fakeStop:je,skipped:He,isExternalTarget:Ze,addListener:ke,removeListener:Te}),Ge=M.extend({run:function(t,e,n,i){this.stop(),this._el=t,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(i||.5,.2),this._startPos=ge(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,n=1e3*this._duration;e<n?this._runFrame(this._easeOut(e/n),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var n=this._startPos.add(this._offset.multiplyBy(t));e&&n._round(),_e(this._el,n),this.fire("step")},_complete:function(){S(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),$e=M.extend({options:{crs:$,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=p(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=s(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(B(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jt&&ft&&!xt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),ke(this._proxy,te,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(B(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=n({animate:i.animate},i.zoom),i.pan=n({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t=t||(ft?this.options.zoomDelta:1)),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t=t||(ft?this.options.zoomDelta:1)),e)},setZoomAround:function(t,e,n){var i=this.getZoomScale(e),s=this.getSize().divideBy(2),o=(t instanceof D?t:this.latLngToContainerPoint(t)).subtract(s).multiplyBy(1-1/i),r=this.containerPointToLatLng(s.add(o));return this.setView(r,e,{zoom:n})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():z(t);var n=O(e.paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,n.add(i));if((s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s)===1/0)return{center:t.getCenter(),zoom:s};var o=i.subtract(n).divideBy(2),r=this.project(t.getSouthWest(),s),a=this.project(t.getNorthEast(),s);return{center:this.unproject(r.add(a).divideBy(2).add(o),s),zoom:s}},fitBounds:function(t,e){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var n=this._getBoundsCenterZoom(t,e);return this.setView(n.center,n.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=O(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Ge,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){he(this._mapPane,"leaflet-pan-anim");var n=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,n,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){if(!1===(n=n||{}).animate||!ft)return this.setView(t,e,n);this._stop();var i=this.project(this.getCenter()),s=this.project(t),o=this.getSize(),r=this._zoom;t=B(t),e=void 0===e?r:e;var a=Math.max(o.x,o.y),l=a*this.getZoomScale(r,e),h=s.distanceTo(i)||1,u=2.0164;function c(t){var e=(l*l-a*a+(t?-1:1)*u*u*h*h)/(2*(t?l:a)*u*h),n=Math.sqrt(e*e+1)-e;return n<1e-9?-18:Math.log(n)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=c(0),f=Date.now(),_=(c(1)-m)/1.42,g=n.duration?1e3*n.duration:1e3*_*.8;return this._moveStart(!0,n.noMoveStart),(function n(){var o=(Date.now()-f)/g,l=function(t){return 1-Math.pow(1-t,1.5)}(o)*_;o<=1?(this._flyToFrame=k(n,this),this._move(this.unproject(i.add(s.subtract(i).multiplyBy(function(t){return a*(p(m)*function(t){return d(t)/p(t)}(m+1.42*t)-d(m))/u}(l)/h)),r),this.getScaleZoom(a/function(t){return a*(p(m)/p(m+1.42*t))}(l),r),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}).call(this),this},flyToBounds:function(t,e){var n=this._getBoundsCenterZoom(t,e);return this.flyTo(n.center,n.zoom,e)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var n=this.getCenter(),i=this._limitCenter(n,this._zoom,z(t));return n.equals(i)||this.panTo(i,e),this._enforcingBounds=!1,this},panInside:function(t,e){var n=O((e=e||{}).paddingTopLeft||e.padding||[0,0]),i=O(e.paddingBottomRight||e.padding||[0,0]),s=this.getCenter(),o=this.project(s),r=this.project(t),a=this.getPixelBounds(),l=a.getSize().divideBy(2),h=N([a.min.add(n),a.max.subtract(i)]);if(!h.contains(r)){this._enforcingBounds=!0;var u=o.subtract(r),c=O(r.x+u.x,r.y+u.y);(r.x<h.min.x||r.x>h.max.x)&&(c.x=o.x-u.x,u.x>0?c.x+=l.x-n.x:c.x-=l.x-i.x),(r.y<h.min.y||r.y>h.max.y)&&(c.y=o.y-u.y,u.y>0?c.y+=l.y-n.y:c.y-=l.y-i.y),this.panTo(this.unproject(c),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=n({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),a=o.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(s(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=n({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=s(this._handleGeolocationResponse,this),i=s(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,n=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+n+"."})},_handleGeolocationResponse:function(t){var e=new V(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),i=this._locateOptions;if(i.setView){var s=this.getBoundsZoom(n);this.setView(e,i.maxZoom?Math.min(s,i.maxZoom):s)}var o={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(o[r]=t.coords[r]);this.fire("locationfound",o)},addHandler:function(t,e){if(!e)return this;var n=this[t]=new e(this);return this._handlers.push(n),this.options[t]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(S(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)se(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=ie("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new F(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,n){t=z(t),n=O(n||[0,0]);var i=this.getZoom()||0,s=this.getMinZoom(),o=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(n),h=N(this.project(a,i),this.project(r,i)).getSize(),u=ft?this.options.zoomSnap:1,c=l.x/h.x,d=l.y/h.y,p=e?Math.max(c,d):Math.min(c,d);return i=this.getScaleZoom(p,i),u&&(i=Math.round(i/(u/100))*(u/100),i=e?Math.ceil(i/u)*u:Math.floor(i/u)*u),Math.max(s,Math.min(o,i))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var n=this._getTopLeftPoint(t,e);return new R(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=void 0===e?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs,i=n.zoom(t*n.scale(e=void 0===e?this._zoom:e));return isNaN(i)?1/0:i},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(B(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(O(t),e)},layerPointToLatLng:function(t){var e=O(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(B(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(B(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,e){return this.options.crs.distance(B(t),B(e))},containerPointToLayerPoint:function(t){return O(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return O(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(O(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(B(t)))},mouseEventToContainerPoint:function(t){return Ne(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=ee(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");ke(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ft,he(t,"leaflet-container"+(wt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(X?" leaflet-oldie":"")+(lt?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=ne(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),_e(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(he(t.markerPane,"leaflet-zoom-hide"),he(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){_e(this._mapPane,new D(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var i=this._zoom!==e;this._moveStart(i,!1)._move(t,e)._moveEnd(i),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,n){void 0===e&&(e=this._zoom);var i=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(i||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return S(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){_e(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?Te:ke;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),ft&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){S(this._resizeRequest),this._resizeRequest=k(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,o=t.target||t.srcElement,a=!1;o;){if((n=this._targets[r(o)])&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(n)){a=!0;break}if(n&&n.listens(e,!0)){if(s&&!Ze(o,t))break;if(i.push(n),s)break}if(o===this._container)break;o=o.parentNode}return i.length||a||s||!Ze(o,t)||(i=[this]),i},_handleDOMEvent:function(t){if(this._loaded&&!He(t)){var e=t.type;"mousedown"!==e&&"keypress"!==e||we(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var s=n({},t);s.type="preclick",this._fireDOMEvent(s,s.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e))).length){var o=i[0];"contextmenu"===e&&o.listens(e,!0)&&Oe(t);var r={originalEvent:t};if("keypress"!==t.type){var a=o.getLatLng&&(!o._radius||o._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?o.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var l=0;l<i.length;l++)if(i[l].fire(e,r,!0),r.originalEvent._stopped||!1===i[l].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return ge(this._mapPane)||new D(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var n=this.getSize()._divideBy(2);return this.project(t,e)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,n){var i=this._getNewPixelOrigin(n,e);return N([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,n){if(!n)return t;var i=this.project(t,e),s=this.getSize().divideBy(2),o=new R(i.subtract(s),i.add(s)),r=this._getBoundsOffset(o,n,e);return r.round().equals([0,0])?t:this.unproject(i.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var n=this.getPixelBounds(),i=new R(n.min.add(t),n.max.add(t));return t.add(this._getBoundsOffset(i,e))},_getBoundsOffset:function(t,e,n){var i=N(this.project(e.getNorthEast(),n),this.project(e.getSouthWest(),n)),s=i.min.subtract(t.min),o=i.max.subtract(t.max);return new D(this._rebound(s.x,-o.x),this._rebound(s.y,-o.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),n=this.getMaxZoom(),i=ft?this.options.zoomSnap:1;return i&&(t=Math.round(t/i)*i),Math.max(e,Math.min(n,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ue(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var n=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(n)||(this.panBy(n,e),0))},_createAnimProxy:function(){var t=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=Xt,n=this._proxy.style[e];fe(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),n===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),e=this.getZoom();fe(this._proxy,this.project(t,e),this.getZoomScale(e,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,n){if(this._animatingZoom)return!0;if(n=n||{},!this._zoomAnimated||!1===n.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var i=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/i);return!(!0!==n.animate&&!this.getSize().contains(s)||(k(function(){this._moveStart(!0,!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,n,i){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,he(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:i}),setTimeout(s(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&ue(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),k(function(){this._moveEnd(!0)},this))}}),qe=I.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),n=this.getPosition(),i=t._controlCorners[n];return he(e,"leaflet-control"),-1!==n.indexOf("bottom")?i.insertBefore(e,i.firstChild):i.appendChild(e),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),We=function(t){return new qe(t)};$e.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",n=this._controlContainer=ie("div",e+"control-container",this._container);function i(i,s){t[i+s]=ie("div",e+i+" "+e+s,n)}i("top","left"),i("top","right"),i("bottom","left"),i("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)se(this._controlCorners[t]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ke=qe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,n,i){return n<i?-1:i<n?1:0}},initialize:function(t,e,n){for(var i in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[i],i);for(i in e)this._addLayer(e[i],i,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return qe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(r(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){he(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(he(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):ue(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ue(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=ie("div",t),n=this.options.collapsed;e.setAttribute("aria-haspopup",!0),Ae(e),De(e);var i=this._section=ie("section",t+"-list");n&&(this._map.on("click",this.collapse,this),et||ke(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=ie("a",t+"-toggle",e);s.href="#",s.title="Layers",wt?(ke(s,"click",Re),ke(s,"click",this.expand,this)):ke(s,"focus",this.expand,this),n||this.expand(),this._baseLayersList=ie("div",t+"-base",i),this._separator=ie("div",t+"-separator",i),this._overlaysList=ie("div",t+"-overlays",i),e.appendChild(i)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&r(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:n}),this.options.sortLayers&&this._layers.sort(s(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;oe(this._baseLayersList),oe(this._overlaysList),this._layerControlInputs=[];var t,e,n,i,s=0;for(n=0;n<this._layers.length;n++)this._addItem(i=this._layers[n]),e=e||i.overlay,t=t||!i.overlay,s+=i.overlay?0:1;return this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&s>1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),n=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;n&&this._map.fire(n,e)},_createRadioElement:function(t,e){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=n,i.firstChild},_addItem:function(t){var e,n=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=i):e=this._createRadioElement("leaflet-base-layers",i),this._layerControlInputs.push(e),e.layerId=r(t.layer),ke(e,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var o=document.createElement("div");return n.appendChild(o),o.appendChild(e),o.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,n=this._layerControlInputs,i=[],s=[];this._handlingClick=!0;for(var o=n.length-1;o>=0;o--)e=this._getLayer((t=n[o]).layerId).layer,t.checked?i.push(e):t.checked||s.push(e);for(o=0;o<s.length;o++)this._map.hasLayer(s[o])&&this._map.removeLayer(s[o]);for(o=0;o<i.length;o++)this._map.hasLayer(i[o])||this._map.addLayer(i[o]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._layerControlInputs,i=this._map.getZoom(),s=n.length-1;s>=0;s--)e=this._getLayer((t=n[s]).layerId).layer,t.disabled=void 0!==e.options.minZoom&&i<e.options.minZoom||void 0!==e.options.maxZoom&&i>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),Ye=qe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",n=ie("div",e+" leaflet-bar"),i=this.options;return this._zoomInButton=this._createButton(i.zoomInText,i.zoomInTitle,e+"-in",n,this._zoomIn),this._zoomOutButton=this._createButton(i.zoomOutText,i.zoomOutTitle,e+"-out",n,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),n},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,n,i,s){var o=ie("a",n,i);return o.innerHTML=t,o.href="#",o.title=e,o.setAttribute("role","button"),o.setAttribute("aria-label",e),Ae(o),ke(o,"click",Re),ke(o,"click",s,this),ke(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";ue(this._zoomInButton,e),ue(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&he(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&he(this._zoomInButton,e)}});$e.mergeOptions({zoomControl:!0}),$e.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Qe=qe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=ie("div","leaflet-control-scale"),n=this.options;return this._addScales(n,"leaflet-control-scale-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,n){t.metric&&(this._mScale=ie("div",e,n)),t.imperial&&(this._iScale=ie("div",e,n))},_update:function(){var t=this._map,e=t.getSize().y/2,n=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(n)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,n,i,s=3.2808399*t;s>5280?(n=this._getRoundNum(e=s/5280),this._updateScale(this._iScale,n+" mi",n/e)):(i=this._getRoundNum(s),this._updateScale(this._iScale,i+" ft",i/s))},_updateScale:function(t,e,n){t.style.width=Math.round(this.options.maxWidth*n)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),n=t/e;return e*(n>=10?10:n>=5?5:n>=3?3:n>=2?2:1)}}),Xe=qe.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),Ae(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var n=[];this.options.prefix&&n.push(this.options.prefix),t.length&&n.push(t.join(", ")),this._container.innerHTML=n.join(" | ")}}});$e.mergeOptions({attributionControl:!0}),$e.addInitHook(function(){this.options.attributionControl&&(new Xe).addTo(this)}),qe.Layers=Ke,qe.Zoom=Ye,qe.Scale=Qe,qe.Attribution=Xe,We.layers=function(t,e,n){return new Ke(t,e,n)},We.zoom=function(t){return new Ye(t)},We.scale=function(t){return new Qe(t)},We.attribution=function(t){return new Xe(t)};var Je=I.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Je.addTo=function(t,e){return t.addHandler(e,this),this};var tn,en={Events:P},nn=wt?"touchstart mousedown":"mousedown",sn={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},on={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},rn=M.extend({options:{clickTolerance:3},initialize:function(t,e,n,i){p(this,i),this._element=t,this._dragStartTarget=e||t,this._preventOutline=n},enable:function(){this._enabled||(ke(this._dragStartTarget,nn,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(rn._dragging===this&&this.finishDrag(),Te(this._dragStartTarget,nn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!le(this._element,"leaflet-zoom-anim")&&!(rn._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(rn._dragging=this,this._preventOutline&&we(this._element),ve(),qt(),this._moving)))){this.fire("down");var e=t.touches?t.touches[0]:t,n=Ee(this._element);this._startPoint=new D(e.clientX,e.clientY),this._parentScale=Ce(n),ke(document,on[t.type],this._onMove,this),ke(document,sn[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,n=new D(e.clientX,e.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,Oe(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ge(this._element).subtract(n),he(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),he(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(n),this._moving=!0,S(this._animRequest),this._lastEvent=t,this._animRequest=k(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),_e(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in ue(document.body,"leaflet-dragging"),this._lastTarget&&(ue(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),on)Te(document,on[t],this._onMove,this),Te(document,sn[t],this._onUp,this);be(),Wt(),this._moved&&this._moving&&(S(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,rn._dragging=!1}});function an(t,e){if(!e||!t.length)return t.slice();var n=e*e;return function(t,e){var n=t.length,i=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);i[0]=i[n-1]=1,function t(e,n,i,s,o){var r,a,l,h=0;for(a=s+1;a<=o-1;a++)(l=pn(e[a],e[s],e[o],!0))>h&&(r=a,h=l);h>i&&(n[r]=1,t(e,n,i,s,r),t(e,n,i,r,o))}(t,i,e,0,n-1);var s,o=[];for(s=0;s<n;s++)i[s]&&o.push(t[s]);return o}(t=function(t,e){for(var n=[t[0]],i=1,s=0,o=t.length;i<o;i++)dn(t[i],t[s])>e&&(n.push(t[i]),s=i);return s<o-1&&n.push(t[o-1]),n}(t,n),n)}function ln(t,e,n){return Math.sqrt(pn(t,e,n,!0))}function hn(t,e,n,i,s){var o,r,a,l=i?tn:cn(t,n),h=cn(e,n);for(tn=h;;){if(!(l|h))return[t,e];if(l&h)return!1;a=cn(r=un(t,e,o=l||h,n,s),n),o===l?(t=r,l=a):(e=r,h=a)}}function un(t,e,n,i,s){var o,r,a=e.x-t.x,l=e.y-t.y,h=i.min,u=i.max;return 8&n?(o=t.x+a*(u.y-t.y)/l,r=u.y):4&n?(o=t.x+a*(h.y-t.y)/l,r=h.y):2&n?(o=u.x,r=t.y+l*(u.x-t.x)/a):1&n&&(o=h.x,r=t.y+l*(h.x-t.x)/a),new D(o,r,s)}function cn(t,e){var n=0;return t.x<e.min.x?n|=1:t.x>e.max.x&&(n|=2),t.y<e.min.y?n|=4:t.y>e.max.y&&(n|=8),n}function dn(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}function pn(t,e,n,i){var s,o=e.x,r=e.y,a=n.x-o,l=n.y-r,h=a*a+l*l;return h>0&&((s=((t.x-o)*a+(t.y-r)*l)/h)>1?(o=n.x,r=n.y):s>0&&(o+=a*s,r+=l*s)),a=t.x-o,l=t.y-r,i?a*a+l*l:new D(o,r)}function mn(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function fn(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),mn(t)}var _n=(Object.freeze||Object)({simplify:an,pointToSegmentDistance:ln,closestPointOnSegment:function(t,e,n){return pn(t,e,n)},clipSegment:hn,_getEdgeIntersection:un,_getBitCode:cn,_sqClosestPointOnSegment:pn,isFlat:mn,_flat:fn});function gn(t,e,n){var i,s,o,r,a,l,h,u,c,d=[1,4,2,8];for(s=0,h=t.length;s<h;s++)t[s]._code=cn(t[s],e);for(r=0;r<4;r++){for(u=d[r],i=[],s=0,o=(h=t.length)-1;s<h;o=s++)l=t[o],(a=t[s])._code&u?l._code&u||((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)):(l._code&u&&((c=un(l,a,u,e,n))._code=cn(c,e),i.push(c)),i.push(a));t=i}return t}var yn=(Object.freeze||Object)({clipPolygon:gn}),vn={project:function(t){return new D(t.lng,t.lat)},unproject:function(t){return new V(t.y,t.x)},bounds:new R([-180,-90],[180,90])},bn={R:6378137,R_MINOR:6356752.314245179,bounds:new R([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,n=this.R,i=t.lat*e,s=this.R_MINOR/n,o=Math.sqrt(1-s*s),r=o*Math.sin(i),a=Math.tan(Math.PI/4-i/2)/Math.pow((1-r)/(1+r),o/2);return i=-n*Math.log(Math.max(a,1e-10)),new D(t.lng*e*n,i)},unproject:function(t){for(var e,n=180/Math.PI,i=this.R,s=this.R_MINOR/i,o=Math.sqrt(1-s*s),r=Math.exp(-t.y/i),a=Math.PI/2-2*Math.atan(r),l=0,h=.1;l<15&&Math.abs(h)>1e-7;l++)e=o*Math.sin(a),e=Math.pow((1-e)/(1+e),o/2),a+=h=Math.PI/2-2*Math.atan(r*e)-a;return new V(a*n,t.x*n/i)}},wn=(Object.freeze||Object)({LonLat:vn,Mercator:bn,SphericalMercator:Z}),xn=n({},H,{code:"EPSG:3395",projection:bn,transformation:function(){var t=.5/(Math.PI*bn.R);return G(t,.5,-t,.5)}()}),En=n({},H,{code:"EPSG:4326",projection:vn,transformation:G(1/180,1,-1/180,.5)}),Cn=n({},j,{projection:vn,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var n=e.lng-t.lng,i=e.lat-t.lat;return Math.sqrt(n*n+i*i)},infinite:!0});j.Earth=H,j.EPSG3395=xn,j.EPSG3857=$,j.EPSG900913=q,j.EPSG4326=En,j.Simple=Cn;var Ln=M.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var n=this.getEvents();e.on(n,this),this.once("remove",function(){e.off(n,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}});$e.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&r(t)in this._layers},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},_addLayers:function(t){for(var e=0,n=(t=t?g(t)?t:[t]:[]).length;e<n;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[r(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=r(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,n=this._getZoomSpan();for(var i in this._zoomBoundLayers){var s=this._zoomBoundLayers[i].options;t=void 0===s.minZoom?t:Math.min(t,s.minZoom),e=void 0===s.maxZoom?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var kn=Ln.extend({initialize:function(t,e){var n,i;if(p(this,e),this._layers={},t)for(n=0,i=t.length;n<i;n++)this.addLayer(t[n])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,n,i=Array.prototype.slice.call(arguments,1);for(e in this._layers)(n=this._layers[e])[t]&&n[t].apply(n,i);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var n in this._layers)t.call(e,this._layers[n]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return r(t)}}),Sn=kn.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),kn.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),kn.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new F;for(var e in this._layers){var n=this._layers[e];t.extend(n.getBounds?n.getBounds():n.getLatLng())}return t}}),Tn=I.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var n=this._getIconUrl(t);if(!n){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var i=this._createImg(n,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(i,t),i},_setIconStyles:function(t,e){var n=this.options,i=n[e+"Size"];"number"==typeof i&&(i=[i,i]);var s=O(i),o=O("shadow"===e&&n.shadowAnchor||n.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(n.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),In=Tn.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return In.imagePath||(In.imagePath=this._detectIconPath()),(this.options.imagePath||In.imagePath)+Tn.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ie("div","leaflet-default-icon-path",document.body),e=ne(t,"background-image")||ne(t,"backgroundImage");return document.body.removeChild(t),null===e||0!==e.indexOf("url")?"":e.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Pn=Je.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new rn(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),he(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&ue(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,n=e._map,i=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,o=ge(e._icon),r=n.getPixelBounds(),a=n.getPixelOrigin(),l=N(r.min._subtract(a).add(s),r.max._subtract(a).subtract(s));if(!l.contains(o)){var h=O((Math.max(l.max.x,o.x)-l.max.x)/(r.max.x-l.max.x)-(Math.min(l.min.x,o.x)-l.min.x)/(r.min.x-l.min.x),(Math.max(l.max.y,o.y)-l.max.y)/(r.max.y-l.max.y)-(Math.min(l.min.y,o.y)-l.min.y)/(r.min.y-l.min.y)).multiplyBy(i);n.panBy(h,{animate:!1}),this._draggable._newPos._add(h),this._draggable._startPos._add(h),_e(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=k(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(S(this._panRequest),this._panRequest=k(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,n=e._shadow,i=ge(e._icon),s=e._map.layerPointToLatLng(i);n&&_e(n,i),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){S(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Mn=Ln.extend({options:{icon:new In,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){p(this,e),this._latlng=B(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=B(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),n=t.icon.createIcon(this._icon),i=!1;n!==this._icon&&(this._icon&&this._removeIcon(),i=!0,t.title&&(n.title=t.title),"IMG"===n.tagName&&(n.alt=t.alt||"")),he(n,e),t.keyboard&&(n.tabIndex="0"),this._icon=n,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),o=!1;s!==this._shadow&&(this._removeShadow(),o=!0),s&&(he(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),i&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&o&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(t){_e(this._icon,t),this._shadow&&_e(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(he(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Pn)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Pn(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;pe(this._icon,t),this._shadow&&pe(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Dn=Ln.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),An=Dn.extend({options:{fill:!0,radius:10},initialize:function(t,e){p(this,e),this._latlng=B(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=B(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return Dn.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,n=this._clickTolerance(),i=[t+n,e+n];this._pxBounds=new R(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),On=An.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=n({},i,{radius:e})),p(this,e),this._latlng=B(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new F(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Dn.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,n=this._map,i=n.options.crs;if(i.distance===H.distance){var s=Math.PI/180,o=this._mRadius/H.R/s,r=n.project([e+o,t]),a=n.project([e-o,t]),l=r.add(a).divideBy(2),h=n.unproject(l).lat,u=Math.acos((Math.cos(o*s)-Math.sin(e*s)*Math.sin(h*s))/(Math.cos(e*s)*Math.cos(h*s)))/s;(isNaN(u)||0===u)&&(u=o/Math.cos(Math.PI/180*e)),this._point=l.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:l.x-n.project([h,t-u]).x,this._radiusY=l.y-r.y}else{var c=i.unproject(i.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x}this._updateBounds()}}),Rn=Dn.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){p(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,n,i=1/0,s=null,o=pn,r=0,a=this._parts.length;r<a;r++)for(var l=this._parts[r],h=1,u=l.length;h<u;h++){var c=o(t,e=l[h-1],n=l[h],!0);c<i&&(i=c,s=o(t,e,n))}return s&&(s.distance=Math.sqrt(i)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a=this._rings[0],l=a.length;if(!l)return null;for(t=0,e=0;t<l-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,i=0;t<l-1;t++)if((i+=n=(s=a[t]).distanceTo(o=a[t+1]))>e)return this._map.layerPointToLatLng([o.x-(r=(i-e)/n)*(o.x-s.x),o.y-r*(o.y-s.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=B(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new F,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return mn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],n=mn(t),i=0,s=t.length;i<s;i++)n?(e[i]=B(t[i]),this._bounds.extend(e[i])):e[i]=this._convertLatLngs(t[i]);return e},_project:function(){var t=new R;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),n=new D(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(n),t.max._add(n),this._pxBounds=t)},_projectLatlngs:function(t,e,n){var i,s,o=t.length;if(t[0]instanceof V){for(s=[],i=0;i<o;i++)s[i]=this._map.latLngToLayerPoint(t[i]),n.extend(s[i]);e.push(s)}else for(i=0;i<o;i++)this._projectLatlngs(t[i],e,n)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,n,i,s,o,r,a,l=this._parts;for(e=0,i=0,s=this._rings.length;e<s;e++)for(n=0,o=(a=this._rings[e]).length;n<o-1;n++)(r=hn(a[n],a[n+1],t,n,!0))&&(l[i]=l[i]||[],l[i].push(r[0]),r[1]===a[n+1]&&n!==o-2||(l[i].push(r[1]),i++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,n=0,i=t.length;n<i;n++)t[n]=an(t[n],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var n,i,s,o,r,a,l=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(n=0,o=this._parts.length;n<o;n++)for(i=0,s=(r=(a=this._parts[n]).length)-1;i<r;s=i++)if((e||0!==i)&&ln(t,a[s],a[i])<=l)return!0;return!1}});Rn._flat=fn;var Nn=Rn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,n,i,s,o,r,a,l=this._rings[0],h=l.length;if(!h)return null;for(o=r=a=0,t=0,e=h-1;t<h;e=t++)r+=((n=l[t]).x+(i=l[e]).x)*(s=n.y*i.x-i.y*n.x),a+=(n.y+i.y)*s,o+=3*s;return this._map.layerPointToLatLng(0===o?l[0]:[r/o,a/o])},_convertLatLngs:function(t){var e=Rn.prototype._convertLatLngs.call(this,t),n=e.length;return n>=2&&e[0]instanceof V&&e[0].equals(e[n-1])&&e.pop(),e},_setLatLngs:function(t){Rn.prototype._setLatLngs.call(this,t),mn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return mn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,n=new D(e,e);if(t=new R(t.min.subtract(n),t.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,s=0,o=this._rings.length;s<o;s++)(i=gn(this._rings[s],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,n,i,s,o,r,a,l,h=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(s=0,a=this._parts.length;s<a;s++)for(o=0,r=(l=(e=this._parts[s]).length)-1;o<l;r=o++)(n=e[o]).y>t.y!=(i=e[r]).y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(h=!h);return h||Rn.prototype._containsPoint.call(this,t,!0)}}),Fn=Sn.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,n,i,s=g(t)?t:t.features;if(s){for(e=0,n=s.length;e<n;e++)((i=s[e]).geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var o=this.options;if(o.filter&&!o.filter(t))return this;var r=zn(t,o);return r?(r.feature=Un(t),r.defaultOptions=r.options,this.resetStyle(r),o.onEachFeature&&o.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=n({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}});function zn(t,e){var n,i,s,o,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,l=[],h=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Vn;if(!a&&!r)return null;switch(r.type){case"Point":return n=u(a),h?h(t,n):new Mn(n);case"MultiPoint":for(s=0,o=a.length;s<o;s++)n=u(a[s]),l.push(h?h(t,n):new Mn(n));return new Sn(l);case"LineString":case"MultiLineString":return i=Bn(a,"LineString"===r.type?0:1,u),new Rn(i,e);case"Polygon":case"MultiPolygon":return i=Bn(a,"Polygon"===r.type?1:2,u),new Nn(i,e);case"GeometryCollection":for(s=0,o=r.geometries.length;s<o;s++){var c=zn({geometry:r.geometries[s],type:"Feature",properties:t.properties},e);c&&l.push(c)}return new Sn(l);default:throw new Error("Invalid GeoJSON object.")}}function Vn(t){return new V(t[1],t[0],t[2])}function Bn(t,e,n){for(var i,s=[],o=0,r=t.length;o<r;o++)i=e?Bn(t[o],e-1,n):(n||Vn)(t[o]),s.push(i);return s}function jn(t,e){return e="number"==typeof e?e:6,void 0!==t.alt?[u(t.lng,e),u(t.lat,e),u(t.alt,e)]:[u(t.lng,e),u(t.lat,e)]}function Hn(t,e,n,i){for(var s=[],o=0,r=t.length;o<r;o++)s.push(e?Hn(t[o],e-1,n,i):jn(t[o],i));return!e&&n&&s.push(s[0]),s}function Zn(t,e){return t.feature?n({},t.feature,{geometry:e}):Un(e)}function Un(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Gn={toGeoJSON:function(t){return Zn(this,{type:"Point",coordinates:jn(this.getLatLng(),t)})}};function $n(t,e){return new Fn(t,e)}Mn.include(Gn),On.include(Gn),An.include(Gn),Rn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=Hn(this._latlngs,e?1:0,!1,t);return Zn(this,{type:(e?"Multi":"")+"LineString",coordinates:n})}}),Nn.include({toGeoJSON:function(t){var e=!mn(this._latlngs),n=e&&!mn(this._latlngs[0]),i=Hn(this._latlngs,n?2:e?1:0,!0,t);return e||(i=[i]),Zn(this,{type:(n?"Multi":"")+"Polygon",coordinates:i})}}),kn.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(n){e.push(n.toGeoJSON(t).geometry.coordinates)}),Zn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var n="GeometryCollection"===e,i=[];return this.eachLayer(function(e){if(e.toGeoJSON){var s=e.toGeoJSON(t);if(n)i.push(s.geometry);else{var o=Un(s);"FeatureCollection"===o.type?i.push.apply(i,o.features):i.push(o)}}}),n?Zn(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}});var qn=$n,Wn=Ln.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,n){this._url=t,this._bounds=z(e),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(he(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&re(this._image),this},bringToBack:function(){return this._map&&ae(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:ie("img");he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),this.options.className&&he(e,this.options.className),e.onselectstart=h,e.onmousemove=h,e.onload=s(this.fire,this,"load"),e.onerror=s(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;fe(this._image,n,e)},_reset:function(){var t=this._image,e=new R(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=e.getSize();_e(t,e.min),t.style.width=n.x+"px",t.style.height=n.y+"px"},_updateOpacity:function(){pe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Kn=Wn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:ie("video");if(he(e,"leaflet-image-layer"),this._zoomAnimated&&he(e,"leaflet-zoom-animated"),e.onselectstart=h,e.onmousemove=h,e.onloadeddata=s(this.fire,this,"load"),t){for(var n=e.getElementsByTagName("source"),i=[],o=0;o<n.length;o++)i.push(n[o].src);this._url=n.length>0?i:[e.src]}else{g(this._url)||(this._url=[this._url]),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop;for(var r=0;r<this._url.length;r++){var a=ie("source");a.src=this._url[r],e.appendChild(a)}}}}),Yn=Ln.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){p(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&pe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&pe(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(pe(this._container,0),this._removeTimeout=setTimeout(s(se,void 0,this._container),200)):se(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=B(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&re(this._container),this},bringToBack:function(){return this._map&&ae(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=O(this.options.offset),n=this._getAnchor();this._zoomAnimated?_e(this._container,t.add(n)):e=e.add(t).add(n);var i=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=i+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),Qn=Yn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Yn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Dn||this._source.on("preclick",Me))},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Dn||this._source.off("preclick",Me))},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=ie("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=ie("div",t+"-content-wrapper",e);if(this._contentNode=ie("div",t+"-content",n),Ae(n),De(this._contentNode),ke(n,"contextmenu",Me),this._tipContainer=ie("div",t+"-tip-container",e),this._tip=ie("div",t+"-tip",this._tipContainer),this.options.closeButton){var i=this._closeButton=ie("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",ke(i,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var n=t.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),e.width=n+1+"px",e.whiteSpace="",e.height="";var i=this.options.maxHeight;i&&t.offsetHeight>i?(e.height=i+"px",he(t,"leaflet-popup-scrolled")):ue(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),n=this._getAnchor();_e(this._container,e.add(n))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,e=parseInt(ne(this._container,"marginBottom"),10)||0,n=this._container.offsetHeight+e,i=this._containerWidth,s=new D(this._containerLeft,-n-this._containerBottom);s._add(ge(this._container));var o=t.layerPointToContainerPoint(s),r=O(this.options.autoPanPadding),a=O(this.options.autoPanPaddingTopLeft||r),l=O(this.options.autoPanPaddingBottomRight||r),h=t.getSize(),u=0,c=0;o.x+i+l.x>h.x&&(u=o.x+i-h.x+l.x),o.x-u-a.x<0&&(u=o.x-a.x),o.y+n+l.y>h.y&&(c=o.y+n-h.y+l.y),o.y-c-a.y<0&&(c=o.y-a.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),Re(t)},_getAnchor:function(){return O(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});$e.mergeOptions({closePopupOnClick:!0}),$e.include({openPopup:function(t,e,n){return t instanceof Qn||(t=new Qn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ln.include({bindPopup:function(t,e){return t instanceof Qn?(p(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new Qn(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;this._popup&&this._map&&(Re(t),e instanceof Dn?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Xn=Yn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Yn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Yn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Yn.prototype.getEvents.call(this);return wt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){this._contentNode=this._container=ie("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,n=this._container,i=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),o=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,l=O(this.options.offset),h=this._getAnchor();"top"===o?t=t.add(O(-r/2+l.x,-a+l.y+h.y,!0)):"bottom"===o?t=t.subtract(O(r/2-l.x,-l.y,!0)):"center"===o?t=t.subtract(O(r/2+l.x,a/2-h.y+l.y,!0)):"right"===o||"auto"===o&&s.x<i.x?(o="right",t=t.add(O(l.x+h.x,h.y-a/2+l.y,!0))):(o="left",t=t.subtract(O(r+h.x-l.x,a/2-h.y-l.y,!0))),ue(n,"leaflet-tooltip-right"),ue(n,"leaflet-tooltip-left"),ue(n,"leaflet-tooltip-top"),ue(n,"leaflet-tooltip-bottom"),he(n,"leaflet-tooltip-"+o),_e(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&pe(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return O(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});$e.include({openTooltip:function(t,e,n){return t instanceof Xn||(t=new Xn(n).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ln.include({bindTooltip:function(t,e){return t instanceof Xn?(p(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=new Xn(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),wt&&(n.click=this._openTooltip)),this[e](n),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof Ln||(e=t,t=this),t instanceof Sn)for(var n in this._layers){t=this._layers[n];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(he(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(ue(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){this._tooltip&&this._map&&this.openTooltip(t.layer||t.target,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,n,i=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),n=this._map.containerPointToLayerPoint(e),i=this._map.layerPointToLatLng(n)),this._tooltip.setLatLng(i)}});var Jn=Tn.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;if(e.innerHTML=!1!==n.html?n.html:"",n.bgPos){var i=O(n.bgPos);e.style.backgroundPosition=-i.x+"px "+-i.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Tn.Default=In;var ti=Ln.extend({options:{tileSize:256,opacity:1,updateWhenIdle:_t,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),se(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(re(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=a(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof D?t:new D(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,n=this.getPane().children,i=-t(-1/0,1/0),s=0,o=n.length;s<o;s++)e=n[s].style.zIndex,n[s]!==this._container&&e&&(i=t(i,+e));isFinite(i)&&(this.options.zIndex=i+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!X){pe(this._container,this.options.opacity);var t=+new Date,e=!1,n=!1;for(var i in this._tiles){var s=this._tiles[i];if(s.current&&s.loaded){var o=Math.min(1,(t-s.loaded)/200);pe(s.el,o),o<1?e=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),e&&(S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this))}},_onOpaqueTile:h,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var n in this._levels)this._levels[n].el.children.length||n===t?(this._levels[n].el.style.zIndex=e-Math.abs(t-n),this._onUpdateLevel(n)):(se(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var i=this._levels[t],s=this._map;return i||((i=this._levels[t]={}).el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),i.el.style.zIndex=e,i.origin=s.project(s.unproject(s.getPixelOrigin()),t).round(),i.zoom=t,this._setZoomTransform(i,s.getCenter(),s.getZoom()),this._onCreateLevel(i)),this._level=i,i}},_onUpdateLevel:h,_onRemoveLevel:h,_onCreateLevel:h,_pruneTiles:function(){if(this._map){var t,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var i=e.coords;this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)se(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,n,i){var s=Math.floor(t/2),o=Math.floor(e/2),r=n-1,a=new D(+s,+o);a.z=+r;var l=this._tileCoordsToKey(a),h=this._tiles[l];return h&&h.active?(h.retain=!0,!0):(h&&h.loaded&&(h.retain=!0),r>i&&this._retainParent(s,o,r,i))},_retainChildren:function(t,e,n,i){for(var s=2*t;s<2*t+2;s++)for(var o=2*e;o<2*e+2;o++){var r=new D(s,o);r.z=n+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),n+1<i&&this._retainChildren(s,o,n+1,i))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,n,i){var s=this._clampZoom(Math.round(e));(void 0!==this.options.maxZoom&&s>this.options.maxZoom||void 0!==this.options.minZoom&&s<this.options.minZoom)&&(s=void 0),i&&!(this.options.updateWhenZooming&&s!==this._tileZoom)||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==s&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var n in this._levels)this._setZoomTransform(this._levels[n],t,e)},_setZoomTransform:function(t,e,n){var i=this._map.getZoomScale(n,t.zoom),s=t.origin.multiplyBy(i).subtract(this._map._getNewPixelOrigin(e,n)).round();ft?fe(t.el,s,i):_e(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,n=this._tileSize=this.getTileSize(),i=this._tileZoom,s=this._map.getPixelWorldBounds(this._tileZoom);s&&(this._globalTileRange=this._pxBoundsToTileRange(s)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],i).x/n.x),Math.ceil(t.project([0,e.wrapLng[1]],i).x/n.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],i).y/n.x),Math.ceil(t.project([e.wrapLat[1],0],i).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,n=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(n,this._tileZoom),s=e.project(t,this._tileZoom).floor(),o=e.getSize().divideBy(2*i);return new R(s.subtract(o),s.add(o))},_update:function(t){var e=this._map;if(e){var n=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var i=this._getTiledPixelBounds(t),s=this._pxBoundsToTileRange(i),o=s.getCenter(),r=[],a=this.options.keepBuffer,l=new R(s.getBottomLeft().subtract([a,-a]),s.getTopRight().add([a,-a]));if(!(isFinite(s.min.x)&&isFinite(s.min.y)&&isFinite(s.max.x)&&isFinite(s.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var h in this._tiles){var u=this._tiles[h].coords;u.z===this._tileZoom&&l.contains(new D(u.x,u.y))||(this._tiles[h].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(t,n);else{for(var c=s.min.y;c<=s.max.y;c++)for(var d=s.min.x;d<=s.max.x;d++){var p=new D(d,c);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:r.push(p)}}if(r.sort(function(t,e){return t.distanceTo(o)-e.distanceTo(o)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(d=0;d<r.length;d++)this._addTile(r[d],f);this._level.el.appendChild(f)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var n=this._globalTileRange;if(!e.wrapLng&&(t.x<n.min.x||t.x>n.max.x)||!e.wrapLat&&(t.y<n.min.y||t.y>n.max.y))return!1}if(!this.options.bounds)return!0;var i=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(i)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,n=this.getTileSize(),i=t.scaleBy(n),s=i.add(n);return[e.unproject(i,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),n=new F(e[0],e[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),n=new D(+e[0],+e[1]);return n.z=+e[2],n},_removeTile:function(t){var e=this._tiles[t];e&&(se(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){he(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=h,t.onmousemove=h,X&&this.options.opacity<1&&pe(t,this.options.opacity),et&&!nt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var n=this._getTilePos(t),i=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),s(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&k(s(this._tileReady,this,t,null,o)),_e(o,n),this._tiles[i]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,n){e&&this.fire("tileerror",{error:e,tile:n,coords:t});var i=this._tileCoordsToKey(t);(n=this._tiles[i])&&(n.loaded=+new Date,this._map._fadeAnimated?(pe(n.el,0),S(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),e||(he(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),X||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(s(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new R(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),ei=ti.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Ct&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),et||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var n=document.createElement("img");return ke(n,"load",s(this._tileOnLoad,this,e,n)),ke(n,"error",s(this._tileOnError,this,e,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return _(this._url,n(e,this.options))},_tileOnLoad:function(t,e){X?setTimeout(s(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,n){var i=this.options.errorTileUrl;i&&e.getAttribute("src")!==i&&(e.src=i),t(n,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=h,e.onerror=h,e.complete||(e.src=v,se(e),delete this._tiles[t]))},_removeTile:function(t){var e=this._tiles[t];if(e)return st||e.el.setAttribute("src",v),ti.prototype._removeTile.call(this,t)},_tileReady:function(t,e,n){if(this._map&&(!n||n.getAttribute("src")!==v))return ti.prototype._tileReady.call(this,t,e,n)}});function ni(t,e){return new ei(t,e)}var ii=ei.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n({},this.defaultWmsParams);for(var s in e)s in this.options||(i[s]=e[s]);var o=(e=p(this,e)).detectRetina&&Ct?2:1,r=this.getTileSize();i.width=r.x*o,i.height=r.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,ei.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),n=this._crs,i=N(n.project(e[0]),n.project(e[1])),s=i.min,o=i.max,r=(this._wmsVersion>=1.3&&this._crs===En?[s.y,s.x,o.y,o.x]:[s.x,s.y,o.x,o.y]).join(","),a=ei.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n(this.wmsParams,t),e||this.redraw(),this}});ei.WMS=ii,ni.wms=function(t,e){return new ii(t,e)};var si=Ln.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&he(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var n=this._map.getZoomScale(e,this._zoom),i=ge(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),r=this._map.project(t,e).subtract(o),a=s.multiplyBy(-n).add(i).add(s).subtract(r);ft?fe(this._container,a,n):_e(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),n=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new R(n,n.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),oi=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){si.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ke(t,"mousemove",a(this._onMouseMove,32,this),this),ke(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ke(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){S(this._redrawRequest),delete this._ctx,se(this._container),Te(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=this._container,n=t.getSize(),i=Ct?2:1;_e(e,t.min),e.width=i*n.x,e.height=i*n.y,e.style.width=n.x+"px",e.style.height=n.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){si.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,n=e.next,i=e.prev;n?n.prev=i:this._drawLast=i,i?i.next=n:this._drawFirst=n,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,n,i=t.options.dashArray.split(/[, ]+/),s=[];for(n=0;n<i.length;n++){if(e=Number(i[n]),isNaN(e))return;s.push(e)}t.options._dashArray=s}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||k(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new R,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var n=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var i=this._drawFirst;i;i=i.next)t=i.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var n,i,s,o,r=t._parts,a=r.length,l=this._ctx;if(a){for(l.beginPath(),n=0;n<a;n++){for(i=0,s=r[n].length;i<s;i++)o=r[n][i],l[i?"lineTo":"moveTo"](o.x,o.y);e&&l.closePath()}this._fillStroke(l,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,n=this._ctx,i=Math.max(Math.round(t._radius),1),s=(Math.max(Math.round(t._radiusY),1)||i)/i;1!==s&&(n.save(),n.scale(1,s)),n.beginPath(),n.arc(e.x,e.y/s,i,0,2*Math.PI,!1),1!==s&&n.restore(),this._fillStroke(n,t)}},_fillStroke:function(t,e){var n=e.options;n.fill&&(t.globalAlpha=n.fillOpacity,t.fillStyle=n.fillColor||n.color,t.fill(n.fillRule||"evenodd")),n.stroke&&0!==n.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=n.opacity,t.lineWidth=n.weight,t.strokeStyle=n.color,t.lineCap=n.lineCap,t.lineJoin=n.lineJoin,t.stroke())},_onClick:function(t){for(var e,n,i=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)(e=s.layer).options.interactive&&e._containsPoint(i)&&!this._map._draggableMoved(e)&&(n=e);n&&(je(t),this._fireEvent([n],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(ue(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var n,i,s=this._drawFirst;s;s=s.next)(n=s.layer).options.interactive&&n._containsPoint(e)&&(i=n);i!==this._hoveredLayer&&(this._handleMouseOut(t),i&&(he(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseover"),this._hoveredLayer=i)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,n){this._map._fireDOMEvent(e,n||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;n&&(n.prev=i,i?i.next=n:n&&(this._drawFirst=n),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var n=e.next,i=e.prev;i&&(i.next=n,n?n.prev=i:i&&(this._drawLast=i),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function ri(t){return Lt?new oi(t):null}var ai=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),li={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(si.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ai("shape");he(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ai("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;se(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,n=t._fill,i=t.options,s=t._container;s.stroked=!!i.stroke,s.filled=!!i.fill,i.stroke?(e||(e=t._stroke=ai("stroke")),s.appendChild(e),e.weight=i.weight+"px",e.color=i.color,e.opacity=i.opacity,e.dashStyle=i.dashArray?g(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):"",e.endcap=i.lineCap.replace("butt","flat"),e.joinstyle=i.lineJoin):e&&(s.removeChild(e),t._stroke=null),i.fill?(n||(n=t._fill=ai("fill")),s.appendChild(n),n.color=i.fillColor||i.color,n.opacity=i.fillOpacity):n&&(s.removeChild(n),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),n=Math.round(t._radius),i=Math.round(t._radiusY||n);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+n+","+i+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){re(t._container)},_bringToBack:function(t){ae(t._container)}},hi=St?ai:W,ui=si.extend({getEvents:function(){var t=si.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=hi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=hi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Te(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){si.prototype._update.call(this);var t=this._bounds,e=t.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,n.setAttribute("width",e.x),n.setAttribute("height",e.y)),_e(n,t.min),n.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=hi("path");t.options.className&&he(e,t.options.className),t.options.interactive&&he(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){se(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,n=t.options;e&&(n.stroke?(e.setAttribute("stroke",n.color),e.setAttribute("stroke-opacity",n.opacity),e.setAttribute("stroke-width",n.weight),e.setAttribute("stroke-linecap",n.lineCap),e.setAttribute("stroke-linejoin",n.lineJoin),n.dashArray?e.setAttribute("stroke-dasharray",n.dashArray):e.removeAttribute("stroke-dasharray"),n.dashOffset?e.setAttribute("stroke-dashoffset",n.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),n.fill?(e.setAttribute("fill",n.fillColor||n.color),e.setAttribute("fill-opacity",n.fillOpacity),e.setAttribute("fill-rule",n.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,K(t._parts,e))},_updateCircle:function(t){var e=t._point,n=Math.max(Math.round(t._radius),1),i="a"+n+","+(Math.max(Math.round(t._radiusY),1)||n)+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-n)+","+e.y+i+2*n+",0 "+i+2*-n+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){re(t._path)},_bringToBack:function(t){ae(t._path)}});function ci(t){return kt||St?new ui(t):null}St&&ui.include(li),$e.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&ri(t)||ci(t)}});var di=Nn.extend({initialize:function(t,e){Nn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=z(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ui.create=hi,ui.pointsToPath=K,Fn.geometryToLayer=zn,Fn.coordsToLatLng=Vn,Fn.coordsToLatLngs=Bn,Fn.latLngToCoords=jn,Fn.latLngsToCoords=Hn,Fn.getFeature=Zn,Fn.asFeature=Un,$e.mergeOptions({boxZoom:!0});var pi=Je.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Te(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),qt(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(t),ke(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),he(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new R(this._point,this._startPoint),n=e.getSize();_e(this._box,e.min),this._box.style.width=n.x+"px",this._box.style.height=n.y+"px"},_finish:function(){this._moved&&(se(this._box),ue(this._container,"leaflet-crosshair")),Wt(),be(),Te(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(s(this._resetState,this),0);var e=new F(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});$e.addInitHook("addHandler","boxZoom",pi),$e.mergeOptions({doubleClickZoom:!0});var mi=Je.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,n=e.getZoom(),i=e.options.zoomDelta,s=t.originalEvent.shiftKey?n-i:n+i;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});$e.addInitHook("addHandler","doubleClickZoom",mi),$e.mergeOptions({dragging:!0,inertia:!nt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=Je.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new rn(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}he(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ue(this._map._container,"leaflet-grab"),ue(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=z(this._map.options.maxBounds);this._offsetLimit=N(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),n=this._initialWorldOffset,i=this._draggable._newPos.x,s=(i-e+n)%t+e-n,o=(i+e+n)%t-e-n,r=Math.abs(s+n)<Math.abs(o+n)?s:o;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,n=e.options,i=!n.inertia||this._times.length<2;if(e.fire("dragend",t),i)e.fire("moveend");else{this._prunePositions(+new Date);var s=this._lastPos.subtract(this._positions[0]),o=n.easeLinearity,r=s.multiplyBy(o/((this._lastTime-this._times[0])/1e3)),a=r.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,a),h=r.multiplyBy(l/a),u=l/(n.inertiaDeceleration*o),c=h.multiplyBy(-u/2).round();c.x||c.y?(c=e._limitOffset(c,e.options.maxBounds),k(function(){e.panBy(c,{duration:u,easeLinearity:o,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}});$e.addInitHook("addHandler","dragging",fi),$e.mergeOptions({keyboard:!0,keyboardPanDelta:80});var _i=Je.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),ke(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Te(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,n=t.scrollTop||e.scrollTop,i=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(i,n)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,n,i=this._panKeys={},s=this.keyCodes;for(e=0,n=s.left.length;e<n;e++)i[s.left[e]]=[-1*t,0];for(e=0,n=s.right.length;e<n;e++)i[s.right[e]]=[t,0];for(e=0,n=s.down.length;e<n;e++)i[s.down[e]]=[0,t];for(e=0,n=s.up.length;e<n;e++)i[s.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,n,i=this._zoomKeys={},s=this.keyCodes;for(e=0,n=s.zoomIn.length;e<n;e++)i[s.zoomIn[e]]=t;for(e=0,n=s.zoomOut.length;e<n;e++)i[s.zoomOut[e]]=-t},_addHooks:function(){ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Te(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,n=t.keyCode,i=this._map;if(n in this._panKeys)i._panAnim&&i._panAnim._inProgress||(e=this._panKeys[n],t.shiftKey&&(e=O(e).multiplyBy(3)),i.panBy(e),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds));else if(n in this._zoomKeys)i.setZoom(i.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!i._popup||!i._popup.options.closeOnEscapeKey)return;i.closePopup()}Re(t)}}});$e.addInitHook("addHandler","keyboard",_i),$e.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var gi=Je.extend({addHooks:function(){ke(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Te(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=ze(t),n=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(s(this._performZoom,this),i),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),n=this._map.options.zoomSnap||0;t._stop();var i=4*Math.log(2/(1+Math.exp(-Math.abs(this._delta/(4*this._map.options.wheelPxPerZoomLevel)))))/Math.LN2,s=n?Math.ceil(i/n)*n:i,o=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,o&&("center"===t.options.scrollWheelZoom?t.setZoom(e+o):t.setZoomAround(this._lastMousePos,e+o))}});$e.addInitHook("addHandler","scrollWheelZoom",gi),$e.mergeOptions({tap:!0,tapTolerance:15});var yi=Je.extend({addHooks:function(){ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Te(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Oe(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],n=e.target;this._startPos=this._newPos=new D(e.clientX,e.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&he(n,"leaflet-active"),this._holdTimeout=setTimeout(s(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),ke(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Te(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],n=e.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&ue(n,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var n=document.createEvent("MouseEvents");n._simulated=!0,e.target._simulatedClick=!0,n.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(n)}});wt&&!bt&&$e.addInitHook("addHandler","tap",yi),$e.mergeOptions({touchZoom:wt&&!nt,bounceAtZoomLimits:!0});var vi=Je.extend({addHooks:function(){he(this._map._container,"leaflet-touch-zoom"),ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ue(this._map._container,"leaflet-touch-zoom"),Te(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(n.add(i)._divideBy(2))),this._startDist=n.distanceTo(i),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ke(document,"touchmove",this._onTouchMove,this),ke(document,"touchend",this._onTouchEnd,this),Oe(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,n=e.mouseEventToContainerPoint(t.touches[0]),i=e.mouseEventToContainerPoint(t.touches[1]),o=n.distanceTo(i)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var r=n._add(i)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),S(this._animRequest);var a=s(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=k(a,this,!0),Oe(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,S(this._animRequest),Te(document,"touchmove",this._onTouchMove),Te(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});$e.addInitHook("addHandler","touchZoom",vi),$e.BoxZoom=pi,$e.DoubleClickZoom=mi,$e.Drag=fi,$e.Keyboard=_i,$e.ScrollWheelZoom=gi,$e.Tap=yi,$e.TouchZoom=vi,Object.freeze=e,t.version="1.4.0",t.Control=qe,t.control=We,t.Browser=It,t.Evented=M,t.Mixin=en,t.Util=T,t.Class=I,t.Handler=Je,t.extend=n,t.bind=s,t.stamp=r,t.setOptions=p,t.DomEvent=Ue,t.DomUtil=Le,t.PosAnimation=Ge,t.Draggable=rn,t.LineUtil=_n,t.PolyUtil=yn,t.Point=D,t.point=O,t.Bounds=R,t.bounds=N,t.Transformation=U,t.transformation=G,t.Projection=wn,t.LatLng=V,t.latLng=B,t.LatLngBounds=F,t.latLngBounds=z,t.CRS=j,t.GeoJSON=Fn,t.geoJSON=$n,t.geoJson=qn,t.Layer=Ln,t.LayerGroup=kn,t.layerGroup=function(t,e){return new kn(t,e)},t.FeatureGroup=Sn,t.featureGroup=function(t){return new Sn(t)},t.ImageOverlay=Wn,t.imageOverlay=function(t,e,n){return new Wn(t,e,n)},t.VideoOverlay=Kn,t.videoOverlay=function(t,e,n){return new Kn(t,e,n)},t.DivOverlay=Yn,t.Popup=Qn,t.popup=function(t,e){return new Qn(t,e)},t.Tooltip=Xn,t.tooltip=function(t,e){return new Xn(t,e)},t.Icon=Tn,t.icon=function(t){return new Tn(t)},t.DivIcon=Jn,t.divIcon=function(t){return new Jn(t)},t.Marker=Mn,t.marker=function(t,e){return new Mn(t,e)},t.TileLayer=ei,t.tileLayer=ni,t.GridLayer=ti,t.gridLayer=function(t){return new ti(t)},t.SVG=ui,t.svg=ci,t.Renderer=si,t.Canvas=oi,t.canvas=ri,t.Path=Dn,t.CircleMarker=An,t.circleMarker=function(t,e){return new An(t,e)},t.Circle=On,t.circle=function(t,e,n){return new On(t,e,n)},t.Polyline=Rn,t.polyline=function(t,e){return new Rn(t,e)},t.Polygon=Nn,t.polygon=function(t,e){return new Nn(t,e)},t.Rectangle=di,t.rectangle=function(t,e){return new di(t,e)},t.Map=$e,t.map=function(t,e){return new $e(t,e)};var bi=window.L;t.noConflict=function(){return window.L=bi,this},window.L=t}(e)},GPNb:function(t,e){function n(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="GPNb"},INa4:function(t,e){!function(t,e,n){L.drawVersion="0.4.14",L.Draw={},L.drawLocal={draw:{toolbar:{actions:{title:"Cancel drawing",text:"Cancel"},finish:{title:"Finish drawing",text:"Finish"},undo:{title:"Delete last point drawn",text:"Delete last point"},buttons:{polyline:"Draw a polyline",polygon:"Draw a polygon",rectangle:"Draw a rectangle",circle:"Draw a circle",marker:"Draw a marker",circlemarker:"Draw a circlemarker"}},handlers:{circle:{tooltip:{start:"Click and drag to draw circle."},radius:"Radius"},circlemarker:{tooltip:{start:"Click map to place circle marker."}},marker:{tooltip:{start:"Click map to place marker."}},polygon:{tooltip:{start:"Click to start drawing shape.",cont:"Click to continue drawing shape.",end:"Click first point to close this shape."}},polyline:{error:"<strong>Error:</strong> shape edges cannot cross!",tooltip:{start:"Click to start drawing line.",cont:"Click to continue drawing line.",end:"Click last point to finish line."}},rectangle:{tooltip:{start:"Click and drag to draw rectangle."}},simpleshape:{tooltip:{end:"Release mouse to finish drawing."}}}},edit:{toolbar:{actions:{save:{title:"Save changes",text:"Save"},cancel:{title:"Cancel editing, discards all changes",text:"Cancel"},clearAll:{title:"Clear all layers",text:"Clear All"}},buttons:{edit:"Edit layers",editDisabled:"No layers to edit",remove:"Delete layers",removeDisabled:"No layers to delete"}},handlers:{edit:{tooltip:{text:"Drag handles or markers to edit features.",subtext:"Click cancel to undo changes."}},remove:{tooltip:{text:"Click on a feature to remove."}}}}},L.Draw.Event={},L.Draw.Event.CREATED="draw:created",L.Draw.Event.EDITED="draw:edited",L.Draw.Event.DELETED="draw:deleted",L.Draw.Event.DRAWSTART="draw:drawstart",L.Draw.Event.DRAWSTOP="draw:drawstop",L.Draw.Event.DRAWVERTEX="draw:drawvertex",L.Draw.Event.EDITSTART="draw:editstart",L.Draw.Event.EDITMOVE="draw:editmove",L.Draw.Event.EDITRESIZE="draw:editresize",L.Draw.Event.EDITVERTEX="draw:editvertex",L.Draw.Event.EDITSTOP="draw:editstop",L.Draw.Event.DELETESTART="draw:deletestart",L.Draw.Event.DELETESTOP="draw:deletestop",L.Draw.Event.TOOLBAROPENED="draw:toolbaropened",L.Draw.Event.TOOLBARCLOSED="draw:toolbarclosed",L.Draw.Event.MARKERCONTEXT="draw:markercontext",L.Draw=L.Draw||{},L.Draw.Feature=L.Handler.extend({initialize:function(t,e){this._map=t,this._container=t._container,this._overlayPane=t._panes.overlayPane,this._popupPane=t._panes.popupPane,e&&e.shapeOptions&&(e.shapeOptions=L.Util.extend({},this.options.shapeOptions,e.shapeOptions)),L.setOptions(this,e);var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.Draw.Feature.include(L.Evented.prototype):L.Draw.Feature.include(L.Mixin.Events)},enable:function(){this._enabled||(L.Handler.prototype.enable.call(this),this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DRAWSTART,{layerType:this.type}))},disable:function(){this._enabled&&(L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DRAWSTOP,{layerType:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(L.DomUtil.disableTextSelection(),t.getContainer().focus(),this._tooltip=new L.Draw.Tooltip(this._map),L.DomEvent.on(this._container,"keyup",this._cancelDrawing,this))},removeHooks:function(){this._map&&(L.DomUtil.enableTextSelection(),this._tooltip.dispose(),this._tooltip=null,L.DomEvent.off(this._container,"keyup",this._cancelDrawing,this))},setOptions:function(t){L.setOptions(this,t)},_fireCreatedEvent:function(t){this._map.fire(L.Draw.Event.CREATED,{layer:t,layerType:this.type})},_cancelDrawing:function(t){27===t.keyCode&&(this._map.fire("draw:canceled",{layerType:this.type}),this.disable())}}),L.Draw.Polyline=L.Draw.Feature.extend({statics:{TYPE:"polyline"},Poly:L.Polyline,options:{allowIntersection:!0,repeatMode:!1,drawError:{color:"#b00b00",timeout:2500},icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),guidelineDistance:20,maxGuideLineLength:4e3,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!1,clickable:!0},metric:!0,feet:!0,nautic:!1,showLength:!0,zIndexOffset:2e3,factor:1,maxPoints:0},initialize:function(t,e){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this.options.drawError.message=L.drawLocal.draw.handlers.polyline.error,e&&e.drawError&&(e.drawError=L.Util.extend({},this.options.drawError,e.drawError)),this.type=L.Draw.Polyline.TYPE,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._markers=[],this._markerGroup=new L.LayerGroup,this._map.addLayer(this._markerGroup),this._poly=new L.Polyline([],this.options.shapeOptions),this._tooltip.updateContent(this._getTooltipText()),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("mouseout",this._onMouseOut,this).on("mousemove",this._onMouseMove,this).on("mousedown",this._onMouseDown,this).on("mouseup",this._onMouseUp,this).addTo(this._map),this._map.on("mouseup",this._onMouseUp,this).on("mousemove",this._onMouseMove,this).on("zoomlevelschange",this._onZoomEnd,this).on("touchstart",this._onTouch,this).on("zoomend",this._onZoomEnd,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._clearHideErrorTimeout(),this._cleanUpShape(),this._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers,this._map.removeLayer(this._poly),delete this._poly,this._mouseMarker.off("mousedown",this._onMouseDown,this).off("mouseout",this._onMouseOut,this).off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._clearGuides(),this._map.off("mouseup",this._onMouseUp,this).off("mousemove",this._onMouseMove,this).off("zoomlevelschange",this._onZoomEnd,this).off("zoomend",this._onZoomEnd,this).off("touchstart",this._onTouch,this).off("click",this._onTouch,this)},deleteLastVertex:function(){if(!(this._markers.length<=1)){var t=this._markers.pop(),e=this._poly,n=e.getLatLngs(),i=n.splice(-1,1)[0];this._poly.setLatLngs(n),this._markerGroup.removeLayer(t),e.getLatLngs().length<2&&this._map.removeLayer(e),this._vertexChanged(i,!1)}},addVertex:function(t){this._markers.length>=2&&!this.options.allowIntersection&&this._poly.newLatLngIntersects(t)?this._showErrorTooltip():(this._errorShown&&this._hideErrorTooltip(),this._markers.push(this._createMarker(t)),this._poly.addLatLng(t),2===this._poly.getLatLngs().length&&this._map.addLayer(this._poly),this._vertexChanged(t,!0))},completeShape:function(){this._markers.length<=1||(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_finishShape:function(){var t=this._poly._defaultShape?this._poly._defaultShape():this._poly.getLatLngs(),e=this._poly.newLatLngIntersects(t[t.length-1]);!this.options.allowIntersection&&e||!this._shapeIsValid()?this._showErrorTooltip():(this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable())},_shapeIsValid:function(){return!0},_onZoomEnd:function(){null!==this._markers&&this._updateGuide()},_onMouseMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.layerPointToLatLng(e);this._currentLatLng=n,this._updateTooltip(n),this._updateGuide(e),this._mouseMarker.setLatLng(n),L.DomEvent.preventDefault(t.originalEvent)},_vertexChanged:function(t,e){this._map.fire(L.Draw.Event.DRAWVERTEX,{layers:this._markerGroup}),this._updateFinishHandler(),this._updateRunningMeasure(t,e),this._clearGuides(),this._updateTooltip()},_onMouseDown:function(t){if(!this._clickHandled&&!this._touchHandled&&!this._disableMarkers){this._onMouseMove(t),this._clickHandled=!0,this._disableNewMarkers();var e=t.originalEvent;this._startPoint.call(this,e.clientX,e.clientY)}},_startPoint:function(t,e){this._mouseDownOrigin=L.point(t,e)},_onMouseUp:function(t){var e=t.originalEvent;this._endPoint.call(this,e.clientX,e.clientY,t),this._clickHandled=null},_endPoint:function(e,n,i){if(this._mouseDownOrigin){var s=L.point(e,n).distanceTo(this._mouseDownOrigin),o=this._calculateFinishDistance(i.latlng);this.options.maxPoints>1&&this.options.maxPoints==this._markers.length+1?(this.addVertex(i.latlng),this._finishShape()):o<10&&L.Browser.touch?this._finishShape():Math.abs(s)<9*(t.devicePixelRatio||1)&&this.addVertex(i.latlng),this._enableNewMarkers()}this._mouseDownOrigin=null},_onTouch:function(t){var e,n,i=t.originalEvent;!i.touches||!i.touches[0]||this._clickHandled||this._touchHandled||this._disableMarkers||(e=i.touches[0].clientX,n=i.touches[0].clientY,this._disableNewMarkers(),this._touchHandled=!0,this._startPoint.call(this,e,n),this._endPoint.call(this,e,n,t),this._touchHandled=null),this._clickHandled=null},_onMouseOut:function(){this._tooltip&&this._tooltip._onMouseOut.call(this._tooltip)},_calculateFinishDistance:function(t){var e;if(this._markers.length>0){var n;if(this.type===L.Draw.Polyline.TYPE)n=this._markers[this._markers.length-1];else{if(this.type!==L.Draw.Polygon.TYPE)return 1/0;n=this._markers[0]}var i=this._map.latLngToContainerPoint(n.getLatLng()),s=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset}),o=this._map.latLngToContainerPoint(s.getLatLng());e=i.distanceTo(o)}else e=1/0;return e},_updateFinishHandler:function(){var t=this._markers.length;t>1&&this._markers[t-1].on("click",this._finishShape,this),t>2&&this._markers[t-2].off("click",this._finishShape,this)},_createMarker:function(t){var e=new L.Marker(t,{icon:this.options.icon,zIndexOffset:2*this.options.zIndexOffset});return this._markerGroup.addLayer(e),e},_updateGuide:function(t){var e=this._markers?this._markers.length:0;e>0&&(t=t||this._map.latLngToLayerPoint(this._currentLatLng),this._clearGuides(),this._drawGuide(this._map.latLngToLayerPoint(this._markers[e-1].getLatLng()),t))},_updateTooltip:function(t){var e=this._getTooltipText();t&&this._tooltip.updatePosition(t),this._errorShown||this._tooltip.updateContent(e)},_drawGuide:function(t,e){var n,i,s,o=Math.floor(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))),r=this.options.maxGuideLineLength,a=o>r?o-r:this.options.guidelineDistance;for(this._guidesContainer||(this._guidesContainer=L.DomUtil.create("div","leaflet-draw-guides",this._overlayPane));a<o;a+=this.options.guidelineDistance)n=a/o,i={x:Math.floor(t.x*(1-n)+n*e.x),y:Math.floor(t.y*(1-n)+n*e.y)},(s=L.DomUtil.create("div","leaflet-draw-guide-dash",this._guidesContainer)).style.backgroundColor=this._errorShown?this.options.drawError.color:this.options.shapeOptions.color,L.DomUtil.setPosition(s,i)},_updateGuideColor:function(t){if(this._guidesContainer)for(var e=0,n=this._guidesContainer.childNodes.length;e<n;e++)this._guidesContainer.childNodes[e].style.backgroundColor=t},_clearGuides:function(){if(this._guidesContainer)for(;this._guidesContainer.firstChild;)this._guidesContainer.removeChild(this._guidesContainer.firstChild)},_getTooltipText:function(){var t,e;return 0===this._markers.length?t={text:L.drawLocal.draw.handlers.polyline.tooltip.start}:(e=this.options.showLength?this._getMeasurementString():"",t=1===this._markers.length?{text:L.drawLocal.draw.handlers.polyline.tooltip.cont,subtext:e}:{text:L.drawLocal.draw.handlers.polyline.tooltip.end,subtext:e}),t},_updateRunningMeasure:function(t,e){var n,i,s=this._markers.length;1===this._markers.length?this._measurementRunningTotal=0:(n=s-(e?2:1),i=L.GeometryUtil.isVersion07x()?t.distanceTo(this._markers[n].getLatLng())*(this.options.factor||1):this._map.distance(t,this._markers[n].getLatLng())*(this.options.factor||1),this._measurementRunningTotal+=i*(e?1:-1))},_getMeasurementString:function(){var t,e=this._currentLatLng,n=this._markers[this._markers.length-1].getLatLng();return t=L.GeometryUtil.isVersion07x()?n&&e&&e.distanceTo?this._measurementRunningTotal+e.distanceTo(n)*(this.options.factor||1):this._measurementRunningTotal||0:n&&e?this._measurementRunningTotal+this._map.distance(e,n)*(this.options.factor||1):this._measurementRunningTotal||0,L.GeometryUtil.readableDistance(t,this.options.metric,this.options.feet,this.options.nautic,this.options.precision)},_showErrorTooltip:function(){this._errorShown=!0,this._tooltip.showAsError().updateContent({text:this.options.drawError.message}),this._updateGuideColor(this.options.drawError.color),this._poly.setStyle({color:this.options.drawError.color}),this._clearHideErrorTimeout(),this._hideErrorTimeout=setTimeout(L.Util.bind(this._hideErrorTooltip,this),this.options.drawError.timeout)},_hideErrorTooltip:function(){this._errorShown=!1,this._clearHideErrorTimeout(),this._tooltip.removeError().updateContent(this._getTooltipText()),this._updateGuideColor(this.options.shapeOptions.color),this._poly.setStyle({color:this.options.shapeOptions.color})},_clearHideErrorTimeout:function(){this._hideErrorTimeout&&(clearTimeout(this._hideErrorTimeout),this._hideErrorTimeout=null)},_disableNewMarkers:function(){this._disableMarkers=!0},_enableNewMarkers:function(){setTimeout((function(){this._disableMarkers=!1}).bind(this),50)},_cleanUpShape:function(){this._markers.length>1&&this._markers[this._markers.length-1].off("click",this._finishShape,this)},_fireCreatedEvent:function(){var t=new this.Poly(this._poly.getLatLngs(),this.options.shapeOptions);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.Polygon=L.Draw.Polyline.extend({statics:{TYPE:"polygon"},Poly:L.Polygon,options:{showArea:!1,showLength:!1,shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},metric:!0,feet:!0,nautic:!1,precision:{}},initialize:function(t,e){L.Draw.Polyline.prototype.initialize.call(this,t,e),this.type=L.Draw.Polygon.TYPE},_updateFinishHandler:function(){var t=this._markers.length;1===t&&this._markers[0].on("click",this._finishShape,this),t>2&&(this._markers[t-1].on("dblclick",this._finishShape,this),t>3&&this._markers[t-2].off("dblclick",this._finishShape,this))},_getTooltipText:function(){var t,e;return 0===this._markers.length?t=L.drawLocal.draw.handlers.polygon.tooltip.start:this._markers.length<3?(t=L.drawLocal.draw.handlers.polygon.tooltip.cont,e=this._getMeasurementString()):(t=L.drawLocal.draw.handlers.polygon.tooltip.end,e=this._getMeasurementString()),{text:t,subtext:e}},_getMeasurementString:function(){var t=this._area,e="";return t||this.options.showLength?(this.options.showLength&&(e=L.Draw.Polyline.prototype._getMeasurementString.call(this)),t&&(e+="<br>"+L.GeometryUtil.readableArea(t,this.options.metric,this.options.precision)),e):null},_shapeIsValid:function(){return this._markers.length>=3},_vertexChanged:function(t,e){var n;!this.options.allowIntersection&&this.options.showArea&&(n=this._poly.getLatLngs(),this._area=L.GeometryUtil.geodesicArea(n)),L.Draw.Polyline.prototype._vertexChanged.call(this,t,e)},_cleanUpShape:function(){var t=this._markers.length;t>0&&(this._markers[0].off("click",this._finishShape,this),t>2&&this._markers[t-1].off("dblclick",this._finishShape,this))}}),L.SimpleShape={},L.Draw.SimpleShape=L.Draw.Feature.extend({options:{repeatMode:!1},initialize:function(t,e){this._endLabelText=L.drawLocal.draw.handlers.simpleshape.tooltip.end,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._mapDraggable=this._map.dragging.enabled(),this._mapDraggable&&this._map.dragging.disable(),this._container.style.cursor="crosshair",this._tooltip.updateContent({text:this._initialLabelText}),this._map.on("mousedown",this._onMouseDown,this).on("mousemove",this._onMouseMove,this).on("touchstart",this._onMouseDown,this).on("touchmove",this._onMouseMove,this),e.addEventListener("touchstart",L.DomEvent.preventDefault,{passive:!1}))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._mapDraggable&&this._map.dragging.enable(),this._container.style.cursor="",this._map.off("mousedown",this._onMouseDown,this).off("mousemove",this._onMouseMove,this).off("touchstart",this._onMouseDown,this).off("touchmove",this._onMouseMove,this),L.DomEvent.off(e,"mouseup",this._onMouseUp,this),L.DomEvent.off(e,"touchend",this._onMouseUp,this),e.removeEventListener("touchstart",L.DomEvent.preventDefault),this._shape&&(this._map.removeLayer(this._shape),delete this._shape)),this._isDrawing=!1},_getTooltipText:function(){return{text:this._endLabelText}},_onMouseDown:function(t){this._isDrawing=!0,this._startLatLng=t.latlng,L.DomEvent.on(e,"mouseup",this._onMouseUp,this).on(e,"touchend",this._onMouseUp,this).preventDefault(t.originalEvent)},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._isDrawing&&(this._tooltip.updateContent(this._getTooltipText()),this._drawShape(e))},_onMouseUp:function(){this._shape&&this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()}}),L.Draw.Rectangle=L.Draw.SimpleShape.extend({statics:{TYPE:"rectangle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,showArea:!0,clickable:!0},metric:!0},initialize:function(t,e){this.type=L.Draw.Rectangle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.rectangle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},disable:function(){this._enabled&&(this._isCurrentlyTwoClickDrawing=!1,L.Draw.SimpleShape.prototype.disable.call(this))},_onMouseUp:function(t){this._shape||this._isCurrentlyTwoClickDrawing?this._isCurrentlyTwoClickDrawing&&!function(t,e){for(;(t=t.parentElement)&&!t.classList.contains("leaflet-pane"););return t}(t.target)||L.Draw.SimpleShape.prototype._onMouseUp.call(this):this._isCurrentlyTwoClickDrawing=!0},_drawShape:function(t){this._shape?this._shape.setBounds(new L.LatLngBounds(this._startLatLng,t)):(this._shape=new L.Rectangle(new L.LatLngBounds(this._startLatLng,t),this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Rectangle(this._shape.getBounds(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_getTooltipText:function(){var t,e,n,i=L.Draw.SimpleShape.prototype._getTooltipText.call(this),s=this.options.showArea;return this._shape&&(t=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),e=L.GeometryUtil.geodesicArea(t),n=s?L.GeometryUtil.readableArea(e,this.options.metric):""),{text:i.text,subtext:n}}}),L.Draw.Marker=L.Draw.Feature.extend({statics:{TYPE:"marker"},options:{icon:new L.Icon.Default,repeatMode:!1,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.Marker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.marker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},addHooks:function(){L.Draw.Feature.prototype.addHooks.call(this),this._map&&(this._tooltip.updateContent({text:this._initialLabelText}),this._mouseMarker||(this._mouseMarker=L.marker(this._map.getCenter(),{icon:L.divIcon({className:"leaflet-mouse-marker",iconAnchor:[20,20],iconSize:[40,40]}),opacity:0,zIndexOffset:this.options.zIndexOffset})),this._mouseMarker.on("click",this._onClick,this).addTo(this._map),this._map.on("mousemove",this._onMouseMove,this),this._map.on("click",this._onTouch,this))},removeHooks:function(){L.Draw.Feature.prototype.removeHooks.call(this),this._map&&(this._map.off("click",this._onClick,this).off("click",this._onTouch,this),this._marker&&(this._marker.off("click",this._onClick,this),this._map.removeLayer(this._marker),delete this._marker),this._mouseMarker.off("click",this._onClick,this),this._map.removeLayer(this._mouseMarker),delete this._mouseMarker,this._map.off("mousemove",this._onMouseMove,this))},_onMouseMove:function(t){var e=t.latlng;this._tooltip.updatePosition(e),this._mouseMarker.setLatLng(e),this._marker?(e=this._mouseMarker.getLatLng(),this._marker.setLatLng(e)):(this._marker=this._createMarker(e),this._marker.on("click",this._onClick,this),this._map.on("click",this._onClick,this).addLayer(this._marker))},_createMarker:function(t){return new L.Marker(t,{icon:this.options.icon,zIndexOffset:this.options.zIndexOffset})},_onClick:function(){this._fireCreatedEvent(),this.disable(),this.options.repeatMode&&this.enable()},_onTouch:function(t){this._onMouseMove(t),this._onClick()},_fireCreatedEvent:function(){var t=new L.Marker.Touch(this._marker.getLatLng(),{icon:this.options.icon});L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)}}),L.Draw.CircleMarker=L.Draw.Marker.extend({statics:{TYPE:"circlemarker"},options:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0,zIndexOffset:2e3},initialize:function(t,e){this.type=L.Draw.CircleMarker.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circlemarker.tooltip.start,L.Draw.Feature.prototype.initialize.call(this,t,e)},_fireCreatedEvent:function(){var t=new L.CircleMarker(this._marker.getLatLng(),this.options);L.Draw.Feature.prototype._fireCreatedEvent.call(this,t)},_createMarker:function(t){return new L.CircleMarker(t,this.options)}}),L.Draw.Circle=L.Draw.SimpleShape.extend({statics:{TYPE:"circle"},options:{shapeOptions:{stroke:!0,color:"#3388ff",weight:4,opacity:.5,fill:!0,fillColor:null,fillOpacity:.2,clickable:!0},showRadius:!0,metric:!0,feet:!0,nautic:!1},initialize:function(t,e){this.type=L.Draw.Circle.TYPE,this._initialLabelText=L.drawLocal.draw.handlers.circle.tooltip.start,L.Draw.SimpleShape.prototype.initialize.call(this,t,e)},_drawShape:function(t){if(L.GeometryUtil.isVersion07x())var e=this._startLatLng.distanceTo(t);else e=this._map.distance(this._startLatLng,t);this._shape?this._shape.setRadius(e):(this._shape=new L.Circle(this._startLatLng,e,this.options.shapeOptions),this._map.addLayer(this._shape))},_fireCreatedEvent:function(){var t=new L.Circle(this._startLatLng,this._shape.getRadius(),this.options.shapeOptions);L.Draw.SimpleShape.prototype._fireCreatedEvent.call(this,t)},_onMouseMove:function(t){var e,n=t.latlng,i=this.options.showRadius,s=this.options.metric;if(this._tooltip.updatePosition(n),this._isDrawing){this._drawShape(n),e=this._shape.getRadius().toFixed(1);var o="";i&&(o=L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(e,s,this.options.feet,this.options.nautic)),this._tooltip.updateContent({text:this._endLabelText,subtext:o})}}}),L.Edit=L.Edit||{},L.Edit.Marker=L.Handler.extend({initialize:function(t,e){this._marker=t,L.setOptions(this,e)},addHooks:function(){var t=this._marker;t.dragging.enable(),t.on("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},removeHooks:function(){var t=this._marker;t.dragging.disable(),t.off("dragend",this._onDragEnd,t),this._toggleMarkerHighlight()},_onDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_toggleMarkerHighlight:function(){var t=this._marker._icon;t&&(t.style.display="none",L.DomUtil.hasClass(t,"leaflet-edit-marker-selected")?(L.DomUtil.removeClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,-4)):(L.DomUtil.addClass(t,"leaflet-edit-marker-selected"),this._offsetMarker(t,4)),t.style.display="")},_offsetMarker:function(t,e){var n=parseInt(t.style.marginTop,10)-e,i=parseInt(t.style.marginLeft,10)-e;t.style.marginTop=n+"px",t.style.marginLeft=i+"px"}}),L.Marker.addInitHook(function(){L.Edit.Marker&&(this.editing=new L.Edit.Marker(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.Poly=L.Handler.extend({initialize:function(t){this.latlngs=[t._latlngs],t._holes&&(this.latlngs=this.latlngs.concat(t._holes)),this._poly=t,this._poly.on("revert-edited",this._updateLatLngs,this)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._poly._latlngs)?this._poly._latlngs:this._poly._latlngs[0]:this._poly._latlngs},_eachVertexHandler:function(t){for(var e=0;e<this._verticesHandlers.length;e++)t(this._verticesHandlers[e])},addHooks:function(){this._initHandlers(),this._eachVertexHandler(function(t){t.addHooks()})},removeHooks:function(){this._eachVertexHandler(function(t){t.removeHooks()})},updateMarkers:function(){this._eachVertexHandler(function(t){t.updateMarkers()})},_initHandlers:function(){this._verticesHandlers=[];for(var t=0;t<this.latlngs.length;t++)this._verticesHandlers.push(new L.Edit.PolyVerticesEdit(this._poly,this.latlngs[t],this._poly.options.poly))},_updateLatLngs:function(t){this.latlngs=[t.layer._latlngs],t.layer._holes&&(this.latlngs=this.latlngs.concat(t.layer._holes))}}),L.Edit.PolyVerticesEdit=L.Handler.extend({options:{icon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon"}),touchIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-touch-icon"}),drawError:{color:"#b00b00",timeout:1e3}},initialize:function(t,e,n){L.Browser.touch&&(this.options.icon=this.options.touchIcon),this._poly=t,n&&n.drawError&&(n.drawError=L.Util.extend({},this.options.drawError,n.drawError)),this._latlngs=e,L.setOptions(this,n)},_defaultShape:function(){return L.Polyline._flat?L.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]:this._latlngs},addHooks:function(){var t=this._poly,e=t._path;t instanceof L.Polygon||(t.options.fill=!1,t.options.editing&&(t.options.editing.fill=!1)),e&&t.options.editing.className&&(t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.editing),this._poly._map&&(this._map=this._poly._map,this._markerGroup||this._initMarkers(),this._poly._map.addLayer(this._markerGroup))},removeHooks:function(){var t=this._poly,e=t._path;e&&t.options.editing.className&&(t.options.editing.className.split(" ").forEach(function(t){L.DomUtil.removeClass(e,t)}),t.options.original.className&&t.options.original.className.split(" ").forEach(function(t){L.DomUtil.addClass(e,t)})),t.setStyle(t.options.original),t._map&&(t._map.removeLayer(this._markerGroup),delete this._markerGroup,delete this._markers)},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._markers=[];var t,e,n,i,s,o,r=this._defaultShape();for(t=0,n=r.length;t<n;t++)(i=this._createMarker(r[t],t)).on("click",this._onMarkerClick,this),i.on("contextmenu",this._onContextMenu,this),this._markers.push(i);for(t=0,e=n-1;t<n;e=t++)(0!==t||L.Polygon&&this._poly instanceof L.Polygon)&&(this._createMiddleMarker(s=this._markers[e],o=this._markers[t]),this._updatePrevNext(s,o))},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:this.options.icon});return n._origLatLng=t,n._index=e,n.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._fireEdit,this).on("touchmove",this._onTouchMove,this).on("touchend",this._fireEdit,this).on("MSPointerMove",this._onTouchMove,this).on("MSPointerUp",this._fireEdit,this),this._markerGroup.addLayer(n),n},_onMarkerDragStart:function(){this._poly.fire("editstart")},_spliceLatLngs:function(){var t=this._defaultShape(),e=[].splice.apply(t,arguments);return this._poly._convertLatLngs(t,!0),this._poly.redraw(),e},_removeMarker:function(t){var e=t._index;this._markerGroup.removeLayer(t),this._markers.splice(e,1),this._spliceLatLngs(e,1),this._updateIndexes(e,-1),t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._fireEdit,this).off("touchmove",this._onMarkerDrag,this).off("touchend",this._fireEdit,this).off("click",this._onMarkerClick,this).off("MSPointerMove",this._onTouchMove,this).off("MSPointerUp",this._fireEdit,this)},_fireEdit:function(){this._poly.edited=!0,this._poly.fire("edit"),this._poly._map.fire(L.Draw.Event.EDITVERTEX,{layers:this._markerGroup,poly:this._poly})},_onMarkerDrag:function(t){var e=t.target,n=this._poly;if(L.extend(e._origLatLng,e._latlng),e._middleLeft&&e._middleLeft.setLatLng(this._getMiddleLatLng(e._prev,e)),e._middleRight&&e._middleRight.setLatLng(this._getMiddleLatLng(e,e._next)),n.options.poly){var i=n._map._editTooltip;if(!n.options.poly.allowIntersection&&n.intersects()){var s=n.options.color;n.setStyle({color:this.options.drawError.color}),0!==L.version.indexOf("0.7")&&e.dragging._draggable._onUp(t),this._onMarkerClick(t),i&&i.updateContent({text:L.drawLocal.draw.handlers.polyline.error}),setTimeout(function(){n.setStyle({color:s}),i&&i.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext})},1e3)}}this._poly._bounds._southWest=L.latLng(1/0,1/0),this._poly._bounds._northEast=L.latLng(-1/0,-1/0);var o=this._poly.getLatLngs();this._poly._convertLatLngs(o,!0),this._poly.redraw(),this._poly.fire("editdrag")},_onMarkerClick:function(t){var e=L.Polygon&&this._poly instanceof L.Polygon?4:3,n=t.target;this._defaultShape().length<e||(this._removeMarker(n),this._updatePrevNext(n._prev,n._next),n._middleLeft&&this._markerGroup.removeLayer(n._middleLeft),n._middleRight&&this._markerGroup.removeLayer(n._middleRight),n._prev&&n._next?this._createMiddleMarker(n._prev,n._next):n._prev?n._next||(n._prev._middleRight=null):n._next._middleLeft=null,this._fireEdit())},_onContextMenu:function(t){this._poly._map.fire(L.Draw.Event.MARKERCONTEXT,{marker:t.target,layers:this._markerGroup,poly:this._poly}),L},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e),i=t.target;L.extend(i._origLatLng,n),i._middleLeft&&i._middleLeft.setLatLng(this._getMiddleLatLng(i._prev,i)),i._middleRight&&i._middleRight.setLatLng(this._getMiddleLatLng(i,i._next)),this._poly.redraw(),this.updateMarkers()},_updateIndexes:function(t,e){this._markerGroup.eachLayer(function(n){n._index>t&&(n._index+=e)})},_createMiddleMarker:function(t,e){var n,i,s,o=this._getMiddleLatLng(t,e),r=this._createMarker(o);r.setOpacity(.6),t._middleRight=e._middleLeft=r,i=function(){r.off("touchmove",i,this);var s=e._index;r._index=s,r.off("click",n,this).on("click",this._onMarkerClick,this),o.lat=r.getLatLng().lat,o.lng=r.getLatLng().lng,this._spliceLatLngs(s,0,o),this._markers.splice(s,0,r),r.setOpacity(1),this._updateIndexes(s,1),e._index++,this._updatePrevNext(t,r),this._updatePrevNext(r,e),this._poly.fire("editstart")},s=function(){r.off("dragstart",i,this),r.off("dragend",s,this),r.off("touchmove",i,this),this._createMiddleMarker(t,r),this._createMiddleMarker(r,e)},r.on("click",n=function(){i.call(this),s.call(this),this._fireEdit()},this).on("dragstart",i,this).on("dragend",s,this).on("touchmove",i,this),this._markerGroup.addLayer(r)},_updatePrevNext:function(t,e){t&&(t._next=e),e&&(e._prev=t)},_getMiddleLatLng:function(t,e){var n=this._poly._map,i=n.project(t.getLatLng()),s=n.project(e.getLatLng());return n.unproject(i._add(s)._divideBy(2))}}),L.Polyline.addInitHook(function(){this.editing||(L.Edit.Poly&&(this.editing=new L.Edit.Poly(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()}))}),L.Edit=L.Edit||{},L.Edit.SimpleShape=L.Handler.extend({options:{moveIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move"}),resizeIcon:new L.DivIcon({iconSize:new L.Point(8,8),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize"}),touchMoveIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-move leaflet-touch-icon"}),touchResizeIcon:new L.DivIcon({iconSize:new L.Point(20,20),className:"leaflet-div-icon leaflet-editing-icon leaflet-edit-resize leaflet-touch-icon"})},initialize:function(t,e){L.Browser.touch&&(this.options.moveIcon=this.options.touchMoveIcon,this.options.resizeIcon=this.options.touchResizeIcon),this._shape=t,L.Util.setOptions(this,e)},addHooks:function(){var t=this._shape;this._shape._map&&(this._map=this._shape._map,t.setStyle(t.options.editing),t._map&&(this._map=t._map,this._markerGroup||this._initMarkers(),this._map.addLayer(this._markerGroup)))},removeHooks:function(){var t=this._shape;if(t.setStyle(t.options.original),t._map){this._unbindMarker(this._moveMarker);for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._unbindMarker(this._resizeMarkers[e]);this._resizeMarkers=null,this._map.removeLayer(this._markerGroup),delete this._markerGroup}this._map=null},updateMarkers:function(){this._markerGroup.clearLayers(),this._initMarkers()},_initMarkers:function(){this._markerGroup||(this._markerGroup=new L.LayerGroup),this._createMoveMarker(),this._createResizeMarker()},_createMoveMarker:function(){},_createResizeMarker:function(){},_createMarker:function(t,e){var n=new L.Marker.Touch(t,{draggable:!0,icon:e,zIndexOffset:10});return this._bindMarker(n),this._markerGroup.addLayer(n),n},_bindMarker:function(t){t.on("dragstart",this._onMarkerDragStart,this).on("drag",this._onMarkerDrag,this).on("dragend",this._onMarkerDragEnd,this).on("touchstart",this._onTouchStart,this).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onTouchEnd,this).on("MSPointerUp",this._onTouchEnd,this)},_unbindMarker:function(t){t.off("dragstart",this._onMarkerDragStart,this).off("drag",this._onMarkerDrag,this).off("dragend",this._onMarkerDragEnd,this).off("touchstart",this._onTouchStart,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onTouchEnd,this).off("MSPointerUp",this._onTouchEnd,this)},_onMarkerDragStart:function(t){t.target.setOpacity(0),this._shape.fire("editstart")},_fireEdit:function(){this._shape.edited=!0,this._shape.fire("edit")},_onMarkerDrag:function(t){var e=t.target,n=e.getLatLng();e===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),this._shape.fire("editdrag")},_onMarkerDragEnd:function(t){t.target.setOpacity(1),this._fireEdit()},_onTouchStart:function(t){if(L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t),"function"==typeof this._getCorners){var e=this._getCorners(),n=t.target,i=n._cornerIndex;n.setOpacity(0),this._oppositeCorner=e[(i+2)%4],this._toggleCornerMarkers(0,i)}this._shape.fire("editstart")},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.touches[0]),n=this._map.layerPointToLatLng(e);return t.target===this._moveMarker?this._move(n):this._resize(n),this._shape.redraw(),!1},_onTouchEnd:function(t){t.target.setOpacity(1),this.updateMarkers(),this._fireEdit()},_move:function(){},_resize:function(){}}),L.Edit=L.Edit||{},L.Edit.Rectangle=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getBounds().getCenter();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){var t=this._getCorners();this._resizeMarkers=[];for(var e=0,n=t.length;e<n;e++)this._resizeMarkers.push(this._createMarker(t[e],this.options.resizeIcon)),this._resizeMarkers[e]._cornerIndex=e},_onMarkerDragStart:function(t){L.Edit.SimpleShape.prototype._onMarkerDragStart.call(this,t);var e=this._getCorners(),n=t.target._cornerIndex;this._oppositeCorner=e[(n+2)%4],this._toggleCornerMarkers(0,n)},_onMarkerDragEnd:function(t){var e,n=t.target;n===this._moveMarker&&(e=this._shape.getBounds().getCenter(),n.setLatLng(e)),this._toggleCornerMarkers(1),this._repositionCornerMarkers(),L.Edit.SimpleShape.prototype._onMarkerDragEnd.call(this,t)},_move:function(t){for(var e,n=this._shape._defaultShape?this._shape._defaultShape():this._shape.getLatLngs(),i=this._shape.getBounds().getCenter(),s=[],o=0,r=n.length;o<r;o++)s.push([t.lat+(e=[n[o].lat-i.lat,n[o].lng-i.lng])[0],t.lng+e[1]]);this._shape.setLatLngs(s),this._repositionCornerMarkers(),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})},_resize:function(t){var e;this._shape.setBounds(L.latLngBounds(t,this._oppositeCorner)),e=this._shape.getBounds(),this._moveMarker.setLatLng(e.getCenter()),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})},_getCorners:function(){var t=this._shape.getBounds();return[t.getNorthWest(),t.getNorthEast(),t.getSouthEast(),t.getSouthWest()]},_toggleCornerMarkers:function(t){for(var e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setOpacity(t)},_repositionCornerMarkers:function(){for(var t=this._getCorners(),e=0,n=this._resizeMarkers.length;e<n;e++)this._resizeMarkers[e].setLatLng(t[e])}}),L.Rectangle.addInitHook(function(){L.Edit.Rectangle&&(this.editing=new L.Edit.Rectangle(this),this.options.editable&&this.editing.enable())}),L.Edit=L.Edit||{},L.Edit.CircleMarker=L.Edit.SimpleShape.extend({_createMoveMarker:function(){var t=this._shape.getLatLng();this._moveMarker=this._createMarker(t,this.options.moveIcon)},_createResizeMarker:function(){this._resizeMarkers=[]},_move:function(t){if(this._resizeMarkers.length){var e=this._getResizeMarkerPoint(t);this._resizeMarkers[0].setLatLng(e)}this._shape.setLatLng(t),this._map.fire(L.Draw.Event.EDITMOVE,{layer:this._shape})}}),L.CircleMarker.addInitHook(function(){L.Edit.CircleMarker&&(this.editing=new L.Edit.CircleMarker(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Edit=L.Edit||{},L.Edit.Circle=L.Edit.CircleMarker.extend({_createResizeMarker:function(){var t=this._shape.getLatLng(),e=this._getResizeMarkerPoint(t);this._resizeMarkers=[],this._resizeMarkers.push(this._createMarker(e,this.options.resizeIcon))},_getResizeMarkerPoint:function(t){var e=this._shape._radius*Math.cos(Math.PI/4),n=this._map.project(t);return this._map.unproject([n.x+e,n.y-e])},_resize:function(t){var e=this._moveMarker.getLatLng();L.GeometryUtil.isVersion07x()?radius=e.distanceTo(t):radius=this._map.distance(e,t),this._shape.setRadius(radius),this._map._editTooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.subtext+"<br />"+L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.draw.handlers.circle.radius+": "+L.GeometryUtil.readableDistance(radius,!0,this.options.feet,this.options.nautic)}),this._shape.setRadius(radius),this._map.fire(L.Draw.Event.EDITRESIZE,{layer:this._shape})}}),L.Circle.addInitHook(function(){L.Edit.Circle&&(this.editing=new L.Edit.Circle(this),this.options.editable&&this.editing.enable()),this.on("add",function(){this.editing&&this.editing.enabled()&&this.editing.addHooks()}),this.on("remove",function(){this.editing&&this.editing.enabled()&&this.editing.removeHooks()})}),L.Map.mergeOptions({touchExtend:!0}),L.Map.TouchExtend=L.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){L.DomEvent.on(this._container,"touchstart",this._onTouchStart,this),L.DomEvent.on(this._container,"touchend",this._onTouchEnd,this),L.DomEvent.on(this._container,"touchmove",this._onTouchMove,this),this._detectIE()?(L.DomEvent.on(this._container,"MSPointerDown",this._onTouchStart,this),L.DomEvent.on(this._container,"MSPointerUp",this._onTouchEnd,this),L.DomEvent.on(this._container,"MSPointerMove",this._onTouchMove,this),L.DomEvent.on(this._container,"MSPointerCancel",this._onTouchCancel,this)):(L.DomEvent.on(this._container,"touchcancel",this._onTouchCancel,this),L.DomEvent.on(this._container,"touchleave",this._onTouchLeave,this))},removeHooks:function(){L.DomEvent.off(this._container,"touchstart",this._onTouchStart),L.DomEvent.off(this._container,"touchend",this._onTouchEnd),L.DomEvent.off(this._container,"touchmove",this._onTouchMove),this._detectIE()?(L.DomEvent.off(this._container,"MSPointerDowm",this._onTouchStart),L.DomEvent.off(this._container,"MSPointerUp",this._onTouchEnd),L.DomEvent.off(this._container,"MSPointerMove",this._onTouchMove),L.DomEvent.off(this._container,"MSPointerCancel",this._onTouchCancel)):(L.DomEvent.off(this._container,"touchcancel",this._onTouchCancel),L.DomEvent.off(this._container,"touchleave",this._onTouchLeave))},_touchEvent:function(t,e){var n={};if(void 0!==t.touches){if(!t.touches.length)return;n=t.touches[0]}else{if("touch"!==t.pointerType)return;if(n=t,!this._filterClick(t))return}var i=this._map.mouseEventToContainerPoint(n),s=this._map.mouseEventToLayerPoint(n),o=this._map.layerPointToLatLng(s);this._map.fire(e,{latlng:o,layerPoint:s,containerPoint:i,pageX:n.pageX,pageY:n.pageY,originalEvent:t})},_filterClick:function(t){var e=t.timeStamp||t.originalEvent.timeStamp,n=L.DomEvent._lastClick&&e-L.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?(L.DomEvent.stop(t),!1):(L.DomEvent._lastClick=e,!0)},_onTouchStart:function(t){this._map._loaded&&this._touchEvent(t,"touchstart")},_onTouchEnd:function(t){this._map._loaded&&this._touchEvent(t,"touchend")},_onTouchCancel:function(t){if(this._map._loaded){var e="touchcancel";this._detectIE()&&(e="pointercancel"),this._touchEvent(t,e)}},_onTouchLeave:function(t){this._map._loaded&&this._touchEvent(t,"touchleave")},_onTouchMove:function(t){this._map._loaded&&this._touchEvent(t,"touchmove")},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.Map.addInitHook("addHandler","touchExtend",L.Map.TouchExtend),L.Marker.Touch=L.Marker.extend({_initInteraction:function(){return this.addInteractiveTarget?L.Marker.prototype._initInteraction.apply(this):this._initInteractionLegacy()},_initInteractionLegacy:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu","touchstart","touchend","touchmove"];e.concat(this._detectIE?["MSPointerDown","MSPointerUp","MSPointerMove","MSPointerCancel"]:["touchcancel"]),L.DomUtil.addClass(t,"leaflet-clickable"),L.DomEvent.on(t,"click",this._onMouseClick,this),L.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var n=0;n<e.length;n++)L.DomEvent.on(t,e[n],this._fireMouseEvent,this);L.Handler.MarkerDrag&&(this.dragging=new L.Handler.MarkerDrag(this),this.options.draggable&&this.dragging.enable())}},_detectIE:function(){var e=t.navigator.userAgent,n=e.indexOf("MSIE ");if(n>0)return parseInt(e.substring(n+5,e.indexOf(".",n)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var s=e.indexOf("Edge/");return s>0&&parseInt(e.substring(s+5,e.indexOf(".",s)),10)}}),L.LatLngUtil={cloneLatLngs:function(t){for(var e=[],n=0,i=t.length;n<i;n++)Array.isArray(t[n])?e.push(L.LatLngUtil.cloneLatLngs(t[n])):e.push(this.cloneLatLng(t[n]));return e},cloneLatLng:function(t){return L.latLng(t.lat,t.lng)}},function(){var t={km:2,ha:2,m:0,mi:2,ac:2,yd:0,ft:0,nm:2};L.GeometryUtil=L.extend(L.GeometryUtil||{},{geodesicArea:function(t){var e,n,i=t.length,s=0,o=Math.PI/180;if(i>2){for(var r=0;r<i;r++)s+=((n=t[(r+1)%i]).lng-(e=t[r]).lng)*o*(2+Math.sin(e.lat*o)+Math.sin(n.lat*o));s=6378137*s*6378137/2}return Math.abs(s)},formattedNumber:function(t,e){var n=parseFloat(t).toFixed(e),i=L.drawLocal.format&&L.drawLocal.format.numeric,s=i&&i.delimiters,o=s&&s.thousands,r=s&&s.decimal;if(o||r){var a=n.split(".");n=o?a[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o):a[0],r=r||".",a.length>1&&(n=n+r+a[1])}return n},readableArea:function(e,n,i){var s,o;return i=L.Util.extend({},t,i),n?(o=["ha","m"],type=typeof n,"string"===type?o=[n]:"boolean"!==type&&(o=n),s=e>=1e6&&-1!==o.indexOf("km")?L.GeometryUtil.formattedNumber(1e-6*e,i.km)+" km\xb2":e>=1e4&&-1!==o.indexOf("ha")?L.GeometryUtil.formattedNumber(1e-4*e,i.ha)+" ha":L.GeometryUtil.formattedNumber(e,i.m)+" m\xb2"):s=(e/=.836127)>=3097600?L.GeometryUtil.formattedNumber(e/3097600,i.mi)+" mi\xb2":e>=4840?L.GeometryUtil.formattedNumber(e/4840,i.ac)+" acres":L.GeometryUtil.formattedNumber(e,i.yd)+" yd\xb2",s},readableDistance:function(e,n,i,s,o){var r;switch(o=L.Util.extend({},t,o),n?"string"==typeof n?n:"metric":i?"feet":s?"nauticalMile":"yards"){case"metric":r=e>1e3?L.GeometryUtil.formattedNumber(e/1e3,o.km)+" km":L.GeometryUtil.formattedNumber(e,o.m)+" m";break;case"feet":e*=3.28083,r=L.GeometryUtil.formattedNumber(e,o.ft)+" ft";break;case"nauticalMile":e*=.53996,r=L.GeometryUtil.formattedNumber(e/1e3,o.nm)+" nm";break;case"yards":default:r=(e*=1.09361)>1760?L.GeometryUtil.formattedNumber(e/1760,o.mi)+" miles":L.GeometryUtil.formattedNumber(e,o.yd)+" yd"}return r},isVersion07x:function(){var t=L.version.split(".");return 0===parseInt(t[0],10)&&7===parseInt(t[1],10)}})}(),L.Util.extend(L.LineUtil,{segmentsIntersect:function(t,e,n,i){return this._checkCounterclockwise(t,n,i)!==this._checkCounterclockwise(e,n,i)&&this._checkCounterclockwise(t,e,n)!==this._checkCounterclockwise(t,e,i)},_checkCounterclockwise:function(t,e,n){return(n.y-t.y)*(e.x-t.x)>(e.y-t.y)*(n.x-t.x)}}),L.Polyline.include({intersects:function(){var t,e=this._getProjectedPoints(),n=e?e.length:0;if(this._tooFewPointsForIntersection())return!1;for(t=n-1;t>=3;t--)if(this._lineSegmentsIntersectsRange(e[t-1],e[t],t-2))return!0;return!1},newLatLngIntersects:function(t,e){return!!this._map&&this.newPointIntersects(this._map.latLngToLayerPoint(t),e)},newPointIntersects:function(t,e){var n=this._getProjectedPoints(),i=n?n.length:0,s=n?n[i-1]:null,o=i-2;return!this._tooFewPointsForIntersection(1)&&this._lineSegmentsIntersectsRange(s,t,o,e?1:0)},_tooFewPointsForIntersection:function(t){var e=this._getProjectedPoints(),n=e?e.length:0;return!e||(n+=t||0)<=3},_lineSegmentsIntersectsRange:function(t,e,n,i){var s=this._getProjectedPoints();i=i||0;for(var o=n;o>i;o--)if(L.LineUtil.segmentsIntersect(t,e,s[o-1],s[o]))return!0;return!1},_getProjectedPoints:function(){if(!this._defaultShape)return this._originalPoints;for(var t=[],e=this._defaultShape(),n=0;n<e.length;n++)t.push(this._map.latLngToLayerPoint(e[n]));return t}}),L.Polygon.include({intersects:function(){var t,e=this._getProjectedPoints();return!this._tooFewPointsForIntersection()&&(!!L.Polyline.prototype.intersects.call(this)||this._lineSegmentsIntersectsRange(e[(t=e.length)-1],e[0],t-2,1))}}),L.Control.Draw=L.Control.extend({options:{position:"topleft",draw:{},edit:!1},initialize:function(t){if(L.version<"0.7")throw new Error("Leaflet.draw 0.2.3+ requires Leaflet 0.7.0+. Download latest from https://github.com/Leaflet/Leaflet/");var e;L.Control.prototype.initialize.call(this,t),this._toolbars={},L.DrawToolbar&&this.options.draw&&(e=new L.DrawToolbar(this.options.draw),this._toolbars[L.DrawToolbar.TYPE]=e,this._toolbars[L.DrawToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.EditToolbar&&this.options.edit&&(e=new L.EditToolbar(this.options.edit),this._toolbars[L.EditToolbar.TYPE]=e,this._toolbars[L.EditToolbar.TYPE].on("enable",this._toolbarEnabled,this)),L.toolbar=this},onAdd:function(t){var e,n=L.DomUtil.create("div","leaflet-draw"),i=!1;for(var s in this._toolbars)this._toolbars.hasOwnProperty(s)&&(e=this._toolbars[s].addToolbar(t))&&(i||(L.DomUtil.hasClass(e,"leaflet-draw-toolbar-top")||L.DomUtil.addClass(e.childNodes[0],"leaflet-draw-toolbar-top"),i=!0),n.appendChild(e));return n},onRemove:function(){for(var t in this._toolbars)this._toolbars.hasOwnProperty(t)&&this._toolbars[t].removeToolbar()},setDrawingOptions:function(t){for(var e in this._toolbars)this._toolbars[e]instanceof L.DrawToolbar&&this._toolbars[e].setOptions(t)},_toolbarEnabled:function(t){var e=t.target;for(var n in this._toolbars)this._toolbars[n]!==e&&this._toolbars[n].disable()}}),L.Map.mergeOptions({drawControlTooltips:!0,drawControl:!1}),L.Map.addInitHook(function(){this.options.drawControl&&(this.drawControl=new L.Control.Draw,this.addControl(this.drawControl))}),L.Toolbar=L.Class.extend({initialize:function(t){L.setOptions(this,t),this._modes={},this._actionButtons=[],this._activeMode=null;var e=L.version.split(".");1===parseInt(e[0],10)&&parseInt(e[1],10)>=2?L.Toolbar.include(L.Evented.prototype):L.Toolbar.include(L.Mixin.Events)},enabled:function(){return null!==this._activeMode},disable:function(){this.enabled()&&this._activeMode.handler.disable()},addToolbar:function(t){var e,n=L.DomUtil.create("div","leaflet-draw-section"),i=0,s=this._toolbarClass||"",o=this.getModeHandlers(t);for(this._toolbarContainer=L.DomUtil.create("div","leaflet-draw-toolbar leaflet-bar"),this._map=t,e=0;e<o.length;e++)o[e].enabled&&this._initModeHandler(o[e].handler,this._toolbarContainer,i++,s,o[e].title);if(i)return this._lastButtonIndex=--i,this._actionsContainer=L.DomUtil.create("ul","leaflet-draw-actions"),n.appendChild(this._toolbarContainer),n.appendChild(this._actionsContainer),n},removeToolbar:function(){for(var t in this._modes)this._modes.hasOwnProperty(t)&&(this._disposeButton(this._modes[t].button,this._modes[t].handler.enable,this._modes[t].handler),this._modes[t].handler.disable(),this._modes[t].handler.off("enabled",this._handlerActivated,this).off("disabled",this._handlerDeactivated,this));this._modes={};for(var e=0,n=this._actionButtons.length;e<n;e++)this._disposeButton(this._actionButtons[e].button,this._actionButtons[e].callback,this);this._actionButtons=[],this._actionsContainer=null},_initModeHandler:function(t,e,n,i,s){var o=t.type;this._modes[o]={},this._modes[o].handler=t,this._modes[o].button=this._createButton({type:o,title:s,className:i+"-"+o,container:e,callback:this._modes[o].handler.enable,context:this._modes[o].handler}),this._modes[o].buttonIndex=n,this._modes[o].handler.on("enabled",this._handlerActivated,this).on("disabled",this._handlerDeactivated,this)},_detectIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!t.MSStream},_createButton:function(t){var e=L.DomUtil.create("a",t.className||"",t.container),n=L.DomUtil.create("span","sr-only",t.container);e.href="#",e.appendChild(n),t.title&&(e.title=t.title,n.innerHTML=t.title),t.text&&(e.innerHTML=t.text,n.innerHTML=t.text);var i=this._detectIOS()?"touchstart":"click";return L.DomEvent.on(e,"click",L.DomEvent.stopPropagation).on(e,"mousedown",L.DomEvent.stopPropagation).on(e,"dblclick",L.DomEvent.stopPropagation).on(e,"touchstart",L.DomEvent.stopPropagation).on(e,"click",L.DomEvent.preventDefault).on(e,i,t.callback,t.context),e},_disposeButton:function(t,e){var n=this._detectIOS()?"touchstart":"click";L.DomEvent.off(t,"click",L.DomEvent.stopPropagation).off(t,"mousedown",L.DomEvent.stopPropagation).off(t,"dblclick",L.DomEvent.stopPropagation).off(t,"touchstart",L.DomEvent.stopPropagation).off(t,"click",L.DomEvent.preventDefault).off(t,n,e)},_handlerActivated:function(t){this.disable(),this._activeMode=this._modes[t.handler],L.DomUtil.addClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._showActionsToolbar(),this.fire("enable")},_handlerDeactivated:function(){this._hideActionsToolbar(),L.DomUtil.removeClass(this._activeMode.button,"leaflet-draw-toolbar-button-enabled"),this._activeMode=null,this.fire("disable")},_createActions:function(t){var e,n,i,s,o=this._actionsContainer,r=this.getActions(t),a=r.length;for(n=0,i=this._actionButtons.length;n<i;n++)this._disposeButton(this._actionButtons[n].button,this._actionButtons[n].callback);for(this._actionButtons=[];o.firstChild;)o.removeChild(o.firstChild);for(var l=0;l<a;l++)"enabled"in r[l]&&!r[l].enabled||(e=L.DomUtil.create("li","",o),s=this._createButton({title:r[l].title,text:r[l].text,container:e,callback:r[l].callback,context:r[l].context}),this._actionButtons.push({button:s,callback:r[l].callback}))},_showActionsToolbar:function(){var t=this._activeMode.buttonIndex,e=this._lastButtonIndex,n=this._activeMode.button.offsetTop-1;this._createActions(this._activeMode.handler),this._actionsContainer.style.top=n+"px",0===t&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-top")),t===e&&(L.DomUtil.addClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.addClass(this._actionsContainer,"leaflet-draw-actions-bottom")),this._actionsContainer.style.display="block",this._map.fire(L.Draw.Event.TOOLBAROPENED)},_hideActionsToolbar:function(){this._actionsContainer.style.display="none",L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-notop"),L.DomUtil.removeClass(this._toolbarContainer,"leaflet-draw-toolbar-nobottom"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-top"),L.DomUtil.removeClass(this._actionsContainer,"leaflet-draw-actions-bottom"),this._map.fire(L.Draw.Event.TOOLBARCLOSED)}}),L.Draw=L.Draw||{},L.Draw.Tooltip=L.Class.extend({initialize:function(t){this._map=t,this._popupPane=t._panes.popupPane,this._visible=!1,this._container=t.options.drawControlTooltips?L.DomUtil.create("div","leaflet-draw-tooltip",this._popupPane):null,this._singleLineLabel=!1,this._map.on("mouseout",this._onMouseOut,this)},dispose:function(){this._map.off("mouseout",this._onMouseOut,this),this._container&&(this._popupPane.removeChild(this._container),this._container=null)},updateContent:function(t){return this._container?(t.subtext=t.subtext||"",0!==t.subtext.length||this._singleLineLabel?t.subtext.length>0&&this._singleLineLabel&&(L.DomUtil.removeClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!1):(L.DomUtil.addClass(this._container,"leaflet-draw-tooltip-single"),this._singleLineLabel=!0),this._container.innerHTML=(t.subtext.length>0?'<span class="leaflet-draw-tooltip-subtext">'+t.subtext+"</span><br />":"")+"<span>"+t.text+"</span>",t.text||t.subtext?(this._visible=!0,this._container.style.visibility="inherit"):(this._visible=!1,this._container.style.visibility="hidden"),this):this},updatePosition:function(t){var e=this._map.latLngToLayerPoint(t),n=this._container;return this._container&&(this._visible&&(n.style.visibility="inherit"),L.DomUtil.setPosition(n,e)),this},showAsError:function(){return this._container&&L.DomUtil.addClass(this._container,"leaflet-error-draw-tooltip"),this},removeError:function(){return this._container&&L.DomUtil.removeClass(this._container,"leaflet-error-draw-tooltip"),this},_onMouseOut:function(){this._container&&(this._container.style.visibility="hidden")}}),L.DrawToolbar=L.Toolbar.extend({statics:{TYPE:"draw"},options:{polyline:{},polygon:{},rectangle:{},circle:{},marker:{},circlemarker:{}},initialize:function(t){for(var e in this.options)this.options.hasOwnProperty(e)&&t[e]&&(t[e]=L.extend({},this.options[e],t[e]));this._toolbarClass="leaflet-draw-draw",L.Toolbar.prototype.initialize.call(this,t)},getModeHandlers:function(t){return[{enabled:this.options.polyline,handler:new L.Draw.Polyline(t,this.options.polyline),title:L.drawLocal.draw.toolbar.buttons.polyline},{enabled:this.options.polygon,handler:new L.Draw.Polygon(t,this.options.polygon),title:L.drawLocal.draw.toolbar.buttons.polygon},{enabled:this.options.rectangle,handler:new L.Draw.Rectangle(t,this.options.rectangle),title:L.drawLocal.draw.toolbar.buttons.rectangle},{enabled:this.options.circle,handler:new L.Draw.Circle(t,this.options.circle),title:L.drawLocal.draw.toolbar.buttons.circle},{enabled:this.options.marker,handler:new L.Draw.Marker(t,this.options.marker),title:L.drawLocal.draw.toolbar.buttons.marker},{enabled:this.options.circlemarker,handler:new L.Draw.CircleMarker(t,this.options.circlemarker),title:L.drawLocal.draw.toolbar.buttons.circlemarker}]},getActions:function(t){return[{enabled:t.completeShape,title:L.drawLocal.draw.toolbar.finish.title,text:L.drawLocal.draw.toolbar.finish.text,callback:t.completeShape,context:t},{enabled:t.deleteLastVertex,title:L.drawLocal.draw.toolbar.undo.title,text:L.drawLocal.draw.toolbar.undo.text,callback:t.deleteLastVertex,context:t},{title:L.drawLocal.draw.toolbar.actions.title,text:L.drawLocal.draw.toolbar.actions.text,callback:this.disable,context:this}]},setOptions:function(t){for(var e in L.setOptions(this,t),this._modes)this._modes.hasOwnProperty(e)&&t.hasOwnProperty(e)&&this._modes[e].handler.setOptions(t[e])}}),L.EditToolbar=L.Toolbar.extend({statics:{TYPE:"edit"},options:{edit:{selectedPathOptions:{dashArray:"10, 10",fill:!0,fillColor:"#fe57a1",fillOpacity:.1,maintainColor:!1}},remove:{},poly:null,featureGroup:null},initialize:function(t){t.edit&&(void 0===t.edit.selectedPathOptions&&(t.edit.selectedPathOptions=this.options.edit.selectedPathOptions),t.edit.selectedPathOptions=L.extend({},this.options.edit.selectedPathOptions,t.edit.selectedPathOptions)),t.remove&&(t.remove=L.extend({},this.options.remove,t.remove)),t.poly&&(t.poly=L.extend({},this.options.poly,t.poly)),this._toolbarClass="leaflet-draw-edit",L.Toolbar.prototype.initialize.call(this,t),this._selectedFeatureCount=0},getModeHandlers:function(t){var e=this.options.featureGroup;return[{enabled:this.options.edit,handler:new L.EditToolbar.Edit(t,{featureGroup:e,selectedPathOptions:this.options.edit.selectedPathOptions,poly:this.options.poly}),title:L.drawLocal.edit.toolbar.buttons.edit},{enabled:this.options.remove,handler:new L.EditToolbar.Delete(t,{featureGroup:e}),title:L.drawLocal.edit.toolbar.buttons.remove}]},getActions:function(t){var e=[{title:L.drawLocal.edit.toolbar.actions.save.title,text:L.drawLocal.edit.toolbar.actions.save.text,callback:this._save,context:this},{title:L.drawLocal.edit.toolbar.actions.cancel.title,text:L.drawLocal.edit.toolbar.actions.cancel.text,callback:this.disable,context:this}];return t.removeAllLayers&&e.push({title:L.drawLocal.edit.toolbar.actions.clearAll.title,text:L.drawLocal.edit.toolbar.actions.clearAll.text,callback:this._clearAllLayers,context:this}),e},addToolbar:function(t){var e=L.Toolbar.prototype.addToolbar.call(this,t);return this._checkDisabled(),this.options.featureGroup.on("layeradd layerremove",this._checkDisabled,this),e},removeToolbar:function(){this.options.featureGroup.off("layeradd layerremove",this._checkDisabled,this),L.Toolbar.prototype.removeToolbar.call(this)},disable:function(){this.enabled()&&(this._activeMode.handler.revertLayers(),L.Toolbar.prototype.disable.call(this))},_save:function(){this._activeMode.handler.save(),this._activeMode&&this._activeMode.handler.disable()},_clearAllLayers:function(){this._activeMode.handler.removeAllLayers(),this._activeMode&&this._activeMode.handler.disable()},_checkDisabled:function(){var t,e=0!==this.options.featureGroup.getLayers().length;this.options.edit&&(t=this._modes[L.EditToolbar.Edit.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.edit:L.drawLocal.edit.toolbar.buttons.editDisabled)),this.options.remove&&(t=this._modes[L.EditToolbar.Delete.TYPE].button,e?L.DomUtil.removeClass(t,"leaflet-disabled"):L.DomUtil.addClass(t,"leaflet-disabled"),t.setAttribute("title",e?L.drawLocal.edit.toolbar.buttons.remove:L.drawLocal.edit.toolbar.buttons.removeDisabled))}}),L.EditToolbar.Edit=L.Handler.extend({statics:{TYPE:"edit"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.setOptions(this,e),this._featureGroup=e.featureGroup,!(this._featureGroup instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this._uneditedLayerProps={},this.type=L.EditToolbar.Edit.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Edit.include(L.Evented.prototype):L.EditToolbar.Edit.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.EDITSTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._featureGroup.on("layeradd",this._enableLayerEdit,this).on("layerremove",this._disableLayerEdit,this))},disable:function(){this._enabled&&(this._featureGroup.off("layeradd",this._enableLayerEdit,this).off("layerremove",this._disableLayerEdit,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.EDITSTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._featureGroup.eachLayer(this._enableLayerEdit,this),this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}),t._editTooltip=this._tooltip,this._updateTooltip(),this._map.on("mousemove",this._onMouseMove,this).on("touchmove",this._onMouseMove,this).on("MSPointerMove",this._onMouseMove,this).on(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},removeHooks:function(){this._map&&(this._featureGroup.eachLayer(this._disableLayerEdit,this),this._uneditedLayerProps={},this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this).off("touchmove",this._onMouseMove,this).off("MSPointerMove",this._onMouseMove,this).off(L.Draw.Event.EDITVERTEX,this._updateTooltip,this))},revertLayers:function(){this._featureGroup.eachLayer(function(t){this._revertLayer(t)},this)},save:function(){var t=new L.LayerGroup;this._featureGroup.eachLayer(function(e){e.edited&&(t.addLayer(e),e.edited=!1)}),this._map.fire(L.Draw.Event.EDITED,{layers:t})},_backupLayer:function(t){var e=L.Util.stamp(t);this._uneditedLayerProps[e]||(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?this._uneditedLayerProps[e]={latlngs:L.LatLngUtil.cloneLatLngs(t.getLatLngs())}:t instanceof L.Circle?this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng()),radius:t.getRadius()}:(t instanceof L.Marker||t instanceof L.CircleMarker)&&(this._uneditedLayerProps[e]={latlng:L.LatLngUtil.cloneLatLng(t.getLatLng())}))},_getTooltipText:function(){return{text:L.drawLocal.edit.handlers.edit.tooltip.text,subtext:L.drawLocal.edit.handlers.edit.tooltip.subtext}},_updateTooltip:function(){this._tooltip.updateContent(this._getTooltipText())},_revertLayer:function(t){var e=L.Util.stamp(t);t.edited=!1,this._uneditedLayerProps.hasOwnProperty(e)&&(t instanceof L.Polyline||t instanceof L.Polygon||t instanceof L.Rectangle?t.setLatLngs(this._uneditedLayerProps[e].latlngs):t instanceof L.Circle?(t.setLatLng(this._uneditedLayerProps[e].latlng),t.setRadius(this._uneditedLayerProps[e].radius)):(t instanceof L.Marker||t instanceof L.CircleMarker)&&t.setLatLng(this._uneditedLayerProps[e].latlng),t.fire("revert-edited",{layer:t}))},_enableLayerEdit:function(t){var e,n,i=t.layer||t.target||t;this._backupLayer(i),this.options.poly&&(n=L.Util.extend({},this.options.poly),i.options.poly=n),this.options.selectedPathOptions&&((e=L.Util.extend({},this.options.selectedPathOptions)).maintainColor&&(e.color=i.options.color,e.fillColor=i.options.fillColor),i.options.original=L.extend({},i.options),i.options.editing=e),i instanceof L.Marker?(i.editing&&i.editing.enable(),i.dragging.enable(),i.on("dragend",this._onMarkerDragEnd).on("touchmove",this._onTouchMove,this).on("MSPointerMove",this._onTouchMove,this).on("touchend",this._onMarkerDragEnd,this).on("MSPointerUp",this._onMarkerDragEnd,this)):i.editing.enable()},_disableLayerEdit:function(t){var e=t.layer||t.target||t;e.edited=!1,e.editing&&e.editing.disable(),delete e.options.editing,delete e.options.original,this._selectedPathOptions&&(e instanceof L.Marker?this._toggleMarkerHighlight(e):(e.setStyle(e.options.previousOptions),delete e.options.previousOptions)),e instanceof L.Marker?(e.dragging.disable(),e.off("dragend",this._onMarkerDragEnd,this).off("touchmove",this._onTouchMove,this).off("MSPointerMove",this._onTouchMove,this).off("touchend",this._onMarkerDragEnd,this).off("MSPointerUp",this._onMarkerDragEnd,this)):e.editing.disable()},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_onMarkerDragEnd:function(t){var e=t.target;e.edited=!0,this._map.fire(L.Draw.Event.EDITMOVE,{layer:e})},_onTouchMove:function(t){var e=this._map.mouseEventToLayerPoint(t.originalEvent.changedTouches[0]),n=this._map.layerPointToLatLng(e);t.target.setLatLng(n)},_hasAvailableLayers:function(){return 0!==this._featureGroup.getLayers().length}}),L.EditToolbar.Delete=L.Handler.extend({statics:{TYPE:"remove"},initialize:function(t,e){if(L.Handler.prototype.initialize.call(this,t),L.Util.setOptions(this,e),this._deletableLayers=this.options.featureGroup,!(this._deletableLayers instanceof L.FeatureGroup))throw new Error("options.featureGroup must be a L.FeatureGroup");this.type=L.EditToolbar.Delete.TYPE;var n=L.version.split(".");1===parseInt(n[0],10)&&parseInt(n[1],10)>=2?L.EditToolbar.Delete.include(L.Evented.prototype):L.EditToolbar.Delete.include(L.Mixin.Events)},enable:function(){!this._enabled&&this._hasAvailableLayers()&&(this.fire("enabled",{handler:this.type}),this._map.fire(L.Draw.Event.DELETESTART,{handler:this.type}),L.Handler.prototype.enable.call(this),this._deletableLayers.on("layeradd",this._enableLayerDelete,this).on("layerremove",this._disableLayerDelete,this))},disable:function(){this._enabled&&(this._deletableLayers.off("layeradd",this._enableLayerDelete,this).off("layerremove",this._disableLayerDelete,this),L.Handler.prototype.disable.call(this),this._map.fire(L.Draw.Event.DELETESTOP,{handler:this.type}),this.fire("disabled",{handler:this.type}))},addHooks:function(){var t=this._map;t&&(t.getContainer().focus(),this._deletableLayers.eachLayer(this._enableLayerDelete,this),this._deletedLayers=new L.LayerGroup,this._tooltip=new L.Draw.Tooltip(this._map),this._tooltip.updateContent({text:L.drawLocal.edit.handlers.remove.tooltip.text}),this._map.on("mousemove",this._onMouseMove,this))},removeHooks:function(){this._map&&(this._deletableLayers.eachLayer(this._disableLayerDelete,this),this._deletedLayers=null,this._tooltip.dispose(),this._tooltip=null,this._map.off("mousemove",this._onMouseMove,this))},revertLayers:function(){this._deletedLayers.eachLayer(function(t){this._deletableLayers.addLayer(t),t.fire("revert-deleted",{layer:t})},this)},save:function(){this._map.fire(L.Draw.Event.DELETED,{layers:this._deletedLayers})},removeAllLayers:function(){this._deletableLayers.eachLayer(function(t){this._removeLayer({layer:t})},this),this.save()},_enableLayerDelete:function(t){(t.layer||t.target||t).on("click",this._removeLayer,this)},_disableLayerDelete:function(t){var e=t.layer||t.target||t;e.off("click",this._removeLayer,this),this._deletedLayers.removeLayer(e)},_removeLayer:function(t){var e=t.layer||t.target||t;this._deletableLayers.removeLayer(e),this._deletedLayers.addLayer(e),e.fire("deleted")},_onMouseMove:function(t){this._tooltip.updatePosition(t.latlng)},_hasAvailableLayers:function(){return 0!==this._deletableLayers.getLayers().length}})}(window,document)},Yoyx:function(t,e,n){var i,s;!function(o){if("object"==typeof t&&"object"==typeof t.exports){var r=o(n("GPNb"),e);void 0!==r&&(t.exports=r)}else void 0===(s="function"==typeof(i=o)?i.apply(e,[n,e]):i)||(t.exports=s)}(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=/-+([a-z0-9])/g;function i(t,e,n){var i=t.indexOf(e);return-1==i?n:[t.slice(0,i).trim(),t.slice(i+1).trim()]}function s(t,e,n){return Array.isArray(t)?e.visitArray(t,n):"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===l?e.visitStringMap(t,n):null==t||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.visitPrimitive(t,n):e.visitOther(t,n)}e.dashCaseToCamelCase=function(t){return t.replace(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t[1].toUpperCase()})},e.splitAtColon=function(t,e){return i(t,":",e)},e.splitAtPeriod=function(t,e){return i(t,".",e)},e.visitValue=s,e.isDefined=function(t){return null!==t&&void 0!==t},e.noUndefined=function(t){return void 0===t?null:t};var o=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return s(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,i={};return Object.keys(t).forEach(function(o){i[o]=s(t[o],n,e)}),i},t.prototype.visitPrimitive=function(t,e){return t},t.prototype.visitOther=function(t,e){return t},t}();e.ValueTransformer=o,e.SyncAsync={assertSync:function(t){if(h(t))throw new Error("Illegal state: value cannot be a promise");return t},then:function(t,e){return h(t)?t.then(e):e(t)},all:function(t){return t.some(h)?Promise.all(t):t}},e.error=function(t){throw new Error("Internal Error: "+t)},e.syntaxError=function(t,e){var n=Error(t);return n[r]=!0,e&&(n[a]=e),n};var r="ngSyntaxError",a="ngParseErrors";e.isSyntaxError=function(t){return t[r]},e.getParseErrors=function(t){return t[a]||[]},e.escapeRegExp=function(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var l=Object.getPrototypeOf({});function h(t){return!!t&&"function"==typeof t.then}e.utf8Encode=function(t){for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);if(i>=55296&&i<=56319&&t.length>n+1){var s=t.charCodeAt(n+1);s>=56320&&s<=57343&&(n++,i=(i-55296<<10)+s-56320+65536)}i<=127?e+=String.fromCharCode(i):i<=2047?e+=String.fromCharCode(i>>6&31|192,63&i|128):i<=65535?e+=String.fromCharCode(i>>12|224,i>>6&63|128,63&i|128):i<=2097151&&(e+=String.fromCharCode(i>>18&7|240,i>>12&63|128,i>>6&63|128,63&i|128))}return e},e.stringify=function t(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(t).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return""+e.overriddenName;if(e.name)return""+e.name;var n=e.toString();if(null==n)return""+n;var i=n.indexOf("\n");return-1===i?n:n.substring(0,i)},e.resolveForwardRef=function(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")?t():t},e.isPromise=h,e.Version=function(t){this.full=t;var e=t.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}})},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},zUnb:function(t,e,n){"use strict";function i(t){return"function"==typeof t}n.r(e);let s=!1;const o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){s=t},get useDeprecatedSynchronousErrorHandling(){return s}};function r(t){setTimeout(()=>{throw t})}const a={closed:!0,next(t){},error(t){if(o.useDeprecatedSynchronousErrorHandling)throw t},complete(){}},l=Array.isArray||(t=>t&&"number"==typeof t.length);function h(t){return null!=t&&"object"==typeof t}const u={e:{}};let c;function d(){try{return c.apply(this,arguments)}catch(t){return u.e=t,u}}function p(t){return c=t,d}class m extends Error{constructor(t){super(t?`${t.length} errors occurred during unsubscription:\n ${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:""),this.errors=t,this.name="UnsubscriptionError",Object.setPrototypeOf(this,m.prototype)}}class f{constructor(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}unsubscribe(){let t,e=!1;if(this.closed)return;let{_parent:n,_parents:s,_unsubscribe:o,_subscriptions:r}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let a=-1,c=s?s.length:0;for(;n;)n.remove(this),n=++a<c&&s[a]||null;if(i(o)&&p(o).call(this)===u&&(e=!0,t=t||(u.e instanceof m?_(u.e.errors):[u.e])),l(r))for(a=-1,c=r.length;++a<c;){const n=r[a];if(h(n)&&p(n.unsubscribe).call(n)===u){e=!0,t=t||[];let n=u.e;n instanceof m?t=t.concat(_(n.errors)):t.push(n)}}if(e)throw new m(t)}add(t){if(!t||t===f.EMPTY)return f.EMPTY;if(t===this)return this;let e=t;switch(typeof t){case"function":e=new f(t);case"object":if(e.closed||"function"!=typeof e.unsubscribe)return e;if(this.closed)return e.unsubscribe(),e;if("function"!=typeof e._addParent){const t=e;(e=new f)._subscriptions=[t]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}return(this._subscriptions||(this._subscriptions=[])).push(e),e._addParent(this),e}remove(t){const e=this._subscriptions;if(e){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}}_addParent(t){let{_parent:e,_parents:n}=this;e&&e!==t?n?-1===n.indexOf(t)&&n.push(t):this._parents=[t]:this._parent=t}}function _(t){return t.reduce((t,e)=>t.concat(e instanceof m?e.errors:e),[])}f.EMPTY=function(t){return t.closed=!0,t}(new f);const g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("rxSubscriber"):"@@rxSubscriber";class y extends f{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=a;break;case 1:if(!t){this.destination=a;break}if("object"==typeof t){if(t instanceof y||"syncErrorThrowable"in t&&t[g]){const e=t[g]();this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)}else this.syncErrorThrowable=!0,this.destination=new v(this,t);break}default:this.syncErrorThrowable=!0,this.destination=new v(this,t,e,n)}}[g](){return this}static create(t,e,n){const i=new y(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:t,_parents:e}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=t,this._parents=e,this}}class v extends y{constructor(t,e,n,s){let o;super(),this._parentSubscriber=t;let r=this;i(e)?o=e:e&&(o=e.next,n=e.error,s=e.complete,e!==a&&(i((r=Object.create(e)).unsubscribe)&&this.add(r.unsubscribe.bind(r)),r.unsubscribe=this.unsubscribe.bind(this))),this._context=r,this._next=o,this._error=n,this._complete=s}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;o.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=o;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):r(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;r(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);o.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(t){if(this.unsubscribe(),o.useDeprecatedSynchronousErrorHandling)throw t;r(t)}}__tryOrSetError(t,e,n){if(!o.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(e){return o.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=e,t.syncErrorThrown=!0,!0):(r(e),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const b="function"==typeof Symbol&&Symbol.observable||"@@observable";function w(){}class x{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const e=new x;return e.source=this,e.operator=t,e}subscribe(t,e,n){const{operator:i}=this,s=function(t,e,n){if(t){if(t instanceof y)return t;if(t[g])return t[g]()}return t||e||n?new y(t,e,n):new y(a)}(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),o.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(t){try{return this._subscribe(t)}catch(e){o.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),t.error(e)}}forEach(t,e){return new(e=E(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(t){n(t),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[b](){return this}pipe(...t){return 0===t.length?this:function(t){return t?1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}:w}(t)(this)}toPromise(t){return new(t=E(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}function E(t){if(t||(t=o.Promise||Promise),!t)throw new Error("no Promise impl found");return t}x.create=(t=>new x(t));class C extends Error{constructor(){super("object unsubscribed"),this.name="ObjectUnsubscribedError",Object.setPrototypeOf(this,C.prototype)}}class L extends f{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class k extends y{constructor(t){super(t),this.destination=t}}class S extends x{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[g](){return new k(this)}lift(t){const e=new T(this,this);return e.operator=t,e}next(t){if(this.closed)throw new C;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].next(t)}}error(t){if(this.closed)throw new C;this.hasError=!0,this.thrownError=t,this.isStopped=!0;const{observers:e}=this,n=e.length,i=e.slice();for(let s=0;s<n;s++)i[s].error(t);this.observers.length=0}complete(){if(this.closed)throw new C;this.isStopped=!0;const{observers:t}=this,e=t.length,n=t.slice();for(let i=0;i<e;i++)n[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(t){if(this.closed)throw new C;return super._trySubscribe(t)}_subscribe(t){if(this.closed)throw new C;return this.hasError?(t.error(this.thrownError),f.EMPTY):this.isStopped?(t.complete(),f.EMPTY):(this.observers.push(t),new L(this,t))}asObservable(){const t=new x;return t.source=this,t}}S.create=((t,e)=>new T(t,e));class T extends S{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):f.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}class P extends y{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}const M=t=>e=>{for(let n=0,i=t.length;n<i&&!e.closed;n++)e.next(t[n]);e.closed||e.complete()},D=t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,r),e),A=function(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}(),O=t=>e=>{const n=t[A]();for(;;){const t=n.next();if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e},R=t=>e=>{const n=t[b]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)},N=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function F(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const z=t=>{if(t instanceof x)return e=>t._isScalar?(e.next(t.value),void e.complete()):t.subscribe(e);if(N(t))return M(t);if(F(t))return D(t);if(t&&"function"==typeof t[A])return O(t);if(t&&"function"==typeof t[b])return R(t);{const e=`You provided ${h(t)?"an invalid object":`'${t}'`} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.";throw new TypeError(e)}};function V(t,e,n,i){const s=new P(t,n,i);return z(e)(s)}class B extends y{notifyNext(t,e,n,i,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}function j(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new H(t,e))}}class H{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new Z(t,this.project,this.thisArg))}}class Z extends y{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function U(t,e){return new x(e?n=>{const i=new f;let s=0;return i.add(e.schedule(function(){s!==t.length?(n.next(t[s++]),n.closed||i.add(this.schedule())):n.complete()})),i}:M(t))}function G(t,e){if(!e)return t instanceof x?t:new x(z(t));if(null!=t){if(function(t){return t&&"function"==typeof t[b]}(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>{const s=t[b]();i.add(s.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i}:R(t))}(t,e);if(F(t))return function(t,e){return new x(e?n=>{const i=new f;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i}:D(t))}(t,e);if(N(t))return U(t,e);if(function(t){return t&&"function"==typeof t[A]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new x(e?n=>{const i=new f;let s;return i.add(()=>{s&&"function"==typeof s.return&&s.return()}),i.add(e.schedule(()=>{s=t[A](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const i=s.next();t=i.value,e=i.done}catch(t){return void n.error(t)}e?n.complete():(n.next(t),this.schedule())}))})),i}:O(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}function $(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe($((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new W(t,this.project,this.concurrent))}}class W extends B{constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)}_tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this.active++,this._innerSub(e,t,n)}_innerSub(t,e,n){this.add(V(this,t,e,n))}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}notifyComplete(t){const e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function K(t){return t}function Y(t=Number.POSITIVE_INFINITY){return $(K,t)}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof x?t[0]:Y(e)(U(t,n))}function X(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),s=e.subscribe(i);return i.closed||(i.connection=n.connect()),s}}class tt extends y{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,!i||n&&i!==n||i.unsubscribe()}}const et=class extends x{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new f).add(this.source.subscribe(new class extends k{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}(this.getSubject(),this))),t.closed?(this._connection=null,t=f.EMPTY):this._connection=t),t}refCount(){return X()(this)}}.prototype,nt={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:et._subscribe},_isComplete:{value:et._isComplete,writable:!0},getSubject:{value:et.getSubject},connect:{value:et.connect},refCount:{value:et.refCount}};function it(){return new S}function st(){return t=>X()(function(t,e){return function(e){let n;n="function"==typeof t?t:function(){return t};const i=Object.create(e,nt);return i.source=e,i.subjectFactory=n,i}}(it)(t))}function ot(t){return{providedIn:t.providedIn||null,factory:t.factory,value:void 0}}class rt{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0!==e?ot({providedIn:e.providedIn||"root",factory:e.factory}):void 0}toString(){return`InjectionToken ${this._desc}`}}const at="__parameters__";function lt(t,e,n){const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function s(...t){if(this instanceof s)return i.apply(this,t),this;const e=new s(...t);return n.annotation=e,n;function n(t,n,i){const s=t.hasOwnProperty(at)?t[at]:Object.defineProperty(t,at,{value:[]})[at];for(;s.length<=i;)s.push(null);return(s[i]=s[i]||[]).push(e),t}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=t,s.annotationCls=s,s}const ht=Function;function ut(t){return"function"==typeof t}const ct="undefined"!=typeof window&&window,dt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,pt="undefined"!=typeof global&&global,mt=ct||pt||dt,ft=Promise.resolve(0);let _t=null;function gt(){if(!_t){const t=mt.Symbol;if(t&&t.iterator)_t=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;e<t.length;++e){const n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(_t=n)}}}return _t}function yt(t){"undefined"==typeof Zone?ft.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function vt(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function bt(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(bt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}const wt=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,xt=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{/,Et=/^class\s+[A-Za-z\d$_]*\s*extends\s+[A-Za-z\d$_]+\s*{[\s\S]*constructor\s*\(/;function Ct(t){return t?t.map(t=>new(0,t.type.annotationCls)(...t.args?t.args:[])):[]}function Lt(t){const e=t.prototype?Object.getPrototypeOf(t.prototype):null;return(e?e.constructor:null)||Object}function kt(t){return t.__forward_ref__=kt,t.toString=function(){return bt(this())},t}function St(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===kt?t():t}const Tt=lt("Inject",t=>({token:t})),It=lt("Optional"),Pt=lt("Self"),Mt=lt("SkipSelf"),Dt="__source",At=new Object,Ot=At,Rt=new rt("INJECTOR");class Nt{static create(t,e){return Array.isArray(t)?new Wt(t,e):new Wt(t.providers,t.parent,t.name||null)}}Nt.THROW_IF_NOT_FOUND=At,Nt.NULL=new class{get(t,e=At){if(e===At)throw new Error(`NullInjectorError: No provider for ${bt(t)}!`);return e}},Nt.ngInjectableDef=ot({providedIn:"any",factory:()=>te(Rt)});const Ft=function(t){return t},zt=[],Vt=Ft,Bt=function(){return Array.prototype.slice.call(arguments)},jt={},Ht=function(t){for(let e in t)if(t[e]===jt)return e;throw Error("!prop")}({provide:String,useValue:jt}),Zt="ngTokenPath",Ut="ngTempTokenPath",Gt=Nt.NULL,$t=/\n/gm,qt="\u0275";class Wt{constructor(t,e=Gt,n=null){this.parent=e,this.source=n;const i=this._records=new Map;i.set(Nt,{token:Nt,fn:Ft,deps:zt,value:this,useNew:!1}),i.set(Rt,{token:Rt,fn:Ft,deps:zt,value:this,useNew:!1}),function t(e,n){if(n)if((n=St(n))instanceof Array)for(let i=0;i<n.length;i++)t(e,n[i]);else{if("function"==typeof n)throw Qt("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Qt("Unexpected provider",n);{let t=St(n.provide);const i=function(t){const e=function(t){let e=zt;const n=t.deps;if(n&&n.length){e=[];for(let t=0;t<n.length;t++){let i=6,s=St(n[t]);if(s instanceof Array)for(let t=0,e=s;t<e.length;t++){const n=e[t];n instanceof It||n==It?i|=1:n instanceof Mt||n==Mt?i&=-3:n instanceof Pt||n==Pt?i&=-5:s=n instanceof Tt?n.token:St(n)}e.push({token:s,options:i})}}else if(t.useExisting)e=[{token:St(t.useExisting),options:6}];else if(!(n||Ht in t))throw Qt("'deps' required",t);return e}(t);let n=Ft,i=zt,s=!1,o=St(t.provide);if(Ht in t)i=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)s=!0,n=St(t.useClass);else{if("function"!=typeof o)throw Qt("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);s=!0,n=o}return{deps:e,fn:n,useNew:s,value:i}}(n);if(!0===n.multi){let i=e.get(t);if(i){if(i.fn!==Bt)throw Kt(t)}else e.set(t,i={token:n.provide,deps:[],useNew:!1,fn:Bt,value:zt});i.deps.push({token:t=n,options:6})}const s=e.get(t);if(s&&s.fn==Bt)throw Kt(t);e.set(t,i)}}}(i,t)}get(t,e,n=0){const i=this._records.get(t);try{return function t(e,n,i,s,o,r){try{return function(e,n,i,s,o,r){let a;if(!n||4&r)2&r||(a=s.get(e,o,0));else{if((a=n.value)==Vt)throw Error(qt+"Circular dependency");if(a===zt){n.value=Vt;let e=void 0,o=n.useNew,r=n.fn,l=n.deps,h=zt;if(l.length){h=[];for(let e=0;e<l.length;e++){const n=l[e],o=n.options,r=2&o?i.get(n.token):void 0;h.push(t(n.token,r,i,r||4&o?s:Gt,1&o?null:Nt.THROW_IF_NOT_FOUND,0))}}n.value=a=o?new r(...h):r.apply(e,h)}}return a}(e,n,i,s,o,r)}catch(t){throw t instanceof Error||(t=new Error(t)),(t[Ut]=t[Ut]||[]).unshift(e),n&&n.value==Vt&&(n.value=zt),t}}(t,i,this._records,this.parent,e,n)}catch(e){const n=e[Ut];throw t[Dt]&&n.unshift(t[Dt]),e.message=Yt("\n"+e.message,n,this.source),e[Zt]=n,e[Ut]=null,e}}toString(){const t=[];return this._records.forEach((e,n)=>t.push(bt(n))),`StaticInjector[${t.join(", ")}]`}}function Kt(t){return Qt("Cannot mix multi providers and regular providers",t)}function Yt(t,e,n=null){t=t&&"\n"===t.charAt(0)&&t.charAt(1)==qt?t.substr(2):t;let i=bt(e);if(e instanceof Array)i=e.map(bt).join(" -> ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):bt(i)))}i=`{${t.join(", ")}}`}return`StaticInjectorError${n?"("+n+")":""}[${i}]: ${t.replace($t,"\n ")}`}function Qt(t,e){return new Error(Yt(t,e))}let Xt=void 0;function Jt(t){const e=Xt;return Xt=t,e}function te(t,e=0){if(void 0===Xt)throw new Error("inject() must be called from an injection context");if(null===Xt){const e=t.ngInjectableDef;if(e&&"root"==e.providedIn)return void 0===e.value?e.value=e.factory():e.value;throw new Error(`Injector: NOT_FOUND [${bt(t)}]`)}return Xt.get(t,8&e?null:void 0,e)}String;const ee=function(){var t={Emulated:0,Native:1,None:2};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t}(),ne=new class{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}("6.0.3"),ie="ngDebugContext",se="ngOriginalError",oe="ngErrorLogger";function re(t){return t[ie]}function ae(t){return t[se]}function le(t,...e){t.error(...e)}class he{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t[oe]||le}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?re(t)?re(t):this._findContext(ae(t)):null}_findOriginalError(t){let e=ae(t);for(;e&&ae(e);)e=ae(e);return e}}function ue(t){return t.length>1?" ("+function(t){const e=[];for(let n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}(t.slice().reverse()).map(t=>bt(t.token)).join(" -> ")+")":""}function ce(t,e,n,i){const s=[e],o=n(s),r=i?function(t,e){const n=`${o} caused by: ${e instanceof Error?e.message:e}`,i=Error(n);return i[se]=e,i}(0,i):Error(o);return r.addKey=de,r.keys=s,r.injectors=[t],r.constructResolvingMessage=n,r[se]=i,r}function de(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)}function pe(t,e){const n=[];for(let i=0,s=e.length;i<s;i++){const t=e[i];n.push(t&&0!=t.length?t.map(bt).join(" "):"?")}return Error("Cannot resolve all parameters for '"+bt(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+bt(t)+"' is decorated with Injectable.")}function me(t,e){return Error(`Cannot mix multi providers and regular providers, got: ${t} ${e}`)}class fe{constructor(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!");this.displayName=bt(this.token)}static get(t){return _e.get(St(t))}static get numberOfKeys(){return _e.numberOfKeys}}const _e=new class{constructor(){this._allKeys=new Map}get(t){if(t instanceof fe)return t;if(this._allKeys.has(t))return this._allKeys.get(t);const e=new fe(t,fe.numberOfKeys);return this._allKeys.set(t,e),e}get numberOfKeys(){return this._allKeys.size}},ge=new class{constructor(t){this.reflectionCapabilities=t}updateCapabilities(t){this.reflectionCapabilities=t}factory(t){return this.reflectionCapabilities.factory(t)}parameters(t){return this.reflectionCapabilities.parameters(t)}annotations(t){return this.reflectionCapabilities.annotations(t)}propMetadata(t){return this.reflectionCapabilities.propMetadata(t)}hasLifecycleHook(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)}getter(t){return this.reflectionCapabilities.getter(t)}setter(t){return this.reflectionCapabilities.setter(t)}method(t){return this.reflectionCapabilities.method(t)}importUri(t){return this.reflectionCapabilities.importUri(t)}resourceUri(t){return this.reflectionCapabilities.resourceUri(t)}resolveIdentifier(t,e,n,i){return this.reflectionCapabilities.resolveIdentifier(t,e,n,i)}resolveEnum(t,e){return this.reflectionCapabilities.resolveEnum(t,e)}}(new class{constructor(t){this._reflect=t||mt.Reflect}isReflectionEnabled(){return!0}factory(t){return(...e)=>new t(...e)}_zipTypesAndAnnotations(t,e){let n;n=void 0===t?new Array(e.length):new Array(t.length);for(let i=0;i<n.length;i++)n[i]=void 0===t?[]:t[i]!=Object?[t[i]]:[],e&&null!=e[i]&&(n[i]=n[i].concat(e[i]));return n}_ownParameters(t,e){const n=t.toString();if(wt.exec(n)||xt.exec(n)&&!Et.exec(n))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;const i=t.ctorParameters;if(i&&i!==e.ctorParameters){const t="function"==typeof i?i():i,e=t.map(t=>t&&t.type),n=t.map(t=>t&&Ct(t.decorators));return this._zipTypesAndAnnotations(e,n)}const s=t.hasOwnProperty(at)&&t[at],o=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",t);return o||s?this._zipTypesAndAnnotations(o,s):new Array(t.length).fill(void 0)}parameters(t){if(!ut(t))return[];const e=Lt(t);let n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]}_ownAnnotations(t,e){if(t.annotations&&t.annotations!==e.annotations){let e=t.annotations;return"function"==typeof e&&e.annotations&&(e=e.annotations),e}return t.decorators&&t.decorators!==e.decorators?Ct(t.decorators):t.hasOwnProperty("__annotations__")?t.__annotations__:null}annotations(t){if(!ut(t))return[];const e=Lt(t),n=this._ownAnnotations(t,e)||[];return(e!==Object?this.annotations(e):[]).concat(n)}_ownPropMetadata(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){let e=t.propMetadata;return"function"==typeof e&&e.propMetadata&&(e=e.propMetadata),e}if(t.propDecorators&&t.propDecorators!==e.propDecorators){const e=t.propDecorators,n={};return Object.keys(e).forEach(t=>{n[t]=Ct(e[t])}),n}return t.hasOwnProperty("__prop__metadata__")?t.__prop__metadata__:null}propMetadata(t){if(!ut(t))return{};const e=Lt(t),n={};if(e!==Object){const t=this.propMetadata(e);Object.keys(t).forEach(e=>{n[e]=t[e]})}const i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(t=>{const e=[];n.hasOwnProperty(t)&&e.push(...n[t]),e.push(...i[t]),n[t]=e}),n}hasLifecycleHook(t,e){return t instanceof ht&&e in t.prototype}guards(t){return{}}getter(t){return new Function("o","return o."+t+";")}setter(t){return new Function("o","v","return o."+t+" = v;")}method(t){const e=`if (!o.${t}) throw new Error('"${t}" is undefined');\n return o.${t}.apply(o, args);`;return new Function("o","args",e)}importUri(t){return"object"==typeof t&&t.filePath?t.filePath:`./${bt(t)}`}resourceUri(t){return`./${bt(t)}`}resolveIdentifier(t,e,n,i){return i}resolveEnum(t,e){return t[e]}});class ye{constructor(t,e,n){this.key=t,this.optional=e,this.visibility=n}static fromKey(t){return new ye(t,!1,null)}}const ve=[];class be{constructor(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n,this.resolvedFactory=this.resolvedFactories[0]}}class we{constructor(t,e){this.factory=t,this.dependencies=e}}function xe(t){return new be(fe.get(t.provide),[function(t){let e,n;if(t.useClass){const i=St(t.useClass);e=ge.factory(i),n=Ee(i)}else t.useExisting?(e=(t=>t),n=[ye.fromKey(fe.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=function(t,e){if(e){const n=e.map(t=>[t]);return e.map(e=>Ce(t,e,n))}return Ee(t)}(t.useFactory,t.deps)):(e=(()=>t.useValue),n=ve);return new we(e,n)}(t)],t.multi||!1)}function Ee(t){const e=ge.parameters(t);if(!e)return[];if(e.some(t=>null==t))throw pe(t,e);return e.map(n=>Ce(t,n,e))}function Ce(t,e,n){let i=null,s=!1;if(!Array.isArray(e))return Le(e instanceof Tt?e.token:e,s,null);let o=null;for(let r=0;r<e.length;++r){const t=e[r];t instanceof ht?i=t:t instanceof Tt?i=t.token:t instanceof It?s=!0:t instanceof Pt||t instanceof Mt?o=t:t instanceof rt&&(i=t)}if(null!=(i=St(i)))return Le(i,s,o);throw pe(t,n)}function Le(t,e,n){return new ye(fe.get(t),e,n)}const ke=new Object;class Se{static resolve(t){return function(t){const e=function(t,e){for(let n=0;n<t.length;n++){const i=t[n],s=e.get(i.key.id);if(s){if(i.multiProvider!==s.multiProvider)throw me(s,i);if(i.multiProvider)for(let t=0;t<i.resolvedFactories.length;t++)s.resolvedFactories.push(i.resolvedFactories[t]);else e.set(i.key.id,i)}else{let t;t=i.multiProvider?new be(i.key,i.resolvedFactories.slice(),i.multiProvider):i,e.set(i.key.id,t)}}return e}(function t(e,n){return e.forEach(e=>{if(e instanceof ht)n.push({provide:e,useClass:e});else if(e&&"object"==typeof e&&void 0!==e.provide)n.push(e);else{if(!(e instanceof Array))throw Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${e}`);t(e,n)}}),n}(t,[]).map(xe),new Map);return Array.from(e.values())}(t)}static resolveAndCreate(t,e){const n=Se.resolve(t);return Se.fromResolvedProviders(n,e)}static fromResolvedProviders(t,e){return new Te(t,e)}}class Te{constructor(t,e){this._constructionCounter=0,this._providers=t,this.parent=e||null;const n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(let i=0;i<n;i++)this.keyIds[i]=t[i].key.id,this.objs[i]=ke}get(t,e=Ot){return this._getByKey(fe.get(t),null,e)}resolveAndCreateChild(t){const e=Se.resolve(t);return this.createChildFromResolved(e)}createChildFromResolved(t){const e=new Te(t);return e.parent=this,e}resolveAndInstantiate(t){return this.instantiateResolved(Se.resolve([t])[0])}instantiateResolved(t){return this._instantiateProvider(t)}getProviderAtIndex(t){if(t<0||t>=this._providers.length)throw function(t){return Error(`Index ${t} is out-of-bounds.`)}(t);return this._providers[t]}_new(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function(e,n){return ce(e,t.key,function(t){return`Cannot instantiate cyclic dependency!${ue(t)}`})}(this);return this._instantiateProvider(t)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(t){if(t.multiProvider){const e=new Array(t.resolvedFactories.length);for(let n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])}_instantiate(t,e){const n=e.factory;let i,s;try{i=e.dependencies.map(t=>this._getByReflectiveDependency(t))}catch(e){throw e.addKey&&e.addKey(this,t.key),e}try{s=n(...i)}catch(e){throw function(e,n,i,s){return ce(e,t.key,function(t){const e=bt(t[0].token);return`${n.message}: Error during instantiation of ${e}!${ue(t)}.`},n)}(this,e)}return s}_getByReflectiveDependency(t){return this._getByKey(t.key,t.visibility,t.optional?null:Ot)}_getByKey(t,e,n){return t===Te.INJECTOR_KEY?this:e instanceof Pt?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)}_getObjByKeyId(t){for(let e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===ke&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return ke}_throwOrNull(t,e){if(e!==Ot)return e;throw function(t,e){return ce(t,e,function(t){return`No provider for ${bt(t[0].token)}!${ue(t)}`})}(this,t)}_getByKeySelf(t,e){const n=this._getObjByKeyId(t.id);return n!==ke?n:this._throwOrNull(t,e)}_getByKeyDefault(t,e,n){let i;for(i=n instanceof Mt?this.parent:this;i instanceof Te;){const e=i,n=e._getObjByKeyId(t.id);if(n!==ke)return n;i=e.parent}return null!==i?i.get(t.token,e):this._throwOrNull(t,e)}get displayName(){return`ReflectiveInjector(providers: [${function(t,e){const n=new Array(t._providers.length);for(let i=0;i<t._providers.length;++i)n[i]=e(t.getProviderAtIndex(i));return n}(this,t=>' "'+t.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}Te.INJECTOR_KEY=fe.get(Nt);const Ie=new rt("The presence of this token marks an injector as being the root injector.");function Pe(t){return!!t&&"function"==typeof t.then}function Me(t){return!!t&&"function"==typeof t.subscribe}const De=new rt("Application Initializer");class Ae{constructor(t){this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const e=this.appInits[n]();Pe(e)&&t.push(e)}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}const Oe=new rt("AppId");function Re(){return`${Ne()}${Ne()}${Ne()}`}function Ne(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Fe=new rt("Platform Initializer"),ze=new rt("Platform ID"),Ve=new rt("appBootstrapListener");class Be{log(t){console.log(t)}warn(t){console.warn(t)}}function je(){throw new Error("Runtime compiler is not loaded")}Be.ctorParameters=(()=>[]);class He{compileModuleSync(t){throw je()}compileModuleAsync(t){throw je()}compileModuleAndAllComponentsSync(t){throw je()}compileModuleAndAllComponentsAsync(t){throw je()}clearCache(){}clearCacheFor(t){}}class Ze{}class Ue{}class Ge{}function $e(t){const e=Error(`No component factory found for ${bt(t)}. Did you add it to @NgModule.entryComponents?`);return e[qe]=t,e}const qe="ngComponent";class We{}We.NULL=new class{resolveComponentFactory(t){throw $e(t)}};class Ke{constructor(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(let i=0;i<t.length;i++){const e=t[i];this._factories.set(e.componentType,e)}}resolveComponentFactory(t){let e=this._factories.get(t);if(!e&&this._parent&&(e=this._parent.resolveComponentFactory(t)),!e)throw $e(t);return new Ye(e,this._ngModule)}}class Ye extends Ge{constructor(t,e){super(),this.factory=t,this.ngModule=e,this.selector=t.selector,this.componentType=t.componentType,this.ngContentSelectors=t.ngContentSelectors,this.inputs=t.inputs,this.outputs=t.outputs}create(t,e,n,i){return this.factory.create(t,e,n,i||this.ngModule)}}class Qe{}class Xe{}let Je,tn;const en=function(){const t=mt.wtf;return!(!t||!(Je=t.trace)||(tn=Je.events,0))}(),nn=en?function(t,e=null){return tn.createScope(t,e)}:(t,e)=>(function(t,e){return null}),sn=en?function(t,e){return Je.leaveScope(t,e),e}:(t,e)=>e;class on extends S{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){let i,s=t=>null,o=()=>null;t&&"object"==typeof t?(i=this.__isAsync?e=>{setTimeout(()=>t.next(e))}:e=>{t.next(e)},t.error&&(s=this.__isAsync?e=>{setTimeout(()=>t.error(e))}:e=>{t.error(e)}),t.complete&&(o=this.__isAsync?()=>{setTimeout(()=>t.complete())}:()=>{t.complete()})):(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)},e&&(s=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const r=super.subscribe(i,s,o);return t instanceof f&&t.add(r),r}}class rn{constructor({enableLongStackTrace:t=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on(!1),this.onMicrotaskEmpty=new on(!1),this.onStable=new on(!1),this.onError=new on(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),function(t){t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,i,s,o,r)=>{try{return un(t),e.invokeTask(i,s,o,r)}finally{cn(t)}},onInvoke:(e,n,i,s,o,r,a)=>{try{return un(t),e.invoke(i,s,o,r,a)}finally{cn(t)}},onHasTask:(e,n,i,s)=>{e.hasTask(i,s),n===i&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,hn(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,i,s)=>(e.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(this)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!rn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(rn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,t,ln,an,an);try{return s.runTask(o,e,n)}finally{s.cancelTask(o)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}function an(){}const ln={};function hn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function un(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function cn(t){t._nesting--,hn(t)}class dn{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new on,this.onMicrotaskEmpty=new on,this.onStable=new on,this.onError=new on}run(t){return t()}runGuarded(t){return t()}runOutsideAngular(t){return t()}runTask(t){return t()}}class pn{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{rn.assertNotInAngularZone(),yt(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())yt(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,isPeriodic:t.data.isPeriodic,delay:t.data.delay,creationLocation:t.creationLocation,xhr:t.data.target})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}class mn{constructor(){this._applications=new Map,_n.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return _n.findTestabilityInTree(this,t,e)}}mn.ctorParameters=(()=>[]);let fn,_n=new class{addToWindow(t){}findTestabilityInTree(t,e,n){return null}},gn=!0,yn=!1;const vn=new rt("AllowMultipleToken");function bn(){return yn=!0,gn}class wn{constructor(t,e){this.name=t,this.token=e}}function xn(t,e,n=[]){const i=`Platform: ${e}`,s=new rt(i);return(e=[])=>{let o=En();if(!o||o.injector.get(vn,!1))if(t)t(n.concat(e).concat({provide:s,useValue:!0}));else{const t=n.concat(e).concat({provide:s,useValue:!0});!function(t){if(fn&&!fn.destroyed&&!fn.injector.get(vn,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");fn=t.get(Cn);const e=t.get(Fe,null);e&&e.forEach(t=>t())}(Nt.create({providers:t,name:i}))}return function(t){const e=En();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(s)}}function En(){return fn&&!fn.destroyed?fn:null}class Cn{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t){return"noop"===t?new dn:("zone.js"===t?void 0:t)||new rn({enableLongStackTrace:bn()})}(e?e.ngZone:void 0),i=[{provide:rn,useValue:n}];return n.run(()=>{const e=Nt.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(e),o=s.injector.get(he,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return s.onDestroy(()=>Sn(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:t=>{o.handleError(t)}})),function(t,e,n){try{const i=n();return Pe(i)?i.catch(n=>{throw e.runOutsideAngular(()=>t.handleError(n)),n}):i}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(o,n,()=>{const t=s.injector.get(Ae);return t.runInitializers(),t.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=this.injector.get(Ze),i=Ln({},e);return n.createCompiler([i]).compileModuleAsync(t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${bt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Ln(t,e){return Array.isArray(e)?e.reduce(Ln,t):Object.assign({},t,e)}class kn{constructor(t,e,n,i,s,o){this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=bn(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const r=new x(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),a=new x(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{rn.assertNotInAngularZone(),yt(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{rn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(r,a.pipe(st()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Ge?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=n instanceof Ye?null:this._injector.get(Qe),s=n.create(Nt.NULL,[],e||n.selector,i);s.onDestroy(()=>{this._unloadComponent(s)});const o=s.injector.get(pn,null);return o&&s.injector.get(mn).registerApplication(s.location.nativeElement,o),this._loadComponent(s),bn()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=kn._tickScope();try{this._runningTick=!0,this._views.forEach(t=>t.detectChanges()),this._enforceNoNewChanges&&this._views.forEach(t=>t.checkNoChanges())}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1,sn(t)}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Sn(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ve,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}_unloadComponent(t){this.detachView(t.hostView),Sn(this.components,t)}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy())}get viewCount(){return this._views.length}}function Sn(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}kn._tickScope=nn("ApplicationRef#tick()");class Tn{}const In=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();class Pn{}class Mn{constructor(t){this.nativeElement=t}}class Dn{constructor(){this.dirty=!0,this._results=[],this.changes=new on,this.length=0}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}[gt()](){return this._results[gt()]()}toString(){return this._results.toString()}reset(t){this._results=function t(e){return e.reduce((e,n)=>{const i=Array.isArray(n)?t(n):n;return e.concat(i)},[])}(t),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}class An{}class On{}class Rn{}class Nn{constructor(t,e){this.name=t,this.callback=e}}class Fn{constructor(t,e,n){this._debugContext=n,this.nativeNode=t,e&&e instanceof zn?e.addChild(this):this.parent=null,this.listeners=[]}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class zn extends Fn{constructor(t,e,n){super(t,e,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=t}addChild(t){t&&(this.childNodes.push(t),t.parent=this)}removeChild(t){const e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))}insertChildrenAfter(t,e){const n=this.childNodes.indexOf(t);-1!==n&&(this.childNodes.splice(n+1,0,...e),e.forEach(t=>{t.parent&&t.parent.removeChild(t),t.parent=this}))}insertBefore(t,e){const n=this.childNodes.indexOf(t);-1===n?this.addChild(e):(e.parent&&e.parent.removeChild(e),e.parent=this,this.childNodes.splice(n,0,e))}query(t){return this.queryAll(t)[0]||null}queryAll(t){const e=[];return function t(e,n,i){e.childNodes.forEach(e=>{e instanceof zn&&(n(e)&&i.push(e),t(e,n,i))})}(this,t,e),e}queryAllNodes(t){const e=[];return function t(e,n,i){e instanceof zn&&e.childNodes.forEach(e=>{n(e)&&i.push(e),e instanceof zn&&t(e,n,i)})}(this,t,e),e}get children(){return this.childNodes.filter(t=>t instanceof zn)}triggerEventHandler(t,e){this.listeners.forEach(n=>{n.name==t&&n.callback(e)})}}const Vn=new Map;function Bn(t){return Vn.get(t)||null}function jn(t){Vn.set(t.nativeNode,t)}function Hn(t,e){const n=Gn(t),i=Gn(e);return n&&i?function(t,e,n){const i=t[gt()](),s=e[gt()]();for(;;){const t=i.next(),e=s.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!n(t.value,e.value))return!1}}(t,e,Hn):!(n||!t||"object"!=typeof t&&"function"!=typeof t||i||!e||"object"!=typeof e&&"function"!=typeof e)||vt(t,e)}class Zn{constructor(t){this.wrapped=t}static wrap(t){return new Zn(t)}static unwrap(t){return Zn.isWrapped(t)?t.wrapped:t}static isWrapped(t){return t instanceof Zn}}class Un{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function Gn(t){return!!$n(t)&&(Array.isArray(t)||!(t instanceof Map)&&gt()in t)}function $n(t){return null!==t&&("function"==typeof t||"object"==typeof t)}class qn{constructor(){}supports(t){return Gn(t)}create(t){return new Kn(t)}}const Wn=(t,e)=>e;class Kn{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Wn}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,s=null;for(;e||n;){const o=!n||e&&e.currentIndex<Jn(n,i,s)?e:n,r=Jn(o,i,s),a=o.currentIndex;if(o===n)i--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)i++;else{s||(s=[]);const t=r-i,e=a-i;if(t!=e){for(let n=0;n<t;n++){const i=n<s.length?s[n]:s[n]=0,o=i+n;e<=o&&o<t&&(s[n]=i+1)}s[o.previousIndex]=e-t}}r!==a&&t(o,r,a)}}forEachPreviousItem(t){let e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachMovedItem(t){let e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}forEachIdentityChange(t){let e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)}diff(t){if(null==t&&(t=[]),!Gn(t))throw new Error(`Error trying to diff '${bt(t)}'. Only arrays and iterables are allowed`);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e,n,i,s=this._itHead,o=!1;if(Array.isArray(t)){this.length=t.length;for(let e=0;e<this.length;e++)i=this._trackByFn(e,n=t[e]),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,n,i,e)),vt(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,i,e),o=!0),s=s._next}else e=0,function(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)e(t[n]);else{const n=t[gt()]();let i;for(;!(i=n.next()).done;)e(i.value)}}(t,t=>{i=this._trackByFn(e,t),null!==s&&vt(s.trackById,i)?(o&&(s=this._verifyReinsertion(s,t,i,e)),vt(s.item,t)||this._addIdentityChange(s,t)):(s=this._mismatch(s,t,i,e),o=!0),s=s._next,e++}),this.length=e;return this._truncate(s),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t,e;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(vt(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,i)):null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(vt(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,i)):t=this._addAfter(new Yn(e,n),s,i),t}_verifyReinsertion(t,e,n,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,s=t._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Xn),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xn),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Yn{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Qn{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&vt(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Xn{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Qn,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Jn(t,e,n){const i=t.previousIndex;if(null===i)return i;let s=0;return n&&i<n.length&&(s=n[i]),i+e+s}class ti{constructor(t){this.factories=t}static create(t,e){if(null!=e){const n=e.factories.slice();t=t.concat(n)}return new ti(t)}static extend(t){return{provide:ti,useFactory:e=>{if(!e)throw new Error("Cannot extend IterableDiffers without a parent injector");return ti.create(t,e)},deps:[[ti,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${t.name||typeof t}'`)}}ti.ngInjectableDef=ot({providedIn:"root",factory:()=>new ti([new qn])});class ei{constructor(t){this.factories=t}static create(t,e){if(e){const n=e.factories.slice();t=t.concat(n)}return new ei(t)}static extend(t){return{provide:ei,useFactory:e=>{if(!e)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return ei.create(t,e)},deps:[[ei,new Mt,new It]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}const ni=[new class{constructor(){}supports(t){return t instanceof Map||$n(t)}create(){return new class{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let e;for(e=this._mapHead;null!==e;e=e._next)t(e)}forEachPreviousItem(t){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)}forEachChangedItem(t){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)}forEachAddedItem(t){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)}forEachRemovedItem(t){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)}diff(t){if(t){if(!(t instanceof Map||$n(t)))throw new Error(`Error trying to diff '${bt(t)}'. Only maps and objects are allowed`)}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(t,(t,n)=>{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,s=n._next;return i&&(i._next=s),s&&(s._prev=i),n._next=null,n._prev=null,n}const n=new class{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){vt(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}}}],ii=new ti([new qn]),si=new ei(ni),oi=xn(null,"core",[{provide:ze,useValue:"unknown"},{provide:Cn,deps:[Nt]},{provide:mn,deps:[]},{provide:Be,deps:[]}]),ri=new rt("LocaleId");function ai(){return ii}function li(){return si}function hi(t){return t||"en-US"}class ui{constructor(t){}}class ci{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t),this.inertBodyElement=this.inertDocument.createElement("body"),t.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(t){t="<body><remove></remove>"+t+"</body>";try{t=encodeURI(t)}catch(t){return null}const e=new XMLHttpRequest;e.responseType="document",e.open("GET","data:text/html;charset=utf-8,"+t,!1),e.send(null);const n=e.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(t){t="<body><remove></remove>"+t+"</body>";try{const e=(new window.DOMParser).parseFromString(t,"text/html").body;return e.removeChild(e.firstChild),e}catch(t){return null}}getInertBodyElement_InertDocument(t){const e=this.inertDocument.createElement("template");return"content"in e?(e.innerHTML=t,e):(this.inertBodyElement.innerHTML=t,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0<i;i--){const n=e.item(i).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||t.removeAttribute(n)}let n=t.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const di=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,pi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function mi(t){return(t=String(t)).match(di)||t.match(pi)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe URL value ${t} (see http://g.co/ng/security#xss)`),"unsafe:"+t)}function fi(t){return(t=String(t)).split(",").map(t=>mi(t.trim())).join(", ")}function _i(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function gi(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const yi=_i("area,br,col,hr,img,wbr"),vi=_i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),bi=_i("rp,rt"),wi=gi(bi,vi),xi=gi(yi,gi(vi,_i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),gi(bi,_i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wi),Ei=_i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ci=_i("srcset"),Li=gi(Ei,Ci,_i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"));class ki{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!xi.hasOwnProperty(e))return void(this.sanitizedSomething=!0);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i),e=t.name,s=e.toLowerCase();if(!Li.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}let o=t.value;Ei[s]&&(o=mi(o)),Ci[s]&&(o=fi(o)),this.buf.push(" ",e,'="',Ii(o),'"')}this.buf.push(">")}endElement(t){const e=t.nodeName.toLowerCase();xi.hasOwnProperty(e)&&!yi.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Ii(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Si=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ti=/([^\#-~ |!])/g;function Ii(t){return t.replace(/&/g,"&amp;").replace(Si,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Ti,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Pi;function Mi(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}const Di=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),Ai=/^url\(([^)]+)\)$/,Oi=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();class Ri{}function Ni(t,e,n){const i=t.state,s=1792&i;return s===e?(t.state=-1793&i|n,t.initIndex=-1,!0):s===n}function Fi(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function zi(t,e){return t.nodes[e]}function Vi(t,e){return t.nodes[e]}function Bi(t,e){return t.nodes[e]}function ji(t,e){return t.nodes[e]}function Hi(t,e){return t.nodes[e]}const Zi={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0};function Ui(t,e,n,i){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${e}'. Current value: '${n}'.`;return i&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){const n=new Error(t);return Gi(n,e),n}(s,t)}function Gi(t,e){t[ie]=e,t[oe]=e.logError.bind(e)}function $i(t){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${t}`)}const qi=()=>{},Wi=new Map;function Ki(t){let e=Wi.get(t);return e||(e=bt(t)+"_"+Wi.size,Wi.set(t,e)),e}function Yi(t,e,n,i){if(Zn.isWrapped(i)){i=Zn.unwrap(i);const s=t.def.nodes[e].bindingIndex+n,o=Zn.unwrap(t.oldValues[s]);t.oldValues[s]=new Zn(o)}return i}const Qi="$$undefined",Xi="$$empty";function Ji(t){return{id:Qi,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}let ts=0;function es(t,e,n,i){return!(!(2&t.state)&&vt(t.oldValues[e.bindingIndex+n],i))}function ns(t,e,n,i){return!!es(t,e,n,i)&&(t.oldValues[e.bindingIndex+n]=i,!0)}function is(t,e,n,i){const s=t.oldValues[e.bindingIndex+n];if(1&t.state||!Hn(s,i)){const o=e.bindings[n].name;throw Ui(Zi.createDebugContext(t,e.nodeIndex),`${o}: ${s}`,`${o}: ${i}`,0!=(1&t.state))}}function ss(t){let e=t;for(;e;)2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}function os(t,e){let n=t;for(;n&&n!==e;)n.state|=64,n=n.viewContainerParent||n.parent}function rs(t,e,n,i){try{return ss(33554432&t.def.nodes[e].flags?Vi(t,e).componentView:t),Zi.handleEvent(t,e,n,i)}catch(e){t.root.errorHandler.handleError(e)}}function as(t){return t.parent?Vi(t.parent,t.parentNodeDef.nodeIndex):null}function ls(t){return t.parent?t.parentNodeDef.parent:null}function hs(t,e){switch(201347067&e.flags){case 1:return Vi(t,e.nodeIndex).renderElement;case 2:return zi(t,e.nodeIndex).renderText}}function us(t,e){return t?`${t}:${e}`:e}function cs(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ds(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function ps(t){return 1<<t%32}function ms(t){const e={};let n=0;const i={};return t&&t.forEach(([t,s])=>{"number"==typeof t?(e[t]=s,n|=ps(t)):i[t]=s}),{matchedQueries:e,references:i,matchedQueryIds:n}}function fs(t,e){return t.map(t=>{let n,i;return Array.isArray(t)?[i,n]=t:(i=0,n=t),n&&("function"==typeof n||"object"==typeof n)&&e&&Object.defineProperty(n,Dt,{value:e,configurable:!0}),{flags:i,token:n,tokenKey:Ki(n)}})}function _s(t,e,n){let i=n.renderParent;return i?0==(1&i.flags)||0==(33554432&i.flags)||i.element.componentRendererType&&i.element.componentRendererType.encapsulation===ee.Native?Vi(t,n.renderParent.nodeIndex).renderElement:void 0:e}const gs=new WeakMap;function ys(t){let e=gs.get(t);return e||((e=t(()=>qi)).factory=t,gs.set(t,e)),e}function vs(t,e,n,i,s){3===e&&(n=t.renderer.parentNode(hs(t,t.def.lastRenderRootNode))),bs(t,e,0,t.def.nodes.length-1,n,i,s)}function bs(t,e,n,i,s,o,r){for(let a=n;a<=i;a++){const n=t.def.nodes[a];11&n.flags&&xs(t,n,e,s,o,r),a+=n.childCount}}function ws(t,e,n,i,s,o){let r=t;for(;r&&!cs(r);)r=r.parent;const a=r.parent,l=ls(r),h=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=h;u++){const t=a.def.nodes[u];t.ngContentIndex===e&&xs(a,t,n,i,s,o),u+=t.childCount}if(!a.parent){const r=t.root.projectableNodes[e];if(r)for(let e=0;e<r.length;e++)Es(t,r[e],n,i,s,o)}}function xs(t,e,n,i,s,o){if(8&e.flags)ws(t,e.ngContent.index,n,i,s,o);else{const r=hs(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&Es(t,r,n,i,s,o),32&e.bindingFlags&&Es(Vi(t,e.nodeIndex).componentView,r,n,i,s,o)):Es(t,r,n,i,s,o),16777216&e.flags){const r=Vi(t,e.nodeIndex).viewContainer._embeddedViews;for(let t=0;t<r.length;t++)vs(r[t],n,i,s,o)}1&e.flags&&!e.element.name&&bs(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,i,s,o)}}function Es(t,e,n,i,s,o){const r=t.renderer;switch(n){case 1:r.appendChild(i,e);break;case 2:r.insertBefore(i,e,s);break;case 3:r.removeChild(i,e);break;case 0:o.push(e)}}const Cs=/^:([^:]+):(.+)$/;function Ls(t){if(":"===t[0]){const e=t.match(Cs);return[e[1],e[2]]}return["",t]}function ks(t){let e=0;for(let n=0;n<t.length;n++)e|=t[n].flags;return e}function Ss(t,e,n,i,s,o){t|=1;const{matchedQueries:r,references:a,matchedQueryIds:l}=ms(e);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:r,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:i,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?ys(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||qi},provider:null,text:null,query:null,ngContent:null}}function Ts(t,e,n,i,s,o,r=[],a,l,h,u,c){h||(h=qi);const{matchedQueries:d,references:p,matchedQueryIds:m}=ms(n);let f=null,_=null;o&&([f,_]=Ls(o)),a=a||[];const g=new Array(a.length);for(let b=0;b<a.length;b++){const[t,e,n]=a[b],[i,s]=Ls(e);let o=void 0,r=void 0;switch(15&t){case 4:r=n;break;case 1:case 8:o=n}g[b]={flags:t,ns:i,name:s,nonMinifiedName:s,securityContext:o,suffix:r}}l=l||[];const y=new Array(l.length);for(let b=0;b<l.length;b++){const[t,e]=l[b];y[b]={type:0,target:t,eventName:e,propName:null}}const v=(r=r||[]).map(([t,e])=>{const[n,i]=Ls(t);return[n,i,e]});return c=function(t){if(t&&t.id===Qi){const e=null!=t.encapsulation&&t.encapsulation!==ee.None||t.styles.length||Object.keys(t.data).length;t.id=e?`c${ts++}`:Xi}return t&&t.id===Xi&&(t=null),t||null}(c),u&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:m,references:p,ngContentIndex:i,childCount:s,bindings:g,bindingFlags:ks(g),outputs:y,element:{ns:f,name:_,attrs:v,template:null,componentProvider:null,componentView:u||null,componentRendererType:c,publicProviders:null,allProviders:null,handleEvent:h||qi},provider:null,text:null,query:null,ngContent:null}}function Is(t,e,n){const i=n.element,s=t.root.selectorOrNode,o=t.renderer;let r;if(t.parent||!s){r=i.name?o.createElement(i.name,i.ns):o.createComment("");const s=_s(t,e,n);s&&o.appendChild(s,r)}else r=o.selectRootElement(s);if(i.attrs)for(let a=0;a<i.attrs.length;a++){const[t,e,n]=i.attrs[a];o.setAttribute(r,e,n,t)}return r}function Ps(t,e,n,i){for(let s=0;s<n.outputs.length;s++){const o=n.outputs[s],r=Ms(t,n.nodeIndex,us(o.target,o.eventName));let a=o.target,l=t;"component"===o.target&&(a=null,l=e);const h=l.renderer.listen(a||i,o.eventName,r);t.disposables[n.outputIndex+s]=h}}function Ms(t,e,n){return i=>rs(t,e,n,i)}function Ds(t,e,n,i){if(!ns(t,e,n,i))return!1;const s=e.bindings[n],o=Vi(t,e.nodeIndex),r=o.renderElement,a=s.name;switch(15&s.flags){case 1:!function(t,e,n,i,s,o){const r=e.securityContext;let a=r?t.root.sanitizer.sanitize(r,o):o;a=null!=a?a.toString():null;const l=t.renderer;null!=o?l.setAttribute(n,s,a,i):l.removeAttribute(n,s,i)}(t,s,r,s.ns,a,i);break;case 2:!function(t,e,n,i){const s=t.renderer;i?s.addClass(e,n):s.removeClass(e,n)}(t,r,a,i);break;case 4:!function(t,e,n,i,s){let o=t.root.sanitizer.sanitize(Oi.STYLE,s);if(null!=o){o=o.toString();const t=e.suffix;null!=t&&(o+=t)}else o=null;const r=t.renderer;null!=o?r.setStyle(n,i,o):r.removeStyle(n,i)}(t,s,r,a,i);break;case 8:!function(t,e,n,i,s){const o=e.securityContext;let r=o?t.root.sanitizer.sanitize(o,s):s;t.renderer.setProperty(n,i,r)}(33554432&e.flags&&32&s.flags?o.componentView:t,s,r,a,i)}return!0}const As=new Object,Os=Ki(Nt),Rs=Ki(Rt),Ns=Ki(Qe);function Fs(t,e,n,i){return n=St(n),{index:-1,deps:fs(i,bt(e)),flags:t,token:e,value:n}}function zs(t,e,n=Nt.THROW_IF_NOT_FOUND){const i=Jt(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);const s=e.tokenKey;switch(s){case Os:case Rs:case Ns:return t}const o=t._def.providersByKey[s];if(o){let e=t._providers[o.index];return void 0===e&&(e=t._providers[o.index]=Vs(t,o)),e===As?void 0:e}if(e.token.ngInjectableDef&&function(t,e){return null!=e.providedIn&&(function(t,n){return t._def.modules.indexOf(e.providedIn)>-1}(t)||"root"===e.providedIn&&t._def.isRoot)}(t,e.token.ngInjectableDef)){const n=t._providers.length;return t._def.providersByKey[e.tokenKey]={flags:5120,value:e.token.ngInjectableDef.factory,deps:[],index:n,token:e.token},t._providers[n]=As,t._providers[n]=Vs(t,t._def.providersByKey[e.tokenKey])}return t._parent.get(e.token,n)}finally{Jt(i)}}function Vs(t,e){let n;switch(201347067&e.flags){case 512:n=function(t,e,n){const i=n.length;switch(i){case 0:return new e;case 1:return new e(zs(t,n[0]));case 2:return new e(zs(t,n[0]),zs(t,n[1]));case 3:return new e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=new Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return new e(...s)}}(t,e.value,e.deps);break;case 1024:n=function(t,e,n){const i=n.length;switch(i){case 0:return e();case 1:return e(zs(t,n[0]));case 2:return e(zs(t,n[0]),zs(t,n[1]));case 3:return e(zs(t,n[0]),zs(t,n[1]),zs(t,n[2]));default:const s=Array(i);for(let e=0;e<i;e++)s[e]=zs(t,n[e]);return e(...s)}}(t,e.value,e.deps);break;case 2048:n=zs(t,e.deps[0]);break;case 256:n=e.value}return n===As||null==n||"object"!=typeof n||131072&e.flags||"function"!=typeof n.ngOnDestroy||(e.flags|=131072),void 0===n?As:n}function Bs(t,e){const n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;const i=n[e];return i.viewContainerParent=null,Us(n,e),Zi.dirtyParentQueries(i),Hs(i),i}function js(t,e,n){const i=e?hs(e,e.def.lastRenderRootNode):t.renderElement;vs(n,2,n.renderer.parentNode(i),n.renderer.nextSibling(i),void 0)}function Hs(t){vs(t,3,null,null,void 0)}function Zs(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Us(t,e){e>=t.length-1?t.pop():t.splice(e,1)}const Gs=new Object;function $s(t,e,n,i,s,o){return new qs(t,e,n,i,s,o)}class qs extends Ge{constructor(t,e,n,i,s,o){super(),this.selector=t,this.componentType=e,this._inputs=i,this._outputs=s,this.ngContentSelectors=o,this.viewDefFactory=n}get inputs(){const t=[],e=this._inputs;for(let n in e)t.push({propName:n,templateName:e[n]});return t}get outputs(){const t=[];for(let e in this._outputs)t.push({propName:e,templateName:this._outputs[e]});return t}create(t,e,n,i){if(!i)throw new Error("ngModule should be provided");const s=ys(this.viewDefFactory),o=s.nodes[0].element.componentProvider.nodeIndex,r=Zi.createRootView(t,e||[],n,s,i,Gs),a=Bi(r,o).instance;return n&&r.renderer.setAttribute(Vi(r,0).renderElement,"ng-version",ne.full),new Ws(r,new Xs(r),a)}}class Ws extends Ue{constructor(t,e,n){super(),this._view=t,this._viewRef=e,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=e,this.changeDetectorRef=e,this.instance=n}get location(){return new Mn(Vi(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new no(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(t){this._viewRef.onDestroy(t)}}function Ks(t,e,n){return new Ys(t,e,n)}class Ys{constructor(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}get element(){return new Mn(this._data.renderElement)}get injector(){return new no(this._view,this._elDef)}get parentInjector(){let t=this._view,e=this._elDef.parent;for(;!e&&t;)e=ls(t),t=t.parent;return t?new no(t,e):new no(this._view,null)}clear(){for(let t=this._embeddedViews.length-1;t>=0;t--){const e=Bs(this._data,t);Zi.destroyView(e)}}get(t){const e=this._embeddedViews[t];if(e){const t=new Xs(e);return t.attachToViewContainerRef(this),t}return null}get length(){return this._embeddedViews.length}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,s){const o=n||this.parentInjector;s||t instanceof Ye||(s=o.get(Qe));const r=t.create(o,i,void 0,s);return this.insert(r.hostView,e),r}insert(t,e){if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=t;return function(t,e,n,i){let s=e.viewContainer._embeddedViews;null!==n&&void 0!==n||(n=s.length),i.viewContainerParent=t,Zs(s,n,i),function(t,e){const n=as(e);if(!n||n===t||16&e.state)return;e.state|=16;let i=n.template._projectedViews;i||(i=n.template._projectedViews=[]),i.push(e),function(t,e){if(4&e.flags)return;t.nodeFlags|=4,e.flags|=4;let n=e.parent;for(;n;)n.childFlags|=4,n=n.parent}(e.parent.def,e.parentNodeDef)}(e,i),Zi.dirtyParentQueries(i),js(e,n>0?s[n-1]:null,i)}(this._view,this._data,e,n._view),n.attachToViewContainerRef(this),t}move(t,e){if(t.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(t._view);return function(t,e,i){const s=t.viewContainer._embeddedViews,o=s[n];Us(s,n),null==i&&(i=s.length),Zs(s,i,o),Zi.dirtyParentQueries(o),Hs(o),js(t,i>0?s[i-1]:null,o)}(this._data,0,e),t}indexOf(t){return this._embeddedViews.indexOf(t._view)}remove(t){const e=Bs(this._data,t);e&&Zi.destroyView(e)}detach(t){const e=Bs(this._data,t);return e?new Xs(e):null}}function Qs(t){return new Xs(t)}class Xs{constructor(t){this._view=t,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(t){const e=[];return vs(t,0,void 0,void 0,e),e}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){ss(this._view)}detach(){this._view.state&=-5}detectChanges(){const t=this._view.root.rendererFactory;t.begin&&t.begin();try{Zi.checkAndUpdateView(this._view)}finally{t.end&&t.end()}}checkNoChanges(){Zi.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Zi.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Hs(this._view),Zi.dirtyParentQueries(this._view)}attachToAppRef(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}attachToViewContainerRef(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t}}function Js(t,e){return new to(t,e)}class to extends An{constructor(t,e){super(),this._parentView=t,this._def=e}createEmbeddedView(t){return new Xs(Zi.createEmbeddedView(this._parentView,this._def,this._def.element.template,t))}get elementRef(){return new Mn(Vi(this._parentView,this._def.nodeIndex).renderElement)}}function eo(t,e){return new no(t,e)}class no{constructor(t,e){this.view=t,this.elDef=e}get(t,e=Nt.THROW_IF_NOT_FOUND){return Zi.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:t,tokenKey:Ki(t)},e)}}function io(t,e){const n=t.def.nodes[e];if(1&n.flags){const e=Vi(t,n.nodeIndex);return n.element.template?e.template:e.renderElement}if(2&n.flags)return zi(t,n.nodeIndex).renderText;if(20240&n.flags)return Bi(t,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${e}`)}function so(t){return new oo(t.renderer)}class oo{constructor(t){this.delegate=t}selectRootElement(t){return this.delegate.selectRootElement(t)}createElement(t,e){const[n,i]=Ls(e),s=this.delegate.createElement(i,n);return t&&this.delegate.appendChild(t,s),s}createViewRoot(t){return t}createTemplateAnchor(t){const e=this.delegate.createComment("");return t&&this.delegate.appendChild(t,e),e}createText(t,e){const n=this.delegate.createText(e);return t&&this.delegate.appendChild(t,n),n}projectNodes(t,e){for(let n=0;n<e.length;n++)this.delegate.appendChild(t,e[n])}attachViewAfter(t,e){const n=this.delegate.parentNode(t),i=this.delegate.nextSibling(t);for(let s=0;s<e.length;s++)this.delegate.insertBefore(n,e[s],i)}detachView(t){for(let e=0;e<t.length;e++){const n=t[e],i=this.delegate.parentNode(n);this.delegate.removeChild(i,n)}}destroyView(t,e){for(let n=0;n<e.length;n++)this.delegate.destroyNode(e[n])}listen(t,e,n){return this.delegate.listen(t,e,n)}listenGlobal(t,e,n){return this.delegate.listen(t,e,n)}setElementProperty(t,e,n){this.delegate.setProperty(t,e,n)}setElementAttribute(t,e,n){const[i,s]=Ls(e);null!=n?this.delegate.setAttribute(t,s,n,i):this.delegate.removeAttribute(t,s,i)}setBindingDebugInfo(t,e,n){}setElementClass(t,e,n){n?this.delegate.addClass(t,e):this.delegate.removeClass(t,e)}setElementStyle(t,e,n){null!=n?this.delegate.setStyle(t,e,n):this.delegate.removeStyle(t,e)}invokeElementMethod(t,e,n){t[e].apply(t,n)}setText(t,e){this.delegate.setValue(t,e)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function ro(t,e,n,i){return new ao(t,e,n,i)}class ao{constructor(t,e,n,i){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=i,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){const e=t._def,n=t._providers=new Array(e.providers.length);for(let i=0;i<e.providers.length;i++){const s=e.providers[i];4096&s.flags||void 0===n[i]&&(n[i]=Vs(t,s))}}(this)}get(t,e=Nt.THROW_IF_NOT_FOUND,n=0){let i=0;return 4&n?i|=1:2&n&&(i|=4),zs(this,{token:t,tokenKey:Ki(t),flags:i},e)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(We)}destroy(){if(this._destroyed)throw new Error(`The ng module ${bt(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(t,e){const n=t._def,i=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const e=t._providers[s];if(e&&e!==As){const t=e.ngOnDestroy;"function"!=typeof t||i.has(e)||(t.apply(e),i.add(e))}}}(this),this._destroyListeners.forEach(t=>t())}onDestroy(t){this._destroyListeners.push(t)}}const lo=Ki(class{}),ho=Ki(Pn),uo=Ki(Mn),co=Ki(On),po=Ki(An),mo=Ki(Rn),fo=Ki(Nt),_o=Ki(Rt);function go(t,e,n,i,s,o,r,a){const l=[];if(r)for(let u in r){const[t,e]=r[u];l[t]={flags:8,name:u,nonMinifiedName:e,ns:null,securityContext:null,suffix:null}}const h=[];if(a)for(let u in a)h.push({type:1,propName:u,target:null,eventName:a[u]});return bo(t,e|=16384,n,i,s,s,o,l,h)}function yo(t,e,n){return bo(-1,t|=16,null,0,e,e,n)}function vo(t,e,n,i,s){return bo(-1,t,e,0,n,i,s)}function bo(t,e,n,i,s,o,r,a,l){const{matchedQueries:h,references:u,matchedQueryIds:c}=ms(n);l||(l=[]),a||(a=[]),o=St(o);const d=fs(r,bt(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:h,matchedQueryIds:c,references:u,ngContentIndex:-1,childCount:i,bindings:a,bindingFlags:ks(a),outputs:l,element:null,provider:{token:s,value:o,deps:d},text:null,query:null,ngContent:null}}function wo(t,e){return Lo(t,e)}function xo(t,e){let n=t;for(;n.parent&&!cs(n);)n=n.parent;return ko(n.parent,ls(n),!0,e.provider.value,e.provider.deps)}function Eo(t,e){const n=ko(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(let i=0;i<e.outputs.length;i++){const s=e.outputs[i],o=n[s.propName].subscribe(Co(t,e.parent.nodeIndex,s.eventName));t.disposables[e.outputIndex+i]=o.unsubscribe.bind(o)}return n}function Co(t,e,n){return i=>rs(t,e,n,i)}function Lo(t,e){const n=(8192&e.flags)>0,i=e.provider;switch(201347067&e.flags){case 512:return ko(t,e.parent,n,i.value,i.deps);case 1024:return function(t,e,n,i,s){const o=s.length;switch(o){case 0:return i();case 1:return i(To(t,e,n,s[0]));case 2:return i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return i(...r)}}(t,e.parent,n,i.value,i.deps);case 2048:return To(t,e.parent,n,i.deps[0]);case 256:return i.value}}function ko(t,e,n,i,s){const o=s.length;switch(o){case 0:return new i;case 1:return new i(To(t,e,n,s[0]));case 2:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]));case 3:return new i(To(t,e,n,s[0]),To(t,e,n,s[1]),To(t,e,n,s[2]));default:const r=new Array(o);for(let i=0;i<o;i++)r[i]=To(t,e,n,s[i]);return new i(...r)}}const So={};function To(t,e,n,i,s=Nt.THROW_IF_NOT_FOUND){if(8&i.flags)return i.token;const o=t;2&i.flags&&(s=null);const r=i.tokenKey;r===mo&&(n=!(!e||!e.element.componentView)),e&&1&i.flags&&(n=!1,e=e.parent);let a=t;for(;a;){if(e)switch(r){case lo:return so(Io(a,e,n));case ho:return Io(a,e,n).renderer;case uo:return new Mn(Vi(a,e.nodeIndex).renderElement);case co:return Vi(a,e.nodeIndex).viewContainer;case po:if(e.element.template)return Vi(a,e.nodeIndex).template;break;case mo:return Qs(Io(a,e,n));case fo:case _o:return eo(a,e);default:const t=(n?e.element.allProviders:e.element.publicProviders)[r];if(t){let e=Bi(a,t.nodeIndex);return e||(e={instance:Lo(a,t)},a.nodes[t.nodeIndex]=e),e.instance}}n=cs(a),e=ls(a),a=a.parent,4&i.flags&&(a=null)}const l=o.root.injector.get(i.token,So);return l!==So||s===So?l:o.root.ngModule.injector.get(i.token,s)}function Io(t,e,n){let i;if(n)i=Vi(t,e.nodeIndex).componentView;else for(i=t;i.parent&&!cs(i);)i=i.parent;return i}function Po(t,e,n,i,s,o){if(32768&n.flags){const e=Vi(t,n.parent.nodeIndex).componentView;2&e.def.flags&&(e.state|=8)}if(e.instance[n.bindings[i].name]=s,524288&n.flags){o=o||{};const e=Zn.unwrap(t.oldValues[n.bindingIndex+i]);o[n.bindings[i].nonMinifiedName]=new Un(e,s,0!=(2&t.state))}return t.oldValues[n.bindingIndex+i]=s,o}function Mo(t,e){if(!(t.def.nodeFlags&e))return;const n=t.def.nodes;let i=0;for(let s=0;s<n.length;s++){const o=n[s];let r=o.parent;for(!r&&o.flags&e&&Ao(t,s,o.flags&e,i++),0==(o.childFlags&e)&&(s+=o.childCount);r&&1&r.flags&&s===r.nodeIndex+r.childCount;)r.directChildFlags&e&&(i=Do(t,r,e,i)),r=r.parent}}function Do(t,e,n,i){for(let s=e.nodeIndex+1;s<=e.nodeIndex+e.childCount;s++){const e=t.def.nodes[s];e.flags&n&&Ao(t,s,e.flags&n,i++),s+=e.childCount}return i}function Ao(t,e,n,i){const s=Bi(t,e);if(!s)return;const o=s.instance;o&&(Zi.setCurrentNode(t,e),1048576&n&&Fi(t,512,i)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fi(t,768,i)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}function Oo(t,e,n){let i=[];for(let s in n)i.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:ps(e),bindings:i},ngContent:null}}function Ro(t){const e=t.def.nodeMatchedQueries;for(;t.parent&&ds(t);){let n=t.parentNodeDef;t=t.parent;const i=n.nodeIndex+n.childCount;for(let s=0;s<=i;s++){const i=t.def.nodes[s];67108864&i.flags&&536870912&i.flags&&(i.query.filterId&e)===i.query.filterId&&Hi(t,s).setDirty(),!(1&i.flags&&s+i.childCount<n.nodeIndex)&&67108864&i.childFlags&&536870912&i.childFlags||(s+=i.childCount)}}if(134217728&t.def.nodeFlags)for(let n=0;n<t.def.nodes.length;n++){const e=t.def.nodes[n];134217728&e.flags&&536870912&e.flags&&Hi(t,n).setDirty(),n+=e.childCount}}function No(t,e){const n=Hi(t,e.nodeIndex);if(!n.dirty)return;let i,s=void 0;if(67108864&e.flags){const n=e.parent.parent;s=Fo(t,n.nodeIndex,n.nodeIndex+n.childCount,e.query,[]),i=Bi(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(s=Fo(t,0,t.def.nodes.length-1,e.query,[]),i=t.component);n.reset(s);const o=e.query.bindings;let r=!1;for(let a=0;a<o.length;a++){const t=o[a];let e;switch(t.bindingType){case 0:e=n.first;break;case 1:e=n,r=!0}i[t.propName]=e}r&&n.notifyOnChanges()}function Fo(t,e,n,i,s){for(let o=e;o<=n;o++){const e=t.def.nodes[o],n=e.matchedQueries[i.id];if(null!=n&&s.push(zo(t,e,n)),1&e.flags&&e.element.template&&(e.element.template.nodeMatchedQueries&i.filterId)===i.filterId){const n=Vi(t,o);if((e.childMatchedQueries&i.filterId)===i.filterId&&(Fo(t,o+1,o+e.childCount,i,s),o+=e.childCount),16777216&e.flags){const t=n.viewContainer._embeddedViews;for(let e=0;e<t.length;e++){const o=t[e],r=as(o);r&&r===n&&Fo(o,0,o.def.nodes.length-1,i,s)}}const r=n.template._projectedViews;if(r)for(let t=0;t<r.length;t++){const e=r[t];Fo(e,0,e.def.nodes.length-1,i,s)}}(e.childMatchedQueries&i.filterId)!==i.filterId&&(o+=e.childCount)}return s}function zo(t,e,n){if(null!=n)switch(n){case 1:return Vi(t,e.nodeIndex).renderElement;case 0:return new Mn(Vi(t,e.nodeIndex).renderElement);case 2:return Vi(t,e.nodeIndex).template;case 3:return Vi(t,e.nodeIndex).viewContainer;case 4:return Bi(t,e.nodeIndex).instance}}function Vo(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function Bo(t,e,n){const i=_s(t,e,n);i&&ws(t,n.ngContent.index,1,i,null,void 0)}function jo(t,e){return function(t,e,n){const i=new Array(n.length);for(let s=0;s<n.length;s++){const t=n[s];i[s]={flags:8,name:t,ns:null,nonMinifiedName:t,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:128,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:i,bindingFlags:ks(i),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}(0,t,new Array(e+1))}function Ho(t,e,n){const i=new Array(n.length-1);for(let s=1;s<n.length;s++)i[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:i,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function Zo(t,e,n){let i;const s=t.renderer;i=s.createText(n.text.prefix);const o=_s(t,e,n);return o&&s.appendChild(o,i),{renderText:i}}function Uo(t,e){return(null!=t?t.toString():"")+e.suffix}function Go(t,e,n,i){let s=0,o=0,r=0,a=0,l=0,h=null,u=null,c=!1,d=!1,p=null;for(let m=0;m<e.length;m++){const t=e[m];if(t.nodeIndex=m,t.parent=h,t.bindingIndex=s,t.outputIndex=o,t.renderParent=u,r|=t.flags,l|=t.matchedQueryIds,t.element){const e=t.element;e.publicProviders=h?h.element.publicProviders:Object.create(null),e.allProviders=e.publicProviders,c=!1,d=!1,t.element.template&&(l|=t.element.template.nodeMatchedQueries)}if(qo(h,t,e.length),s+=t.bindings.length,o+=t.outputs.length,!u&&3&t.flags&&(p=t),20224&t.flags){c||(c=!0,h.element.publicProviders=Object.create(h.element.publicProviders),h.element.allProviders=h.element.publicProviders);const e=0!=(32768&t.flags);0==(8192&t.flags)||e?h.element.publicProviders[Ki(t.provider.token)]=t:(d||(d=!0,h.element.allProviders=Object.create(h.element.publicProviders)),h.element.allProviders[Ki(t.provider.token)]=t),e&&(h.element.componentProvider=t)}if(h?(h.childFlags|=t.flags,h.directChildFlags|=t.flags,h.childMatchedQueries|=t.matchedQueryIds,t.element&&t.element.template&&(h.childMatchedQueries|=t.element.template.nodeMatchedQueries)):a|=t.flags,t.childCount>0)h=t,$o(t)||(u=t);else for(;h&&m===h.nodeIndex+h.childCount;){const t=h.parent;t&&(t.childFlags|=h.childFlags,t.childMatchedQueries|=h.childMatchedQueries),u=(h=t)&&$o(h)?h.renderParent:h}}return{factory:null,nodeFlags:r,rootNodeFlags:a,nodeMatchedQueries:l,flags:t,nodes:e,updateDirectives:n||qi,updateRenderer:i||qi,handleEvent:(t,n,i,s)=>e[n].element.handleEvent(t,i,s),bindingCount:s,outputCount:o,lastRenderRootNode:p}}function $o(t){return 0!=(1&t.flags)&&null===t.element.name}function qo(t,e,n){const i=e.element&&e.element.template;if(i){if(!i.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(i.lastRenderRootNode&&16777216&i.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${e.nodeIndex}!`)}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${e.nodeIndex}!`);if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${e.nodeIndex}!`);if(134217728&e.flags&&t)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${e.nodeIndex}!`)}if(e.childCount){const i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${e.nodeIndex}!`)}}function Wo(t,e,n,i){const s=Qo(t.root,t.renderer,t,e,n);return Xo(s,t.component,i),Jo(s),s}function Ko(t,e,n){const i=Qo(t,t.renderer,null,null,e);return Xo(i,n,n),Jo(i),i}function Yo(t,e,n,i){const s=e.element.componentRendererType;let o;return o=s?t.root.rendererFactory.createRenderer(i,s):t.root.renderer,Qo(t.root,o,t,e.element.componentProvider,n)}function Qo(t,e,n,i,s){const o=new Array(s.nodes.length),r=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:i,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(s.bindingCount),disposables:r,initIndex:-1}}function Xo(t,e,n){t.component=e,t.context=n}function Jo(t){let e;cs(t)&&(e=Vi(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);const n=t.def,i=t.nodes;for(let s=0;s<n.nodes.length;s++){const o=n.nodes[s];let r;switch(Zi.setCurrentNode(t,s),201347067&o.flags){case 1:const n=Is(t,e,o);let a=void 0;if(33554432&o.flags){const e=ys(o.element.componentView);a=Zi.createComponentView(t,o,e,n)}Ps(t,a,o,n),r={renderElement:n,componentView:a,viewContainer:null,template:o.element.template?Js(t,o):void 0},16777216&o.flags&&(r.viewContainer=Ks(t,o,r));break;case 2:r=Zo(t,e,o);break;case 512:case 1024:case 2048:case 256:(r=i[s])||4096&o.flags||(r={instance:wo(t,o)});break;case 16:r={instance:xo(t,o)};break;case 16384:(r=i[s])||(r={instance:Eo(t,o)}),32768&o.flags&&Xo(Vi(t,o.parent.nodeIndex).componentView,r.instance,r.instance);break;case 32:case 64:case 128:r={value:void 0};break;case 67108864:case 134217728:r=new Dn;break;case 8:Bo(t,e,o),r=void 0}i[s]=r}lr(t,ar.CreateViewNodes),dr(t,201326592,268435456,0)}function tr(t){ir(t),Zi.updateDirectives(t,1),hr(t,ar.CheckNoChanges),Zi.updateRenderer(t,1),lr(t,ar.CheckNoChanges),t.state&=-97}function er(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ni(t,0,256),ir(t),Zi.updateDirectives(t,0),hr(t,ar.CheckAndUpdate),dr(t,67108864,536870912,0);let e=Ni(t,256,512);Mo(t,2097152|(e?1048576:0)),Zi.updateRenderer(t,0),lr(t,ar.CheckAndUpdate),dr(t,134217728,536870912,0),Mo(t,8388608|((e=Ni(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Ni(t,768,1024)}function nr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){switch(201347067&e.flags){case 1:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;let p=!1;return d>0&&Ds(t,e,0,n)&&(p=!0),d>1&&Ds(t,e,1,i)&&(p=!0),d>2&&Ds(t,e,2,s)&&(p=!0),d>3&&Ds(t,e,3,o)&&(p=!0),d>4&&Ds(t,e,4,r)&&(p=!0),d>5&&Ds(t,e,5,a)&&(p=!0),d>6&&Ds(t,e,6,l)&&(p=!0),d>7&&Ds(t,e,7,h)&&(p=!0),d>8&&Ds(t,e,8,u)&&(p=!0),d>9&&Ds(t,e,9,c)&&(p=!0),p}(t,e,n,i,s,o,r,a,l,h,u,c);case 2:return function(t,e,n,i,s,o,r,a,l,h,u,c){let d=!1;const p=e.bindings,m=p.length;if(m>0&&ns(t,e,0,n)&&(d=!0),m>1&&ns(t,e,1,i)&&(d=!0),m>2&&ns(t,e,2,s)&&(d=!0),m>3&&ns(t,e,3,o)&&(d=!0),m>4&&ns(t,e,4,r)&&(d=!0),m>5&&ns(t,e,5,a)&&(d=!0),m>6&&ns(t,e,6,l)&&(d=!0),m>7&&ns(t,e,7,h)&&(d=!0),m>8&&ns(t,e,8,u)&&(d=!0),m>9&&ns(t,e,9,c)&&(d=!0),d){let d=e.text.prefix;m>0&&(d+=Uo(n,p[0])),m>1&&(d+=Uo(i,p[1])),m>2&&(d+=Uo(s,p[2])),m>3&&(d+=Uo(o,p[3])),m>4&&(d+=Uo(r,p[4])),m>5&&(d+=Uo(a,p[5])),m>6&&(d+=Uo(l,p[6])),m>7&&(d+=Uo(h,p[7])),m>8&&(d+=Uo(u,p[8])),m>9&&(d+=Uo(c,p[9]));const f=zi(t,e.nodeIndex).renderText;t.renderer.setValue(f,d)}return d}(t,e,n,i,s,o,r,a,l,h,u,c);case 16384:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=Bi(t,e.nodeIndex),p=d.instance;let m=!1,f=void 0;const _=e.bindings.length;return _>0&&es(t,e,0,n)&&(m=!0,f=Po(t,d,e,0,n,f)),_>1&&es(t,e,1,i)&&(m=!0,f=Po(t,d,e,1,i,f)),_>2&&es(t,e,2,s)&&(m=!0,f=Po(t,d,e,2,s,f)),_>3&&es(t,e,3,o)&&(m=!0,f=Po(t,d,e,3,o,f)),_>4&&es(t,e,4,r)&&(m=!0,f=Po(t,d,e,4,r,f)),_>5&&es(t,e,5,a)&&(m=!0,f=Po(t,d,e,5,a,f)),_>6&&es(t,e,6,l)&&(m=!0,f=Po(t,d,e,6,l,f)),_>7&&es(t,e,7,h)&&(m=!0,f=Po(t,d,e,7,h,f)),_>8&&es(t,e,8,u)&&(m=!0,f=Po(t,d,e,8,u,f)),_>9&&es(t,e,9,c)&&(m=!0,f=Po(t,d,e,9,c,f)),f&&p.ngOnChanges(f),65536&e.flags&&Fi(t,256,e.nodeIndex)&&p.ngOnInit(),262144&e.flags&&p.ngDoCheck(),m}(t,e,n,i,s,o,r,a,l,h,u,c);case 32:case 64:case 128:return function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings;let p=!1;const m=d.length;if(m>0&&ns(t,e,0,n)&&(p=!0),m>1&&ns(t,e,1,i)&&(p=!0),m>2&&ns(t,e,2,s)&&(p=!0),m>3&&ns(t,e,3,o)&&(p=!0),m>4&&ns(t,e,4,r)&&(p=!0),m>5&&ns(t,e,5,a)&&(p=!0),m>6&&ns(t,e,6,l)&&(p=!0),m>7&&ns(t,e,7,h)&&(p=!0),m>8&&ns(t,e,8,u)&&(p=!0),m>9&&ns(t,e,9,c)&&(p=!0),p){const p=ji(t,e.nodeIndex);let f;switch(201347067&e.flags){case 32:f=new Array(d.length),m>0&&(f[0]=n),m>1&&(f[1]=i),m>2&&(f[2]=s),m>3&&(f[3]=o),m>4&&(f[4]=r),m>5&&(f[5]=a),m>6&&(f[6]=l),m>7&&(f[7]=h),m>8&&(f[8]=u),m>9&&(f[9]=c);break;case 64:f={},m>0&&(f[d[0].name]=n),m>1&&(f[d[1].name]=i),m>2&&(f[d[2].name]=s),m>3&&(f[d[3].name]=o),m>4&&(f[d[4].name]=r),m>5&&(f[d[5].name]=a),m>6&&(f[d[6].name]=l),m>7&&(f[d[7].name]=h),m>8&&(f[d[8].name]=u),m>9&&(f[d[9].name]=c);break;case 128:const t=n;switch(m){case 1:f=t.transform(n);break;case 2:f=t.transform(i);break;case 3:f=t.transform(i,s);break;case 4:f=t.transform(i,s,o);break;case 5:f=t.transform(i,s,o,r);break;case 6:f=t.transform(i,s,o,r,a);break;case 7:f=t.transform(i,s,o,r,a,l);break;case 8:f=t.transform(i,s,o,r,a,l,h);break;case 9:f=t.transform(i,s,o,r,a,l,h,u);break;case 10:f=t.transform(i,s,o,r,a,l,h,u,c)}}p.value=f}return p}(t,e,n,i,s,o,r,a,l,h,u,c);default:throw"unreachable"}}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){let i=!1;for(let s=0;s<n.length;s++)Ds(t,e,s,n[s])&&(i=!0);return i}(t,e,n);case 2:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){let s="";for(let t=0;t<n.length;t++)s+=Uo(n[t],i[t]);s=e.text.prefix+s;const o=zi(t,e.nodeIndex).renderText;t.renderer.setValue(o,s)}return s}(t,e,n);case 16384:return function(t,e,n){const i=Bi(t,e.nodeIndex),s=i.instance;let o=!1,r=void 0;for(let a=0;a<n.length;a++)es(t,e,a,n[a])&&(o=!0,r=Po(t,i,e,a,n[a],r));return r&&s.ngOnChanges(r),65536&e.flags&&Fi(t,256,e.nodeIndex)&&s.ngOnInit(),262144&e.flags&&s.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){const i=e.bindings;let s=!1;for(let o=0;o<n.length;o++)ns(t,e,o,n[o])&&(s=!0);if(s){const s=ji(t,e.nodeIndex);let o;switch(201347067&e.flags){case 32:o=n;break;case 64:o={};for(let e=0;e<n.length;e++)o[i[e].name]=n[e];break;case 128:const t=n[0],s=n.slice(1);o=t.transform(...s)}s.value=o}return s}(t,e,n);default:throw"unreachable"}}(t,e,i)}function ir(t){const e=t.def;if(4&e.nodeFlags)for(let n=0;n<e.nodes.length;n++){const i=e.nodes[n];if(4&i.flags){const e=Vi(t,n).template._projectedViews;if(e)for(let n=0;n<e.length;n++){const i=e[n];i.state|=32,os(i,t)}}else 0==(4&i.childFlags)&&(n+=i.childCount)}}function sr(t,e,n,i,s,o,r,a,l,h,u,c,d){return 0===n?function(t,e,n,i,s,o,r,a,l,h,u,c){const d=e.bindings.length;d>0&&is(t,e,0,n),d>1&&is(t,e,1,i),d>2&&is(t,e,2,s),d>3&&is(t,e,3,o),d>4&&is(t,e,4,r),d>5&&is(t,e,5,a),d>6&&is(t,e,6,l),d>7&&is(t,e,7,h),d>8&&is(t,e,8,u),d>9&&is(t,e,9,c)}(t,e,i,s,o,r,a,l,h,u,c,d):function(t,e,n){for(let i=0;i<n.length;i++)is(t,e,i,n[i])}(t,e,i),!1}function or(t,e){if(Hi(t,e.nodeIndex).dirty)throw Ui(Zi.createDebugContext(t,e.nodeIndex),`Query ${e.query.id} not dirty`,`Query ${e.query.id} dirty`,0!=(1&t.state))}function rr(t){if(!(128&t.state)){if(hr(t,ar.Destroy),lr(t,ar.Destroy),Mo(t,131072),t.disposables)for(let e=0;e<t.disposables.length;e++)t.disposables[e]();!function(t){if(!(16&t.state))return;const e=as(t);if(e){const n=e.template._projectedViews;n&&(Us(n,n.indexOf(t)),Zi.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){const e=t.def.nodes.length;for(let n=0;n<e;n++){const e=t.def.nodes[n];1&e.flags?t.renderer.destroyNode(Vi(t,n).renderElement):2&e.flags?t.renderer.destroyNode(zi(t,n).renderText):(67108864&e.flags||134217728&e.flags)&&Hi(t,n).destroy()}}(t),cs(t)&&t.renderer.destroy(),t.state|=128}}const ar=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function lr(t,e){const n=t.def;if(33554432&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];33554432&s.flags?ur(Vi(t,i).componentView,e):0==(33554432&s.childFlags)&&(i+=s.childCount)}}function hr(t,e){const n=t.def;if(16777216&n.nodeFlags)for(let i=0;i<n.nodes.length;i++){const s=n.nodes[i];if(16777216&s.flags){const n=Vi(t,i).viewContainer._embeddedViews;for(let t=0;t<n.length;t++)ur(n[t],e)}else 0==(16777216&s.childFlags)&&(i+=s.childCount)}}function ur(t,e){const n=t.state;switch(e){case ar.CheckNoChanges:0==(128&n)&&(12==(12&n)?tr(t):64&n&&cr(t,ar.CheckNoChangesProjectedViews));break;case ar.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?tr(t):64&n&&cr(t,e));break;case ar.CheckAndUpdate:0==(128&n)&&(12==(12&n)?er(t):64&n&&cr(t,ar.CheckAndUpdateProjectedViews));break;case ar.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?er(t):64&n&&cr(t,e));break;case ar.Destroy:rr(t);break;case ar.CreateViewNodes:Jo(t)}}function cr(t,e){hr(t,e),lr(t,e)}function dr(t,e,n,i){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;const s=t.def.nodes.length;for(let o=0;o<s;o++){const s=t.def.nodes[o];if(s.flags&e&&s.flags&n)switch(Zi.setCurrentNode(t,s.nodeIndex),i){case 0:No(t,s);break;case 1:or(t,s)}s.childFlags&e&&s.childFlags&n||(o+=s.childCount)}}let pr=!1;function mr(t,e,n,i,s,o){return Ko(_r(t,s,s.injector.get(Tn),e,n),i,o)}function fr(t,e,n,i,s,o){const r=s.injector.get(Tn),a=_r(t,s,new Qr(r),e,n),l=kr(i);return Kr(Dr.create,Ko,null,[a,l,o])}function _r(t,e,n,i,s){const o=e.injector.get(Ri),r=e.injector.get(he);return{ngModule:e,injector:t,projectableNodes:i,selectorOrNode:s,sanitizer:o,rendererFactory:n,renderer:n.createRenderer(null,null),errorHandler:r}}function gr(t,e,n,i){const s=kr(n);return Kr(Dr.create,Wo,null,[t,e,s,i])}function yr(t,e,n,i){return n=xr.get(e.element.componentProvider.provider.token)||kr(n),Kr(Dr.create,Yo,null,[t,e,n,i])}function vr(t,e,n,i){return ro(t,e,n,function(t){const{hasOverrides:e,hasDeprecatedOverrides:n}=function(t){let e=!1,n=!1;return 0===br.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(t=>{const i=br.get(t.token);3840&t.flags&&i&&(e=!0,n=n||i.deprecatedBehavior)}),t.modules.forEach(t=>{wr.forEach((i,s)=>{s.ngInjectableDef.providedIn===t&&(e=!0,n=n||i.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t);return e?(function(t){for(let e=0;e<t.providers.length;e++){const i=t.providers[e];n&&(i.flags|=4096);const s=br.get(i.token);s&&(i.flags=-3841&i.flags|s.flags,i.deps=fs(s.deps),i.value=s.value)}if(wr.size>0){let e=new Set(t.modules);wr.forEach((i,s)=>{if(e.has(s.ngInjectableDef.providedIn)){let e={token:s,flags:i.flags|(n?4096:0),deps:fs(i.deps),value:i.value,index:t.providers.length};t.providers.push(e),t.providersByKey[Ki(s)]=e}})}}(t=t.factory(()=>qi)),t):t}(i))}const br=new Map,wr=new Map,xr=new Map;function Er(t){br.set(t.token,t),"function"==typeof t.token&&t.token.ngInjectableDef&&"function"==typeof t.token.ngInjectableDef.providedIn&&wr.set(t.token,t)}function Cr(t,e){const n=ys(ys(e.viewDefFactory).nodes[0].element.componentView);xr.set(t,n)}function Lr(){br.clear(),wr.clear(),xr.clear()}function kr(t){if(0===br.size)return t;const e=function(t){const e=[];let n=null;for(let i=0;i<t.nodes.length;i++){const s=t.nodes[i];1&s.flags&&(n=s),n&&3840&s.flags&&br.has(s.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(()=>qi);for(let i=0;i<e.length;i++)n(t,e[i]);return t;function n(t,e){for(let n=e+1;n<t.nodes.length;n++){const e=t.nodes[n];if(1&e.flags)return;if(3840&e.flags){const t=e.provider,n=br.get(t.token);n&&(e.flags=-3841&e.flags|n.flags,t.deps=fs(n.deps),t.value=n.value)}}}}function Sr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return nr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Tr(t,e,n,i,s,o,r,a,l,h,u,c,d){const p=t.def.nodes[e];return sr(t,p,n,i,s,o,r,a,l,h,u,c,d),224&p.flags?ji(t,e).value:void 0}function Ir(t){return Kr(Dr.detectChanges,er,null,[t])}function Pr(t){return Kr(Dr.checkNoChanges,tr,null,[t])}function Mr(t){return Kr(Dr.destroy,rr,null,[t])}const Dr=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();let Ar,Or,Rr;function Nr(t,e){Or=t,Rr=e}function Fr(t,e,n,i){return Nr(t,e),Kr(Dr.handleEvent,t.def.handleEvent,null,[t,e,n,i])}function zr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,Gr(t,0)),t.def.updateDirectives(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),16384&o.flags&&Nr(t,Gr(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Vr(t,e){if(128&t.state)throw $i(Dr[Ar]);return Nr(t,$r(t,0)),t.def.updateRenderer(function(t,n,i,...s){const o=t.def.nodes[n];return 0===e?Br(t,o,i,s):jr(t,o,i,s),3&o.flags&&Nr(t,$r(t,n)),224&o.flags?ji(t,o.nodeIndex).value:void 0},t)}function Br(t,e,n,i){if(nr(t,e,n,...i)){const s=1===n?i[0]:i;if(16384&e.flags){const n={};for(let t=0;t<e.bindings.length;t++){const i=e.bindings[t],o=s[t];8&i.flags&&(n[Hr(i.nonMinifiedName)]=Ur(o))}const i=e.parent,o=Vi(t,i.nodeIndex).renderElement;if(i.element.name)for(let e in n){const i=n[e];null!=i?t.renderer.setAttribute(o,e,i):t.renderer.removeAttribute(o,e)}else t.renderer.setValue(o,`bindings=${JSON.stringify(n,null,2)}`)}}}function jr(t,e,n,i){sr(t,e,n,...i)}function Hr(t){return`ng-reflect-${t=t.replace(/[$@]/g,"_").replace(Zr,(...t)=>"-"+t[1].toLowerCase())}`}const Zr=/([A-Z])/g;function Ur(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){return"[ERROR] Exception while trying to serialize the value"}}function Gr(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(16384&e.flags&&e.bindings&&e.bindings.length)return n}return null}function $r(t,e){for(let n=e;n<t.def.nodes.length;n++){const e=t.def.nodes[n];if(3&e.flags&&e.bindings&&e.bindings.length)return n}return null}class qr{constructor(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];let n=this.nodeDef,i=t;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&i;)n=ls(i),i=i.parent;this.elDef=n,this.elView=i}get elOrCompView(){return Vi(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return eo(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const t=[];if(this.elDef)for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&t.push(n.provider.token),e+=n.childCount}return t}get references(){const t={};if(this.elDef){Wr(this.elView,this.elDef,t);for(let e=this.elDef.nodeIndex+1;e<=this.elDef.nodeIndex+this.elDef.childCount;e++){const n=this.elView.def.nodes[e];20224&n.flags&&Wr(this.elView,n,t),e+=n.childCount}}return t}get componentRenderElement(){const t=function(t){for(;t&&!cs(t);)t=t.parent;return t.parent?Vi(t.parent,ls(t).nodeIndex):null}(this.elOrCompView);return t?t.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?hs(this.view,this.nodeDef):hs(this.elView,this.elDef)}logError(t,...e){let n,i;2&this.nodeDef.flags?(n=this.view.def,i=this.nodeDef.nodeIndex):(n=this.elView.def,i=this.elDef.nodeIndex);const s=function(t,e){let n=-1;for(let i=0;i<=e;i++)3&t.nodes[i].flags&&n++;return n}(n,i);let o=-1;n.factory(()=>++o===s?t.error.bind(t,...e):qi),o<s&&(t.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),t.error(...e))}}function Wr(t,e,n){for(let i in e.references)n[i]=zo(t,e,e.references[i])}function Kr(t,e,n,i){const s=Ar,o=Or,r=Rr;try{Ar=t;const a=e.apply(n,i);return Or=o,Rr=r,Ar=s,a}catch(t){if(re(t)||!Or)throw t;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),Gi(t,e),t}(t,Yr())}}function Yr(){return Or?new qr(Or,Rr):null}class Qr{constructor(t){this.delegate=t}createRenderer(t,e){return new Xr(this.delegate.createRenderer(t,e))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class Xr{constructor(t){this.delegate=t,this.data=this.delegate.data}destroyNode(t){!function(t){Vn.delete(t.nativeNode)}(Bn(t)),this.delegate.destroyNode&&this.delegate.destroyNode(t)}destroy(){this.delegate.destroy()}createElement(t,e){const n=this.delegate.createElement(t,e),i=Yr();if(i){const e=new zn(n,null,i);e.name=t,jn(e)}return n}createComment(t){const e=this.delegate.createComment(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}createText(t){const e=this.delegate.createText(t),n=Yr();return n&&jn(new Fn(e,null,n)),e}appendChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.addChild(i),this.delegate.appendChild(t,e)}insertBefore(t,e,n){const i=Bn(t),s=Bn(e),o=Bn(n);i&&s&&i instanceof zn&&i.insertBefore(o,s),this.delegate.insertBefore(t,e,n)}removeChild(t,e){const n=Bn(t),i=Bn(e);n&&i&&n instanceof zn&&n.removeChild(i),this.delegate.removeChild(t,e)}selectRootElement(t){const e=this.delegate.selectRootElement(t),n=Yr();return n&&jn(new zn(e,null,n)),e}setAttribute(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.attributes[i?i+":"+e:e]=n),this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.attributes[n?n+":"+e:e]=null),this.delegate.removeAttribute(t,e,n)}addClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!0),this.delegate.addClass(t,e)}removeClass(t,e){const n=Bn(t);n&&n instanceof zn&&(n.classes[e]=!1),this.delegate.removeClass(t,e)}setStyle(t,e,n,i){const s=Bn(t);s&&s instanceof zn&&(s.styles[e]=n),this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.styles[e]=null),this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){const i=Bn(t);i&&i instanceof zn&&(i.properties[e]=n),this.delegate.setProperty(t,e,n)}listen(t,e,n){if("string"!=typeof t){const i=Bn(t);i&&i.listeners.push(new Nn(e,n))}return this.delegate.listen(t,e,n)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setValue(t,e){return this.delegate.setValue(t,e)}}"undefined"==typeof ngDevMode&&("undefined"!=typeof window&&(window.ngDevMode=!0),"undefined"!=typeof self&&(self.ngDevMode=!0),"undefined"!=typeof global&&(global.ngDevMode=!0));const Jr=Element.prototype,ta=Jr.matches||Jr.matchesSelector||Jr.mozMatchesSelector||Jr.msMatchesSelector||Jr.oMatchesSelector||Jr.webkitMatchesSelector,ea={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return ea.schedule(t,0);if(void 0===window.requestAnimationFrame)return ea.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};function na(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(e,n){return ta.call(t,n)}(0,e)||(i=n,0))),i}const ia=10;class sa{constructor(t,e){this.component=t,this.injector=e,this.componentFactory=e.get(We).resolveComponentFactory(t)}create(t){return new oa(this.componentFactory,t)}}class oa{constructor(t,e){this.componentFactory=t,this.injector=e,this.inputChanges=null,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.uninitializedInputs=new Set}connect(t){if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);this.componentRef||this.initializeComponent(t)}disconnect(){this.componentRef&&null===this.scheduledDestroyFn&&(this.scheduledDestroyFn=ea.schedule(()=>{this.componentRef&&(this.componentRef.destroy(),this.componentRef=null)},ia))}getInputValue(t){return this.componentRef?this.componentRef.instance[t]:this.initialInputValues.get(t)}setInputValue(t,e){(function(t,e){return t===e||t!=t&&e!=e})(e,this.getInputValue(t))||(this.componentRef?(this.recordInputChange(t,e),this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e))}initializeComponent(t){const e=Nt.create({providers:[],parent:this.injector}),n=function(e,n){const i=t.childNodes,s=n.map(()=>[]);let o=-1;n.some((t,e)=>"*"===t&&(o=e,!0));for(let t=0,r=i.length;t<r;++t){const e=i[t],r=na(e,n,o);-1!==r&&s[r].push(e)}return s}(0,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,n,t),this.implementsOnChanges=function(t){return"function"==typeof t}(this.componentRef.instance.ngOnChanges),this.initializeInputs(),this.initializeOutputs(),this.detectChanges(),this.injector.get(kn).attachView(this.componentRef.hostView)}initializeInputs(){this.componentFactory.inputs.forEach(({propName:t})=>{const e=this.initialInputValues.get(t);e?this.setInputValue(t,e):this.uninitializedInputs.add(t)}),this.initialInputValues.clear()}initializeOutputs(){const t=this.componentFactory.outputs.map(({propName:t,templateName:e})=>this.componentRef.instance[t].pipe(j(t=>({name:e,value:t}))));this.events=Q(...t)}callNgOnChanges(){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,this.componentRef.instance.ngOnChanges(t)}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ea.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(this.componentRef&&!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.uninitializedInputs.has(t);this.uninitializedInputs.delete(t);const s=i?void 0:this.getInputValue(t);this.inputChanges[t]=new Un(s,e,i)}detectChanges(){this.componentRef&&(this.callNgOnChanges(),this.componentRef.changeDetectorRef.detectChanges())}}class ra extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class aa{constructor(){this.layers_to_add=["osm"],this.allow_edit_drawn_items=!0,this.zoom_init=4,this.lat_lng_init=[46.5,2.9],this.elevation_provider="openelevation",this.geolocation_provider="osm",this.location=new on,this._osm_class_filters=[]}set layer(t){this.layers_to_add=[t]}set osm_class_filter(t){this._osm_class_filters=[t]}set marker(t){"true"===t&&(this._marker=!0)}set polyline(t){"true"===t&&(this._polyline=!0)}set polygon(t){"true"===t&&(this._polygon=!0)}set lat_init(t){this.lat_lng_init[0]=t}set lng_init(t){this.lat_lng_init[1]=t}set get_osm_simple_line(t){"true"===t&&(this._get_osm_simple_line=!0)}set show_lat_lng_elevation_inputs(t){"true"===t&&(this._show_lat_lng_elevation_inputs=!0)}newLocation(t){this.location.emit(t)}}class la{constructor(t){this.injector=t;const e=function(t,e){const n=function(t,n){return e.injector.get(We).resolveComponentFactory(t).inputs}(t),i=e.strategyFactory||new sa(t,e.injector),s=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)]=t}),e}(n);class o extends ra{constructor(t){super(),this.ngElementStrategy=i.create(t||e.injector)}attributeChangedCallback(t,n,o,r){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.setInputValue(s[t],o)}connectedCallback(){this.ngElementStrategy||(this.ngElementStrategy=i.create(e.injector)),this.ngElementStrategy.connect(this),this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}disconnectedCallback(){this.ngElementStrategy&&this.ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}}return o.observedAttributes=Object.keys(s),n.map(({propName:t})=>t).forEach(t=>{Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(aa,{injector:this.injector});customElements.define("tb-geolocation-element",e)}ngDoBootstrap(){}}class ha{}class ua{}const ca="*";function da(t,e=null){return{type:2,steps:t,options:e}}function pa(t){return{type:6,styles:t,offset:null}}function ma(t){Promise.resolve(null).then(t)}class fa{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ma(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){}setPosition(t){}getPosition(){return 0}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class _a{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const s=this.players.length;0==s?ma(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==s&&this._onFinish()}),t.onDestroy(()=>{++n==s&&this._onDestroy()}),t.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){let t=0;return this.players.forEach(e=>{const n=e.getPosition();t=Math.min(n,t)}),t}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const ga="!";function ya(t){return null!=t&&"false"!==`${t}`}function va(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function ba(t){return Array.isArray(t)?t:[t]}function wa(t){return null==t?"":"string"==typeof t?t:`${t}px`}const xa=9,Ea=13,Ca=27,La=32,ka=37,Sa=38,Ta=39,Ia=40,Pa=48,Ma=57,Da=65,Aa=90;class Oa{}const Ra=void 0;var Na=["en",[["a","p"],["AM","PM"],Ra],[["AM","PM"],Ra,Ra],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ra,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ra,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ra,"{1} 'at' {0}",Ra],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){let e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];const Fa={},za=function(){var t={Decimal:0,Percent:1,Currency:2,Scientific:3};return t[t.Decimal]="Decimal",t[t.Percent]="Percent",t[t.Currency]="Currency",t[t.Scientific]="Scientific",t}(),Va=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),Ba=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function ja(t,e){const n=Ha(t),i=n[13][e];if(void 0===i){if(e===Ba.CurrencyDecimal)return n[13][Ba.Decimal];if(e===Ba.CurrencyGroup)return n[13][Ba.Group]}return i}function Ha(t){const e=t.toLowerCase().replace(/_/g,"-");let n=Fa[e];if(n)return n;const i=e.split("-")[0];if(n=Fa[i])return n;if("en"===i)return Na;throw new Error(`Missing locale data for the locale "${t}".`)}const Za=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ua=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ga=22,$a=".",qa="0",Wa=";",Ka=",",Ya="#";function Qa(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}const Xa=new rt("UseV4Plurals");class Ja{}class tl extends Ja{constructor(t,e){super(),this.locale=t,this.deprecatedPluralFn=e}getPluralCategory(t,e){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(e||this.locale,t):function(t){return Ha(t)[18]}(e||this.locale)(t)){case Va.Zero:return"zero";case Va.One:return"one";case Va.Two:return"two";case Va.Few:return"few";case Va.Many:return"many";default:return"other"}}}function el(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,s]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class nl{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._initialClasses=[]}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Gn(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${bt(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}class il{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class sl{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._differ=null}set ngForTrackBy(t){bn()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(t)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngOnChanges(t){if("ngForOf"in t){const e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}}ngDoCheck(){if(this._differ){const t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new il(null,this.ngForOf,-1,-1),i),s=new ol(t,n);e.push(s)}else if(null==i)this._viewContainer.remove(n);else{const s=this._viewContainer.get(n);this._viewContainer.move(s,i);const o=new ol(t,s);e.push(o)}});for(let n=0;n<e.length;n++)this._perViewChange(e[n].view,e[n].record);for(let n=0,i=this._viewContainer.length;n<i;n++){const t=this._viewContainer.get(n);t.context.index=n,t.context.count=i}t.forEachIdentityChange(t=>{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}}class ol{constructor(t,e){this.record=t,this.view=e}}class rl{constructor(t,e){this._viewContainer=t,this._context=new al,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){ll("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){ll("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class al{constructor(){this.$implicit=null,this.ngIf=null}}function ll(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${bt(e)}'.`)}class hl{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}class ul{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e<this._defaultViews.length;e++)this._defaultViews[e].enforceState(t)}}}class cl{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new hl(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}function dl(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${bt(t)}'`)}const pl=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,ml={yMMMdjms:Cl(El([wl("year",1),xl("month",3),wl("day",1),wl("hour",1),wl("minute",1),wl("second",1)])),yMdjm:Cl(El([wl("year",1),wl("month",1),wl("day",1),wl("hour",1),wl("minute",1)])),yMMMMEEEEd:Cl(El([wl("year",1),xl("month",4),xl("weekday",4),wl("day",1)])),yMMMMd:Cl(El([wl("year",1),xl("month",4),wl("day",1)])),yMMMd:Cl(El([wl("year",1),xl("month",3),wl("day",1)])),yMd:Cl(El([wl("year",1),wl("month",1),wl("day",1)])),jms:Cl(El([wl("hour",1),wl("second",1),wl("minute",1)])),jm:Cl(El([wl("hour",1),wl("minute",1)]))},fl={yyyy:Cl(wl("year",4)),yy:Cl(wl("year",2)),y:Cl(wl("year",1)),MMMM:Cl(xl("month",4)),MMM:Cl(xl("month",3)),MM:Cl(wl("month",2)),M:Cl(wl("month",1)),LLLL:Cl(xl("month",4)),L:Cl(xl("month",1)),dd:Cl(wl("day",2)),d:Cl(wl("day",1)),HH:_l(gl(Cl(bl(wl("hour",2),!1)))),H:gl(Cl(bl(wl("hour",1),!1))),hh:_l(gl(Cl(bl(wl("hour",2),!0)))),h:gl(Cl(bl(wl("hour",1),!0))),jj:Cl(wl("hour",2)),j:Cl(wl("hour",1)),mm:_l(Cl(wl("minute",2))),m:Cl(wl("minute",1)),ss:_l(Cl(wl("second",2))),s:Cl(wl("second",1)),sss:Cl(wl("second",3)),EEEE:Cl(xl("weekday",4)),EEE:Cl(xl("weekday",3)),EE:Cl(xl("weekday",2)),E:Cl(xl("weekday",1)),a:function(t){return function(e,n){return t(e,n).split(" ")[1]}}(Cl(bl(wl("hour",1),!0))),Z:vl("short"),z:vl("long"),ww:Cl({}),w:Cl({}),G:Cl(xl("era",1)),GG:Cl(xl("era",2)),GGG:Cl(xl("era",3)),GGGG:Cl(xl("era",4))};function _l(t){return function(e,n){const i=t(e,n);return 1==i.length?"0"+i:i}}function gl(t){return function(e,n){return t(e,n).split(" ")[0]}}function yl(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function vl(t){const e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){const i=yl(t,n,e);return i?i.substring(3):""}}function bl(t,e){return t.hour12=e,t}function wl(t,e){const n={};return n[t]=2===e?"2-digit":"numeric",n}function xl(t,e){const n={};return n[t]=e<4?e>1?"short":"narrow":"long",n}function El(t){return t.reduce((t,e)=>Object.assign({},t,e),{})}function Cl(t){return(e,n)=>yl(e,n,t)}const Ll=new Map;class kl{static format(t,e,n){return function(t,e,n){const i=ml[t];if(i)return i(e,n);const s=t;let o=Ll.get(s);if(!o){let e;o=[],pl.exec(t);let n=t;for(;n;)(e=pl.exec(n))?n=(o=o.concat(e.slice(1))).pop():(o.push(n),n=null);Ll.set(s,o)}return o.reduce((t,i)=>{const s=fl[i];return t+(s?s(e,n):function(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(i))},"")}(n,t,e)}}class Sl{constructor(t){this._locale=t}transform(t,e="mediumDate"){if(null==t||""===t||t!=t)return null;let n;if("string"==typeof t&&(t=t.trim()),Tl(t))n=t;else if(isNaN(t-parseFloat(t)))if("string"==typeof t&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){const[e,i,s]=t.split("-").map(t=>parseInt(t,10));n=new Date(e,i-1,s)}else n=new Date(t);else n=new Date(parseFloat(t));if(!Tl(n)){let e;if("string"!=typeof t||!(e=t.match(Za)))throw dl(Sl,t);n=function(t){const e=new Date(0);let n=0,i=0;const s=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),i=Number(t[9]+t[11])),s.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const r=Number(t[4]||0)-n,a=Number(t[5]||0)-i,l=Number(t[6]||0),h=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,r,a,l,h),e}(e)}return kl.format(n,this._locale,Sl._ALIASES[e]||e)}}function Tl(t){return t instanceof Date&&!isNaN(t.valueOf())}Sl._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"};const Il=new class{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}},Pl=new class{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}};class Ml{constructor(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,Zn.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(t){if(Pe(t))return Il;if(Me(t))return Pl;throw dl(Ml,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}class Dl{constructor(t){this._locale=t}transform(t,e,n){if(function(t){return null==t||""===t||t!=t}(t))return null;n=n||this._locale;try{return function(t,e,n){return function(t,e,n,i,s,o,r=!1){let a="",l=!1;if(isFinite(t)){let h=function(e){let n,i,s,o,r,a=Math.abs(t)+"",l=0;for((i=a.indexOf($a))>-1&&(a=a.replace($a,"")),(s=a.search(/e/i))>0?(i<0&&(i=s),i+=+a.slice(s+1),a=a.substring(0,s)):i<0&&(i=a.length),s=0;a.charAt(s)===qa;s++);if(s===(r=a.length))n=[0],i=1;else{for(r--;a.charAt(r)===qa;)r--;for(i-=s,n=[],o=0;s<=r;s++,o++)n[o]=Number(a.charAt(s))}return i>Ga&&(n=n.splice(0,Ga-1),l=i-1,i=1),{digits:n,exponent:l,integerLen:i}}();r&&(h=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(h));let u=e.minInt,c=e.minFrac,d=e.maxFrac;if(o){const t=o.match(Ua);if(null===t)throw new Error(`${o} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=Qa(e)),null!=n&&(c=Qa(n)),null!=i?d=Qa(i):null!=n&&c>d&&(d=c)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,s=i.length-t.integerLen;const o=Math.min(Math.max(e,s),n);let r=o+t.integerLen,a=i[r];if(r>0){i.splice(Math.max(t.integerLen,r));for(let t=r;t<i.length;t++)i[t]=0}else{s=Math.max(0,s),t.integerLen=1,i.length=Math.max(1,r=o+1),i[0]=0;for(let t=1;t<r;t++)i[t]=0}if(a>=5)if(r-1<0){for(let e=0;e>r;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[r-1]++;for(;s<Math.max(0,o);s++)i.push(0);let l=0!==o;const h=e+t.integerLen,u=i.reduceRight(function(t,e,n,i){return i[n]=(e+=t)<10?e:e-10,l&&(0===i[n]&&n>=h?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(h,c,d);let p=h.digits,m=h.integerLen;const f=h.exponent;let _=[];for(l=p.every(t=>!t);m<u;m++)p.unshift(0);for(;m<0;m++)p.unshift(0);m>0?_=p.splice(m,p.length):(_=p,p=[0]);const g=[];for(p.length>=e.lgSize&&g.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)g.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&g.unshift(p.join("")),a=g.join(ja(n,i)),_.length&&(a+=ja(n,s)+_.join("")),f&&(a+=ja(n,Ba.Exponential)+"+"+f)}else a=ja(n,Ba.Infinity);return t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(Wa),s=i[0],o=i[1],r=-1!==s.indexOf($a)?s.split($a):[s.substring(0,s.lastIndexOf(qa)+1),s.substring(s.lastIndexOf(qa)+1)],a=r[0],l=r[1]||"";n.posPre=a.substr(0,a.indexOf(Ya));for(let u=0;u<l.length;u++){const t=l.charAt(u);t===qa?n.minFrac=n.maxFrac=u+1:t===Ya?n.maxFrac=u+1:n.posSuf+=t}const h=a.split(Ka);if(n.gSize=h[1]?h[1].length:0,n.lgSize=h[2]||h[1]?(h[2]||h[1]).length:0,o){const t=s.length-n.posPre.length-n.posSuf.length,e=o.indexOf(Ya);n.negPre=o.substr(0,e).replace(/'/g,""),n.negSuf=o.substr(e+t).replace(/'/g,"")}else n.negPre=e+n.posPre,n.negSuf=n.posSuf;return n}(function(t,e){return Ha(t)[14][e]}(e,za.Decimal),ja(e,Ba.MinusSign)),e,Ba.Group,Ba.Decimal,n)}(function(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error(`${t} is not a number`);return t}(t),n,e)}catch(t){throw dl(Dl,t.message)}}}class Al{}const Ol=new rt("DocumentToken"),Rl="browser",Nl="undefined"!=typeof Intl&&Intl.v8BreakIterator;class Fl{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function(t){return t===Rl}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Nl)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}let zl,Vl;function Bl(){if(null==zl&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>zl=!0}))}finally{zl=zl||!1}return zl}Fl.ngInjectableDef=ot({factory:function(){return new Fl(te(ze,8))},token:Fl,providedIn:"root"});const jl=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Hl(){if(Vl)return Vl;if("object"!=typeof document||!document)return Vl=new Set(jl);let t=document.createElement("input");return Vl=new Set(jl.filter(e=>(t.setAttribute("type",e),t.type===e)))}class Zl{}const Ul={};class Gl{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new $l(t,this.resultSelector))}}class $l extends B{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(Ul),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n<e;n++){const e=t[n];this.add(V(this,e,e,n))}}}notifyComplete(t){0==(this.active-=1)&&this.destination.complete()}notifyNext(t,e,n,i,s){const o=this.values,r=this.toRespond?o[n]===Ul?--this.toRespond:this.toRespond:0;o[n]=e,0===r&&(this.resultSelector?this._tryResultSelector(o):this.destination.next(o.slice()))}_tryResultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}function ql(t){return e=>e.lift(new Wl(t))}class Wl{constructor(t){this.notifier=t}call(t,e){const n=new Kl(t),i=V(n,this.notifier);return i&&!i.closed?(n.add(i),e.subscribe(n)):n}}class Kl extends B{constructor(t){super(t)}notifyNext(t,e,n,i,s){this.complete()}notifyComplete(){}}function Yl(t){const e=new x(e=>{e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}const Ql=new x(t=>t.complete());function Xl(t){return t?function(t){return new x(e=>t.schedule(()=>e.complete()))}(t):Ql}function Jl(...t){let e=t[t.length-1];switch(I(e)?t.pop():e=void 0,t.length){case 0:return Xl(e);case 1:return e?U(t,e):Yl(t[0]);default:return U(t,e)}}function th(...t){return e=>{let n=t[t.length-1];I(n)?t.pop():n=null;const i=t.length;return function(...t){return 1===t.length||2===t.length&&I(t[1])?G(t[0]):Y(1)(Jl(...t))}(1!==i||n?i>0?U(t,n):Xl(n):Yl(t[0]),e)}}const eh=new Set;let nh;class ih{constructor(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):sh}matchMedia(t){return this.platform.WEBKIT&&function(t){if(!eh.has(t))try{nh||((nh=document.createElement("style")).setAttribute("type","text/css"),document.head.appendChild(nh)),nh.sheet&&(nh.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),eh.add(t))}catch(t){console.error(t)}}(t),this._matchMedia(t)}}function sh(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}ih.ngInjectableDef=ot({factory:function(){return new ih(te(Fl))},token:ih,providedIn:"root"});class oh{constructor(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new S}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return rh(ba(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){return function(...t){let e=null,n=null;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),U(t,n).lift(new Gl(e))}(rh(ba(t)).map(t=>this._registerQuery(t).observable)).pipe(j(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(t=>{e.matches=e.matches||t.matches,e.breakpoints[t.query]=t.matches}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this.mediaMatcher.matchMedia(t),n={observable:function t(e,n,s){return s?t(e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(t=>{const s=(...e)=>t.next(1===e.length?e[0]:e);let o;try{o=e(s)}catch(e){return void t.error(e)}if(i(n))return()=>n(s,o)})}(t=>{e.addListener(e=>this.zone.run(()=>t(e)))},t=>{e.removeListener(e=>this.zone.run(()=>t(e)))}).pipe(ql(this._destroySubject),th(e),j(e=>({query:t,matches:e.matches}))),mql:e};return this._queries.set(t,n),n}}function rh(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}oh.ngInjectableDef=ot({factory:function(){return new oh(te(ih),te(rn))},token:oh,providedIn:"root"});const ah={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 1919px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"};function lh(t,e,n,s){return i(n)&&(s=n,n=void 0),s?lh(t,e,n).pipe(j(t=>l(t)?s(...t):s(t))):new x(i=>{!function t(e,n,i,s,o){let r;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){const t=e;e.addEventListener(n,i,o),r=(()=>t.removeEventListener(n,i,o))}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){const t=e;e.on(n,i),r=(()=>t.off(n,i))}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){const t=e;e.addListener(n,i),r=(()=>t.removeListener(n,i))}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(let r=0,a=e.length;r<a;r++)t(e[r],n,i,s,o)}s.add(r)}(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}Object;class hh extends f{constructor(t,e){super()}schedule(t,e=0){return this}}class uh extends hh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(i,this.id,e),this}requestAsyncId(t,e,n=0){return setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,e,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let n=!1,i=void 0;try{this.work(t)}catch(t){n=!0,i=!!t&&t||new Error(t)}if(n)return this.unsubscribe(),i}_unsubscribe(){const t=this.id,e=this.scheduler,n=e.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}class ch{constructor(t,e=ch.now){this.SchedulerAction=t,this.now=e}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}ch.now=Date.now?Date.now:()=>+new Date;class dh extends ch{constructor(t,e=ch.now){super(t,()=>dh.delegate&&dh.delegate!==this?dh.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return dh.delegate&&dh.delegate!==this?dh.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}const ph=new dh(uh);class mh{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new fh(t,this.durationSelector))}}class fh extends B{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){const e=p(this.durationSelector)(t);if(e===u)this.destination.error(u.e);else{const t=V(this,e);t.closed?this.clearThrottle():this.add(this.throttled=t)}}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=null,n.unsubscribe()),e&&(this.value=null,this.hasValue=!1,this.destination.next(t))}notifyNext(t,e,n,i){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function _h(t){return!l(t)&&t-parseFloat(t)+1>=0}function gh(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function yh(t,e=ph){return function(t){return function(e){return e.lift(new mh(t))}}(()=>(function(t=0,e,n){let i=-1;return _h(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=ph),new x(e=>{const s=_h(t)?t:+t-n.now();return n.schedule(gh,s,{index:0,period:i,subscriber:e})})})(t,e))}function vh(t,e){return function(n){return n.lift(new bh(t,e))}}class bh{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new wh(t,this.predicate,this.thisArg))}}class wh extends y{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(t){return void this.destination.error(t)}e&&this.destination.next(t)}}const xh=20;class Eh{constructor(t,e){this._ngZone=t,this._platform=e,this._scrolled=new S,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}register(t){const e=t.elementScrolled().subscribe(()=>this._scrolled.next(t));this.scrollContainers.set(t,e)}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=xh){return this._platform.isBrowser?x.create(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(yh(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Jl()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(vh(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_scrollableContainsElement(t,e){let n=e.nativeElement,i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>lh(window.document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}Eh.ngInjectableDef=ot({factory:function(){return new Eh(te(rn),te(Fl))},token:Eh,providedIn:"root"});const Ch=20;class Lh{constructor(t,e){this._platform=t,this._change=t.isBrowser?e.runOutsideAngular(()=>Q(lh(window,"resize"),lh(window,"orientationchange"))):Jl(),this._invalidateCache=this.change().subscribe(()=>this._updateViewportSize())}ngOnDestroy(){this._invalidateCache.unsubscribe()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=document.documentElement.getBoundingClientRect();return{top:-t.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-t.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}}change(t=Ch){return t>0?this._change.pipe(yh(t)):this._change}_updateViewportSize(){this._viewportSize=this._platform.isBrowser?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}}}Lh.ngInjectableDef=ot({factory:function(){return new Lh(te(Fl),te(rn))},token:Lh,providedIn:"root"});class kh{}class Sh extends Error{constructor(){super("argument out of range"),this.name="ArgumentOutOfRangeError",Object.setPrototypeOf(this,Sh.prototype)}}function Th(t){return e=>0===t?Xl():e.lift(new Ih(t))}class Ih{constructor(t){if(this.total=t,this.total<0)throw new Sh}call(t,e){return e.subscribe(new Ph(t,this.total))}}class Ph extends y{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function Mh(){throw Error("Host already has a portal attached")}class Dh{attach(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&Mh(),this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Ah extends Dh{constructor(t,e,n){super(),this.component=t,this.viewContainerRef=e,this.injector=n}}class Oh extends Dh{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Rh{constructor(){this._isDisposed=!1}hasAttached(){return!!this._attachedPortal}attach(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&Mh(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof Ah?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Oh?(this._attachedPortal=t,this.attachTemplatePortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Nh extends Rh{constructor(t,e,n,i){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i}attachComponentPortal(t){let e,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(()=>e.destroy())):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(()=>{this._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class Fh{}class zh{enable(){}disable(){}attach(){}}class Vh{constructor(t){this.scrollStrategy=new zh,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",t&&Object.keys(t).filter(e=>void 0!==t[e]).forEach(e=>this[e]=t[e])}}class Bh{constructor(t,e,n,i){this.offsetX=n,this.offsetY=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class jh{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}function Hh(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "top", "bottom" or "center".')}function Zh(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error(`ConnectedPosition: Invalid ${t} "${e}". `+'Expected "start", "end" or "center".')}class Uh{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=wa(-this._previousScrollPosition.left),t.style.top=wa(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=this._document.body,n=t.style.scrollBehavior||"",i=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=n,e.style.scrollBehavior=i}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}function Gh(){return Error("Scroll strategy has already been attached.")}class $h{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=(()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())})}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}function qh(t,e){return e.some(e=>t.bottom<e.top||t.top>e.bottom||t.right<e.left||t.left>e.right)}function Wh(t,e){return e.some(e=>t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)}class Kh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){if(this._overlayRef)throw Gh();this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();qh(t,[{width:e,height:n,bottom:n,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}}class Yh{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=(()=>new zh),this.close=(t=>new $h(this._scrollDispatcher,this._ngZone,this._viewportRuler,t)),this.block=(()=>new Uh(this._viewportRuler,this._document)),this.reposition=(t=>new Kh(this._scrollDispatcher,this._viewportRuler,this._ngZone,t)),this._document=i}}Yh.ngInjectableDef=ot({factory:function(){return new Yh(te(Eh),te(Lh),te(rn),te(Ol))},token:Yh,providedIn:"root"});class Qh{constructor(t){this._attachedOverlays=[],this._keydownListener=(t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEventSubscriptions>0){e[n]._keydownEvents.next(t);break}}),this._document=t}ngOnDestroy(){this._detach()}add(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener,!0),this._isAttached=!0),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()}_detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener,!0),this._isAttached=!1)}}Qh.ngInjectableDef=ot({factory:function(){return new Qh(te(Ol))},token:Qh,providedIn:"root"});class Xh{constructor(t){this._document=t}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t}}Xh.ngInjectableDef=ot({factory:function(){return new Xh(te(Ol))},token:Xh,providedIn:"root"});class Jh{constructor(t,e,n,i,s,o,r){this._portalOutlet=t,this._host=e,this._pane=n,this._config=i,this._ngZone=s,this._keyboardDispatcher=o,this._document=r,this._backdropElement=null,this._backdropClick=new S,this._attachments=new S,this._detachments=new S,this._keydownEventsObservable=x.create(t=>{const e=this._keydownEvents.subscribe(t);return this._keydownEventSubscriptions++,()=>{e.unsubscribe(),this._keydownEventSubscriptions--}}),this._keydownEvents=new S,this._keydownEventSubscriptions=0,i.scrollStrategy&&i.scrollStrategy.attach(this)}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1);const t=this._portalOutlet.detach();this._detachments.next(),this._keyboardDispatcher.remove(this);const e=this._ngZone.onStable.asObservable().pipe(ql(Q(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())});return t}dispose(){const t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick.asObservable()}attachments(){return this._attachments.asObservable()}detachments(){return this._detachments.asObservable()}keydownEvents(){return this._keydownEventsObservable}getConfig(){return this._config}updatePosition(){this._config.positionStrategy&&this._config.positionStrategy.apply()}updateSize(t){this._config=Object.assign({},this._config,t),this._updateElementSize()}setDirection(t){this._config=Object.assign({},this._config,{direction:t}),this._updateElementDirection()}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){const t=this._pane.style;t.width=wa(this._config.width),t.height=wa(this._config.height),t.minWidth=wa(this._config.minWidth),t.minHeight=wa(this._config.minHeight),t.maxWidth=wa(this._config.maxWidth),t.maxHeight=wa(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"auto":"none"}_attachBackdrop(){this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",t=>this._backdropClick.next(t)),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(t){let e,n=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),this._backdropElement==t&&(this._backdropElement=null),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}}_toggleClasses(t,e,n){const i=t.classList;ba(e).forEach(t=>{n?i.add(t):i.remove(t)})}}class tu{constructor(t,e,n,i,s){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=s,this._isInitialRender=!0,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this.scrollables=[],this._preferredPositions=[],this._positionChanges=new S,this._resizeSubscription=f.EMPTY,this._offsetX=0,this._offsetY=0,this._positionChangeSubscriptions=0,this.positionChanges=x.create(t=>{const e=this._positionChanges.subscribe(t);return this._positionChangeSubscriptions++,()=>{e.unsubscribe(),this._positionChangeSubscriptions--}}),this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){if(this._overlayRef&&t!==this._overlayRef)throw Error("This position strategy is already attached to an overlay");this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>this.apply())}apply(){if(this._isDisposed||this._platform&&!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let s;for(let o of this._preferredPositions){let r=this._getOriginPoint(t,o),a=this._getOverlayPoint(r,e,o),l=this._getOverlayFit(a,e,n,o);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,r);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:o,origin:r,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(r,o)}):(!s||s.overlayFit.visibleArea<l.visibleArea)&&(s={overlayFit:l,overlayPoint:a,originPoint:r,position:o,overlayRect:e})}if(i.length){let t=null,e=-1;for(const n of i){const i=n.boundingBoxRect.width*n.boundingBoxRect.height*(n.position.weight||1);i>e&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this.detach(),this._boundingBox=null,this._positionChanges.complete(),this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._origin.getBoundingClientRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){this.scrollables=t}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t instanceof Mn?t.nativeElement:t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,s=this._isRtl()?t.left:t.right;n="start"==e.originX?i:s}return{x:n,y:i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}}_getOverlayPoint(t,e,n){let i,s;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+i,y:t.y+(s="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}}_getOverlayFit(t,e,n,i){let{x:s,y:o}=t,r=this._getOffset(i,"x"),a=this._getOffset(i,"y");r&&(s+=r),a&&(o+=a);let l=0-o,h=o+e.height-n.height,u=this._subtractOverflows(e.width,0-s,s+e.width-n.width),c=this._subtractOverflows(e.height,l,h),d=u*c;return{visibleArea:d,isCompletelyWithinViewport:e.width*e.height===d,fitsInViewportVertically:c===e.height,fitsInViewportHorizontally:u==e.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,s=n.right-e.x,o=this._overlayRef.getConfig().minHeight,r=this._overlayRef.getConfig().minWidth;return(t.fitsInViewportVertically||null!=o&&o<=i)&&(t.fitsInViewportHorizontally||null!=r&&r<=s)}}_pushOverlayOnScreen(t,e){const n=this._viewportRect,i=Math.max(t.x+e.width-n.right,0),s=Math.max(t.y+e.height-n.bottom,0),o=Math.max(n.top-t.y,0),r=Math.max(n.left-t.x,0);let a,l=0;return{x:t.x+(a=e.width<=n.width?r||-i:n.left-t.x),y:t.y+(l=e.height<=n.height?o||-s:n.top-t.y)}}_applyPosition(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),this._lastPosition=t,this._positionChangeSubscriptions>0){const e=this._getScrollVisibility(),n=new jh(t,e);this._positionChanges.next(n)}this._isInitialRender=!1}_setTransformOrigin(t){if(!this._transformOriginSelector)return;const e=this._boundingBox.querySelectorAll(this._transformOriginSelector);let n,i=t.overlayY;n="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${n} ${i}`}_calculateBoundingBoxRect(t,e){const n=this._viewportRect,i=this._isRtl();let s,o,r,a,l,h;if("top"===e.overlayY)o=t.y,s=n.bottom-t.y;else if("bottom"===e.overlayY)s=n.height-(r=n.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{const e=Math.min(n.bottom-t.y,t.y-n.left),i=this._lastBoundingBoxSize.height;o=t.y-e,(s=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)h=n.right-t.x+this._viewportMargin,a=t.x-n.left;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x,t.x-n.top),i=this._lastBoundingBoxSize.width;l=t.x-e,(a=2*e)>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:o,left:l,bottom:r,right:h,width:a,height:s}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;i.height=wa(n.height),i.top=wa(n.top),i.bottom=wa(n.bottom),i.width=wa(n.width),i.left=wa(n.left),i.right=wa(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=wa(t)),s&&(i.maxWidth=wa(s))}this._lastBoundingBoxSize=n,eu(this._boundingBox.style,i)}_resetBoundingBoxStyles(){eu(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){eu(this._pane.style,{top:"",left:"",bottom:"",right:"",position:""})}_setOverlayElementStyles(t,e){const n={};this._hasExactPosition()?(eu(n,this._getExactOverlayY(e,t)),eu(n,this._getExactOverlayX(e,t))):n.position="static";let i="",s=this._getOffset(e,"x"),o=this._getOffset(e,"y");s&&(i+=`translateX(${s}px) `),o&&(i+=`translateY(${o}px)`),n.transform=i.trim(),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxHeight&&(n.maxHeight=""),this._hasFlexibleDimensions&&this._overlayRef.getConfig().maxWidth&&(n.maxWidth=""),eu(this._pane.style,n)}_getExactOverlayY(t,e){let n={top:null,bottom:null},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect));let s=this._overlayContainer?this._overlayContainer.getContainerElement().getBoundingClientRect().top:0;return i.y-=s,"bottom"===t.overlayY?n.bottom=`${this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)}px`:n.top=wa(i.y),n}_getExactOverlayX(t,e){let n,i={left:null,right:null},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect)),"right"==(n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?i.right=`${this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)}px`:i.left=wa(s.x),i}_getScrollVisibility(){const t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),n=this.scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Wh(t,n),isOriginOutsideView:qh(t,n),isOverlayClipped:Wh(e,n),isOverlayOutsideView:qh(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){if(!this._preferredPositions.length)throw Error("FlexibleConnectedPositionStrategy: At least one position is required.");this._preferredPositions.forEach(t=>{Zh("originX",t.originX),Hh("originY",t.originY),Zh("overlayX",t.overlayX),Hh("overlayY",t.overlayY)})}}function eu(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}class nu{constructor(t,e,n,i,s,o){this._preferredPositions=[],this._positionStrategy=new tu(n,i,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e)}get _isRtl(){return"rtl"===this._overlayRef.getDirection()}get onPositionChange(){return this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const s=new Bh(t,e,n,i);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}class iu{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add("cdk-global-overlay-wrapper")}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig();t.position=this._cssPosition,t.marginLeft="100%"===n.width?"0":this._leftOffset,t.marginTop="100%"===n.height?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,"100%"===n.width?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems="100%"===n.height?"flex-start":this._alignItems}dispose(){}}class su{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new iu}connectedTo(t,e,n){return new nu(e,n,t,this._viewportRuler,this._document)}flexibleConnectedTo(t){return new tu(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}su.ngInjectableDef=ot({factory:function(){return new su(te(Lh),te(Ol),te(Fl,8),te(Xh,8))},token:su,providedIn:"root"});let ou=0;class ru{constructor(t,e,n,i,s,o,r,a,l){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=s,this._injector=o,this._ngZone=r,this._document=a,this._directionality=l}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),s=new Vh(t);return s.direction=s.direction||this._directionality.value,new Jh(i,e,n,s,this._ngZone,this._keyboardDispatcher,this._document)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id=`cdk-overlay-${ou++}`,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(kn)),new Nh(t,this._componentFactoryResolver,this._appRef,this._injector)}}const au=new rt("cdk-connected-overlay-scroll-strategy");function lu(t){return()=>t.scrollStrategies.reposition()}class hu{}const uu=20,cu="mat-tooltip-panel";function du(t){return Error(`Tooltip position "${t}" is invalid.`)}const pu=new rt("mat-tooltip-scroll-strategy");function mu(t){return()=>t.scrollStrategies.reposition({scrollThrottle:uu})}const fu=new rt("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class _u{constructor(t,e,n,i,s,o,r,a,l,h,u){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=s,this._platform=o,this._ariaDescriber=r,this._focusMonitor=a,this._scrollStrategy=l,this._dir=h,this._defaultOptions=u,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this._message="",this._manualListeners=new Map,this._destroyed=new S;const c=e.nativeElement;o.IOS?"INPUT"!==c.nodeName&&"TEXTAREA"!==c.nodeName||(c.style.webkitUserSelect=c.style.userSelect=""):(this._manualListeners.set("mouseenter",()=>this.show()),this._manualListeners.set("mouseleave",()=>this.hide()),this._manualListeners.forEach((t,n)=>e.nativeElement.addEventListener(n,t))),c.draggable&&"none"===c.style.webkitUserDrag&&(c.style.webkitUserDrag=""),a.monitor(c).pipe(ql(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&s.run(()=>this.show()):s.run(()=>this.hide(0))})}get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t),this._disabled&&this.hide(0)}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?`${t}`.trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ariaDescriber.describe(this._elementRef.nativeElement,this.message))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._platform.IOS||(this._manualListeners.forEach((t,e)=>this._elementRef.nativeElement.removeEventListener(e,t)),this._manualListeners.clear()),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.message),this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}show(t=this.showDelay){if(this.disabled||!this.message)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new Ah(gu,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_handleKeydown(t){this._isTooltipVisible()&&t.keyCode===Ca&&(t.stopPropagation(),this.hide(0))}_handleTouchend(){this.hide(this._defaultOptions.touchendHideDelay)}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8),e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);return t.withScrollableContainers(e),t.positionChanges.pipe(ql(this._destroyed)).subscribe(t=>{this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:t,panelClass:cu,scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(ql(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(){const t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([Object.assign({},e.main,n.main),Object.assign({},e.fallback,n.fallback)])}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e||"below"==e)n={originX:"center",originY:"above"==e?"top":"bottom"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={originX:"start",originY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={originX:"end",originY:"center"}}const{x:i,y:s}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:s}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;if("above"==e)n={overlayX:"center",overlayY:"bottom"};else if("below"==e)n={overlayX:"center",overlayY:"top"};else if("before"==e||"left"==e&&t||"right"==e&&!t)n={overlayX:"end",overlayY:"center"};else{if(!("after"==e||"right"==e&&t||"left"==e&&!t))throw du(e);n={overlayX:"start",overlayY:"center"}}const{x:i,y:s}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(Th(1),ql(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}}class gu{constructor(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new S,this._isHandset=this._breakpointObserver.observe(ah.Handset)}show(t){this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._markForCheck()},t)}hide(t){this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._markForCheck()},t)}afterHidden(){return this._onHide.asObservable()}isVisible(){return"visible"===this._visibility}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}class yu{}function vu(t,e=ph){return n=>n.lift(new bu(t,e))}class bu{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wu(t,this.dueTime,this.scheduler))}}class wu extends y{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function xu(t){t.debouncedNext()}class Eu{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}Eu.ngInjectableDef=ot({factory:function(){return new Eu},token:Eu,providedIn:"root"});class Cu{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){return x.create(e=>{const n=this._observeElement(t).subscribe(e);return()=>{n.unsubscribe(),this._unobserveElement(t)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new S,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}Cu.ngInjectableDef=ot({factory:function(){return new Cu(te(Eu))},token:Cu,providedIn:"root"});class Lu{}const ku=new rt("cdk-dir-doc",{providedIn:"root",factory:function(){return te(Ol)}});class Su{constructor(t){if(this.value="ltr",this.change=new on,t){const e=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===e||"rtl"===e?e:"ltr"}}ngOnDestroy(){this.change.complete()}}Su.ngInjectableDef=ot({factory:function(){return new Su(te(ku,8))},token:Su,providedIn:"root"});class Tu{}function Iu(t,e,n){return function(i){return i.lift(new Pu(t,e,n))}}class Pu{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new Mu(t,this.nextOrObserver,this.error,this.complete))}}class Mu extends y{constructor(t,e,n,s){super(t),this._tapNext=w,this._tapError=w,this._tapComplete=w,this._tapError=n||w,this._tapComplete=s||w,i(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||w,this._tapError=e.error||w,this._tapComplete=e.complete||w)}_next(t){try{this._tapNext.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const Du=" ";function Au(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const Ou="cdk-describedby-message-container",Ru="cdk-describedby-message",Nu="cdk-describedby-host";let Fu=0;const zu=new Map;let Vu=null;class Bu{constructor(t){this._document=t}describe(t,e){this._canBeDescribed(t,e)&&(zu.has(e)||this._createMessageElement(e),this._isElementDescribedByMessage(t,e)||this._addMessageReference(t,e))}removeDescription(t,e){if(!this._canBeDescribed(t,e))return;this._isElementDescribedByMessage(t,e)&&this._removeMessageReference(t,e);const n=zu.get(e);n&&0===n.referenceCount&&this._deleteMessageElement(e),Vu&&0===Vu.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${Nu}]`);for(let e=0;e<t.length;e++)this._removeCdkDescribedByReferenceIds(t[e]),t[e].removeAttribute(Nu);Vu&&this._deleteMessagesContainer(),zu.clear()}_createMessageElement(t){const e=this._document.createElement("div");e.setAttribute("id",`${Ru}-${Fu++}`),e.appendChild(this._document.createTextNode(t)),this._createMessagesContainer(),Vu.appendChild(e),zu.set(t,{messageElement:e,referenceCount:0})}_deleteMessageElement(t){const e=zu.get(t),n=e&&e.messageElement;Vu&&n&&Vu.removeChild(n),zu.delete(t)}_createMessagesContainer(){if(!Vu){const t=this._document.getElementById(Ou);t&&t.parentNode.removeChild(t),(Vu=this._document.createElement("div")).id=Ou,Vu.setAttribute("aria-hidden","true"),Vu.style.display="none",this._document.body.appendChild(Vu)}}_deleteMessagesContainer(){Vu&&Vu.parentNode&&(Vu.parentNode.removeChild(Vu),Vu=null)}_removeCdkDescribedByReferenceIds(t){const e=Au(t,"aria-describedby").filter(t=>0!=t.indexOf(Ru));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=zu.get(e);!function(t,e,n){const i=Au(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(Du)))}(t,"aria-describedby",n.messageElement.id),t.setAttribute(Nu,""),n.referenceCount++}_removeMessageReference(t,e){const n=zu.get(e);n.referenceCount--,function(t,e,n){const i=Au(t,e).filter(t=>t!=n.trim());t.setAttribute(e,i.join(Du))}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(Nu)}_isElementDescribedByMessage(t,e){const n=Au(t,"aria-describedby"),i=zu.get(e),s=i&&i.messageElement.id;return!!s&&-1!=n.indexOf(s)}_canBeDescribed(t,e){return t.nodeType===this._document.ELEMENT_NODE&&null!=e&&!!`${e}`.trim()}}Bu.ngInjectableDef=ot({factory:function(){return new Bu(te(Ol))},token:Bu,providedIn:"root"});class ju{constructor(t){this._items=t,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new S,this._typeaheadSubscription=f.EMPTY,this._vertical=!0,this._skipPredicateFn=(t=>t.disabled),this._pressedLetters=[],this.tabOut=new S,this.change=new S,t instanceof Dn&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withTypeAhead(t=200){if(this._items.length&&this._items.some(t=>"function"!=typeof t.getLabel))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Iu(t=>this._pressedLetters.push(t)),vu(t),vh(()=>this._pressedLetters.length>0),j(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n<e.length+1;n++){const i=(this._activeItemIndex+n)%e.length,s=e[i];if(!this._skipPredicateFn(s)&&0===s.getLabel().toUpperCase().trim().indexOf(t)){this.setActiveItem(i);break}}this._pressedLetters=[]}),this}setActiveItem(t){const e=this._activeItemIndex;this.updateActiveItem(t),this._activeItemIndex!==e&&this.change.next(this._activeItemIndex)}onKeydown(t){const e=t.keyCode;switch(e){case xa:return void this.tabOut.next();case Ia:if(this._vertical){this.setNextItemActive();break}return;case Sa:if(this._vertical){this.setPreviousItemActive();break}return;case Ta:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}return;case ka:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}return;default:return void(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=Da&&e<=Aa||e>=Pa&&e<=Ma)&&this._letterKeyStream.next(String.fromCharCode(e)))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t);this._activeItemIndex=n,this._activeItem=e[n]}updateActiveItemIndex(t){this.updateActiveItem(t)}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof Dn?this._items.toArray():this._items}}class Hu extends ju{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class Zu extends ju{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}class Uu{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(t){return null}}(t.ownerDocument.defaultView||window);if(e){const t=e&&e.nodeName.toLowerCase();if(-1===$u(e))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===t)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),i=$u(t);if(t.hasAttribute("contenteditable"))return-1!==i;if("iframe"===n)return!1;if("audio"===n){if(!t.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===n){if(!t.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==n||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&t.tabIndex>=0}isFocusable(t){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Gu(t))}(t)&&!this.isDisabled(t)&&this.isVisible(t)}}function Gu(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function $u(t){if(!Gu(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}Uu.ngInjectableDef=ot({factory:function(){return new Uu(te(Fl))},token:Uu,providedIn:"root"});class qu{constructor(t,e,n,i,s=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)}destroy(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",()=>this.focusLastTabbableElement())),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",()=>this.focusFirstTabbableElement()))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement()))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], `+`[cdkFocusRegion${t}], `+`[cdk-focus-${t}]`);for(let n=0;n<e.length;n++)e[n].hasAttribute(`cdk-focus-${t}`)?console.warn(`Found use of deprecated attribute 'cdk-focus-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated `+"attribute will be removed in 7.0.0.",e[n]):e[n].hasAttribute(`cdk-focus-region-${t}`)&&console.warn(`Found use of deprecated attribute 'cdk-focus-region-${t}', `+`use 'cdkFocusRegion${t}' instead. The deprecated attribute `+"will be removed in 7.0.0.",e[n]);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return t?(t.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 7.0.0",t),t.focus(),!0):this.focusFirstTabbableElement()}focusFirstTabbableElement(){const t=this._getRegionBoundary("start");return t&&t.focus(),!!t}focusLastTabbableElement(){const t=this._getRegionBoundary("end");return t&&t.focus(),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=0;n<e.length;n++){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(t)return t}return null}_getLastTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;let e=t.children||t.childNodes;for(let n=e.length-1;n>=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return t.tabIndex=this._enabled?0:-1,t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(t)}}class Wu{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new qu(t,this._checker,this._ngZone,this._document,e)}}Wu.ngInjectableDef=ot({factory:function(){return new Wu(te(Uu),te(rn),te(Ol))},token:Wu,providedIn:"root"});const Ku=new rt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}});class Yu{constructor(t,e){this._document=e,this._liveElement=t||this._createLiveElement()}announce(t,e="polite"){return this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",e),new Promise(e=>{setTimeout(()=>{this._liveElement.textContent=t,e()},100)})}ngOnDestroy(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)}_createLiveElement(){const t=this._document.getElementsByClassName("cdk-live-announcer-element");for(let n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n]);const e=this._document.createElement("div");return e.classList.add("cdk-live-announcer-element"),e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e}}Yu.ngInjectableDef=ot({factory:function(){return new Yu(te(Ku,8),te(Ol))},token:Yu,providedIn:"root"});const Qu=650;class Xu{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=(()=>{}),this._monitoredElementCount=0}monitor(t,e=!1){if(!this._platform.isBrowser)return Jl(null);if(this._elementInfo.has(t)){let n=this._elementInfo.get(t);return n.checkChildren=e,n.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new S};this._elementInfo.set(t,n),this._incrementMonitoredElementCount();let i=e=>this._onFocus(e,t),s=e=>this._onBlur(e,t);return this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",i,!0),t.addEventListener("blur",s,!0)}),n.unlisten=(()=>{t.removeEventListener("focus",i,!0),t.removeEventListener("blur",s,!0)}),n.subject.asObservable()}stopMonitoring(t){const e=this._elementInfo.get(t);e&&(e.unlisten(),e.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._decrementMonitoredElementCount())}focusVia(t,e,n){this._setOriginForCurrentEventQueue(e),"function"==typeof t.focus&&t.focus(n)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_registerGlobalListeners(){if(!this._platform.isBrowser)return;let t=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},e=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},n=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,Qu)},i=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.addEventListener("focus",i)}),this._unregisterGlobalListeners=(()=>{document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",n,!Bl()||{passive:!0,capture:!0}),window.removeEventListener("focus",i),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)})}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const n=this._elementInfo.get(e);if(!n||!n.checkChildren&&e!==t.target)return;let i=this._origin;i||(i=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,i),this._emitOrigin(n.subject,i),this._lastFocusOrigin=i}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._registerGlobalListeners()}_decrementMonitoredElementCount(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=(()=>{}))}}Xu.ngInjectableDef=ot({factory:function(){return new Xu(te(rn),te(Fl))},token:Xu,providedIn:"root"});class Ju{}let tc=null;function ec(){return tc}class nc{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(t){this._attrToPropMap=t}}class ic extends nc{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(e).forEach(n=>{null!=this.getStyle(t,n)&&(this._transitionEnd=e[n])})}catch(t){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(t){return t.getDistributedNodes()}resolveAndSetHref(t,e,n){t.href=null==n?e:e+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const sc={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},oc=3,rc={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ac={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"};let lc;mt.Node&&(lc=mt.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))});class hc extends ic{parse(t){throw new Error("parse not implemented")}static makeCurrent(){!function(t){tc||(tc=t)}(new hc)}hasProperty(t,e){return e in t}setProperty(t,e,n){t[e]=n}getProperty(t,e){return t[e]}invoke(t,e,n){t[e](...n)}logError(t){window.console&&(console.error?console.error(t):console.log(t))}log(t){window.console&&window.console.log&&window.console.log(t)}logGroup(t){window.console&&window.console.group&&window.console.group(t)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return sc}contains(t,e){return lc.call(t,e)}querySelector(t,e){return t.querySelector(e)}querySelectorAll(t,e){return t.querySelectorAll(e)}on(t,e,n){t.addEventListener(e,n,!1)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}createMouseEvent(t){const e=this.getDefaultDocument().createEvent("MouseEvent");return e.initEvent(t,!0,!0),e}createEvent(t){const e=this.getDefaultDocument().createEvent("Event");return e.initEvent(t,!0,!0),e}preventDefault(t){t.preventDefault(),t.returnValue=!1}isPrevented(t){return t.defaultPrevented||null!=t.returnValue&&!t.returnValue}getInnerHTML(t){return t.innerHTML}getTemplateContent(t){return"content"in t&&this.isTemplateElement(t)?t.content:null}getOuterHTML(t){return t.outerHTML}nodeName(t){return t.nodeName}nodeValue(t){return t.nodeValue}type(t){return t.type}content(t){return this.hasProperty(t,"content")?t.content:t}firstChild(t){return t.firstChild}nextSibling(t){return t.nextSibling}parentElement(t){return t.parentNode}childNodes(t){return t.childNodes}childNodesAsList(t){const e=t.childNodes,n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=e[i];return n}clearNodes(t){for(;t.firstChild;)t.removeChild(t.firstChild)}appendChild(t,e){t.appendChild(e)}removeChild(t,e){t.removeChild(e)}replaceChild(t,e,n){t.replaceChild(e,n)}remove(t){return t.parentNode&&t.parentNode.removeChild(t),t}insertBefore(t,e,n){t.insertBefore(n,e)}insertAllBefore(t,e,n){n.forEach(n=>t.insertBefore(n,e))}insertAfter(t,e,n){t.insertBefore(n,e.nextSibling)}setInnerHTML(t,e){t.innerHTML=e}getText(t){return t.textContent}setText(t,e){t.textContent=e}getValue(t){return t.value}setValue(t,e){t.value=e}getChecked(t){return t.checked}setChecked(t,e){t.checked=e}createComment(t){return this.getDefaultDocument().createComment(t)}createTemplate(t){const e=this.getDefaultDocument().createElement("template");return e.innerHTML=t,e}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createElementNS(t,e,n){return(n=n||this.getDefaultDocument()).createElementNS(t,e)}createTextNode(t,e){return(e=e||this.getDefaultDocument()).createTextNode(t)}createScriptTag(t,e,n){const i=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(t,e),i}createStyleElement(t,e){const n=(e=e||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(t,e)),n}createShadowRoot(t){return t.createShadowRoot()}getShadowRoot(t){return t.shadowRoot}getHost(t){return t.host}clone(t){return t.cloneNode(!0)}getElementsByClassName(t,e){return t.getElementsByClassName(e)}getElementsByTagName(t,e){return t.getElementsByTagName(e)}classList(t){return Array.prototype.slice.call(t.classList,0)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}hasClass(t,e){return t.classList.contains(e)}setStyle(t,e,n){t.style[e]=n}removeStyle(t,e){t.style[e]=""}getStyle(t,e){return t.style[e]}hasStyle(t,e,n){const i=this.getStyle(t,e)||"";return n?i==n:i.length>0}tagName(t){return t.tagName}attributeMap(t){const e=new Map,n=t.attributes;for(let i=0;i<n.length;i++){const t=n.item(i);e.set(t.name,t.value)}return e}hasAttribute(t,e){return t.hasAttribute(e)}hasAttributeNS(t,e,n){return t.hasAttributeNS(e,n)}getAttribute(t,e){return t.getAttribute(e)}getAttributeNS(t,e,n){return t.getAttributeNS(e,n)}setAttribute(t,e,n){t.setAttribute(e,n)}setAttributeNS(t,e,n,i){t.setAttributeNS(e,n,i)}removeAttribute(t,e){t.removeAttribute(e)}removeAttributeNS(t,e,n){t.removeAttributeNS(e,n)}templateAwareRoot(t){return this.isTemplateElement(t)?this.content(t):t}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(t){try{return t.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(t){return t.title}setTitle(t,e){t.title=e||""}elementMatches(t,e){return!!this.isElementNode(t)&&(t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e))}isTemplateElement(t){return this.isElementNode(t)&&"TEMPLATE"===t.nodeName}isTextNode(t){return t.nodeType===Node.TEXT_NODE}isCommentNode(t){return t.nodeType===Node.COMMENT_NODE}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}hasShadowRoot(t){return null!=t.shadowRoot&&t instanceof HTMLElement}isShadowRoot(t){return t instanceof DocumentFragment}importIntoDoc(t){return document.importNode(this.templateAwareRoot(t),!0)}adoptNode(t){return document.adoptNode(t)}getHref(t){return t.getAttribute("href")}getEventKey(t){let e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===oc&&ac.hasOwnProperty(e)&&(e=ac[e]))}return rc[e]||e}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(t){const e=cc||(cc=document.querySelector("base"))?cc.getAttribute("href"):null;return null==e?null:function(t){return uc||(uc=document.createElement("a")),uc.setAttribute("href",t),"/"===uc.pathname.charAt(0)?uc.pathname:"/"+uc.pathname}(e)}resetBaseElement(){cc=null}getUserAgent(){return window.navigator.userAgent}setData(t,e,n){this.setAttribute(t,"data-"+e,n)}getData(t,e){return this.getAttribute(t,"data-"+e)}getComputedStyle(t){return getComputedStyle(t)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(t){return el(document.cookie,t)}setCookie(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)}}let uc,cc=null;const dc=Ol;function pc(){return!!window.history.pushState}class mc extends Oa{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=ec().getLocation(),this._history=ec().getHistory()}getBaseHrefFromDOM(){return ec().getBaseHref(this._doc)}onPopState(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)}onHashChange(t){ec().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,n){pc()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){pc()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}}mc.ctorParameters=(()=>[{type:void 0,decorators:[{type:Tt,args:[dc]}]}]);class fc{constructor(t){this._doc=t,this._dom=ec()}addTag(t,e=!1){return t?this._getOrCreateElement(t,e):null}addTags(t,e=!1){return t?t.reduce((t,n)=>(n&&t.push(this._getOrCreateElement(n,e)),t),[]):[]}getTag(t){return t&&this._dom.querySelector(this._doc,`meta[${t}]`)||null}getTags(t){if(!t)return[];const e=this._dom.querySelectorAll(this._doc,`meta[${t}]`);return e?[].slice.call(e):[]}updateTag(t,e){if(!t)return null;e=e||this._parseSelector(t);const n=this.getTag(e);return n?this._setMetaElementAttributes(t,n):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,e=!1){if(!e){const e=this._parseSelector(t),n=this.getTag(e);if(n&&this._containsAttributes(t,n))return n}const n=this._dom.createElement("meta");this._setMetaElementAttributes(t,n);const i=this._dom.getElementsByTagName(this._doc,"head")[0];return this._dom.appendChild(i,n),n}_setMetaElementAttributes(t,e){return Object.keys(t).forEach(n=>this._dom.setAttribute(e,n,t[n])),e}_parseSelector(t){const e=t.name?"name":"property";return`${e}="${t[e]}"`}_containsAttributes(t,e){return Object.keys(t).every(n=>this._dom.getAttribute(e,n)===t[n])}}const _c=new rt("TRANSITION_ID"),gc=[{provide:De,useFactory:function(t,e,n){return()=>{n.get(Ae).donePromise.then(()=>{const n=ec();Array.prototype.slice.apply(n.querySelectorAll(e,"style[ng-transition]")).filter(e=>n.getAttribute(e,"ng-transition")===t).forEach(t=>n.remove(t))})}},deps:[_c,dc,Nt],multi:!0}];class yc{static init(){!function(t){_n=t}(new yc)}addToWindow(t){mt.getAngularTestability=((e,n=!0)=>{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i}),mt.getAllAngularTestabilities=(()=>t.getAllTestabilities()),mt.getAllAngularRootElements=(()=>t.getAllRootElements()),mt.frameworkStabilizers||(mt.frameworkStabilizers=[]),mt.frameworkStabilizers.push(t=>{const e=mt.getAllAngularTestabilities();let n=e.length,i=!1;const s=function(e){i=i||e,0==--n&&t(i)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?ec().isShadowRoot(e)?this.findTestabilityInTree(t,ec().getHost(e),!0):this.findTestabilityInTree(t,ec().parentElement(e),!0):null}}class vc{constructor(t){this._doc=t}getTitle(){return ec().getTitle(this._doc)}setTitle(t){ec().setTitle(this._doc,t)}}function bc(t,e){"undefined"!=typeof COMPILED&&COMPILED||((mt.ng=mt.ng||{})[t]=e)}const wc={ApplicationRef:kn,NgZone:rn};function xc(t){return Bn(t)}const Ec=new rt("EventManagerPlugins");class Cc{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i<n.length;i++){const e=n[i];if(e.supports(t))return this._eventNameToPlugin.set(t,e),e}throw new Error(`No event manager plugin found for event ${t}`)}}class Lc{constructor(t){this._doc=t}addGlobalEventListener(t,e,n){const i=ec().getGlobalEventTarget(this._doc,t);if(!i)throw new Error(`Unsupported event target ${i} for event ${e}`);return this.addEventListener(i,e,n)}}class kc{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}class Sc extends kc{constructor(t){super(),this._doc=t,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(t.head)}_addStylesToHost(t,e){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,this._styleNodes.add(e.appendChild(n))})}addHost(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)}removeHost(t){this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach(e=>this._addStylesToHost(t,e))}ngOnDestroy(){this._styleNodes.forEach(t=>ec().remove(t))}}const Tc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Ic=/%COMP%/g,Pc="_nghost-%COMP%",Mc="_ngcontent-%COMP%";function Dc(t,e,n){for(let i=0;i<e.length;i++){let s=e[i];Array.isArray(s)?Dc(t,s,n):(s=s.replace(Ic,t),n.push(s))}return n}function Ac(t){return e=>{!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}class Oc{constructor(t,e){this.eventManager=t,this.sharedStylesHost=e,this.rendererByCompId=new Map,this.defaultRenderer=new Rc(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case ee.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new zc(this.eventManager,this.sharedStylesHost,e),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case ee.Native:return new Vc(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=Dc(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class Rc{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(Tc[e],t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t){let e="string"==typeof t?document.querySelector(t):t;if(!e)throw new Error(`The selector "${t}" did not match any elements`);return e.textContent="",e}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=`${i}:${e}`;const s=Tc[i];s?t.setAttributeNS(s,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=Tc[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&In.DashCase?t.style.setProperty(e,n,i&In.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&In.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){Fc(e,"property"),t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return Fc(e,"listener"),"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Ac(n)):this.eventManager.addEventListener(t,e,Ac(n))}}const Nc="@".charCodeAt(0);function Fc(t,e){if(t.charCodeAt(0)===Nc)throw new Error(`Found the synthetic ${e} ${t}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class zc extends Rc{constructor(t,e,n){super(t),this.component=n;const i=Dc(n.id,n.styles,[]);e.addStyles(i),this.contentAttr=Mc.replace(Ic,n.id),this.hostAttr=Pc.replace(Ic,n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class Vc extends Rc{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.component=i,this.shadowRoot=n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const s=Dc(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const t=document.createElement("style");t.textContent=s[o],this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(this.nodeOrShadowRoot(t),e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}}const Bc="undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t},jc=Bc("addEventListener"),Hc=Bc("removeEventListener"),Zc={},Uc="__zone_symbol__propagationStopped";let Gc;"undefined"!=typeof Zone&&Zone[Bc("BLACK_LISTED_EVENTS")]&&(Gc={});const $c=function(t){return!!Gc&&Gc.hasOwnProperty(t)},qc=function(t){const e=Zc[t.type];if(!e)return;const n=this[e];if(!n)return;const i=[t];if(1===n.length){const t=n[0];return t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}{const e=n.slice();for(let n=0;n<e.length&&!0!==t[Uc];n++){const t=e[n];t.zone!==Zone.current?t.zone.run(t.handler,this,i):t.handler.apply(this,i)}}},Wc={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Kc=new rt("HammerGestureConfig");class Yc{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const n in this.overrides)e.get(n).set(this.overrides[n]);return e}}const Qc=["alt","control","meta","shift"],Xc={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};class Jc extends Lc{constructor(t){super(t)}supports(t){return null!=Jc.parseEventName(t)}addEventListener(t,e,n){const i=Jc.parseEventName(e),s=Jc.eventCallback(i.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ec().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const e=t.toLowerCase().split("."),n=e.shift();if(0===e.length||"keydown"!==n&&"keyup"!==n)return null;const i=Jc._normalizeKey(e.pop());let s="";if(Qc.forEach(t=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s+=t+".")}),s+=i,0!=e.length||0===i.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",n=ec().getEventKey(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Qc.forEach(i=>{i!=n&&(0,Xc[i])(t)&&(e+=i+".")}),e+=n}static eventCallback(t,e,n){return i=>{Jc.getEventFullKey(i)===t&&n.runGuarded(()=>e(i))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}class td{}class ed extends td{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case Oi.NONE:return e;case Oi.HTML:return e instanceof id?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),function(t,e){let n=null;try{Pi=Pi||new ci(t);let i=e?String(e):"";n=Pi.getInertBodyElement(i);let s=5,o=i;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,i=o,o=n.innerHTML,n=Pi.getInertBodyElement(i)}while(i!==o);const r=new ki,a=r.sanitizeChildren(Mi(n)||n);return bn()&&r.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}finally{if(n){const t=Mi(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}(this._doc,String(e)));case Oi.STYLE:return e instanceof sd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),function(t){if(!(t=String(t).trim()))return"";const e=t.match(Ai);return e&&mi(e[1])===e[1]||t.match(Di)&&function(t){let e=!0,n=!0;for(let i=0;i<t.length;i++){const s=t.charAt(i);"'"===s&&n?e=!e:'"'===s&&e&&(n=!n)}return e&&n}(t)?t:(bn()&&console.warn(`WARNING: sanitizing unsafe style value ${t} (see http://g.co/ng/security#xss).`),"unsafe")}(e));case Oi.SCRIPT:if(e instanceof od)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case Oi.URL:return e instanceof ad||e instanceof rd?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),mi(String(e)));case Oi.RESOURCE_URL:if(e instanceof ad)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(t,e){if(t instanceof nd)throw new Error(`Required a safe ${e}, got a ${t.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(t){return new id(t)}bypassSecurityTrustStyle(t){return new sd(t)}bypassSecurityTrustScript(t){return new od(t)}bypassSecurityTrustUrl(t){return new rd(t)}bypassSecurityTrustResourceUrl(t){return new ad(t)}}class nd{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class id extends nd{getTypeName(){return"HTML"}}class sd extends nd{getTypeName(){return"Style"}}class od extends nd{getTypeName(){return"Script"}}class rd extends nd{getTypeName(){return"URL"}}class ad extends nd{getTypeName(){return"ResourceURL"}}const ld=xn(oi,"browser",[{provide:ze,useValue:Rl},{provide:Fe,useValue:function(){hc.makeCurrent(),yc.init()},multi:!0},{provide:Oa,useClass:mc,deps:[dc]},{provide:dc,useFactory:function(){return document},deps:[]}]);function hd(){return new he}class ud{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:ud,providers:[{provide:Oe,useValue:t.appId},{provide:_c,useExisting:Oe},gc]}}}"undefined"!=typeof window&&window;class cd{}cd.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",cd.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",cd.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",cd.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class dd{}dd.COMPLEX="375ms",dd.ENTERING="225ms",dd.EXITING="195ms";const pd=new rt("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class md{constructor(t){this._sanityChecksEnabled=t,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&bn()&&!this._isTestEnv()}_isTestEnv(){return this._window&&(this._window.__karma__||this._window.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(this._document&&this._document.body&&"function"==typeof getComputedStyle){const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(this._areChecksEnabled()&&!this._window.Hammer&&console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function fd(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=ya(t)}}}function _d(t,e){return class extends t{get color(){return this._color}set color(t){const n=t||e;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),n&&this._elementRef.nativeElement.classList.add(`mat-${n}`),this._color=n)}constructor(...t){super(...t),this.color=e}}}function gd(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=ya(t)}}}class yd{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}yd.ngInjectableDef=ot({factory:function(){return new yd},token:yd,providedIn:"root"});const vd=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class bd{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=vd.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const wd={enterDuration:450,exitDuration:400},xd=800;class Ed{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._eventOptions=!!Bl()&&{passive:!0},this.onMousedown=(t=>{const e=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+xd;this._target.rippleDisabled||e||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}),this.onTouchStart=(t=>{this._target.rippleDisabled||(this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0,this.fadeInRipple(t.touches[0].clientX,t.touches[0].clientY,this._target.rippleConfig))}),this.onPointerUp=(()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===vd.VISIBLE||t.config.terminateOnPointerUp&&t.state===vd.FADING_IN)&&t.fadeOut()}))}),i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this.onMousedown),this._triggerEvents.set("mouseup",this.onPointerUp),this._triggerEvents.set("mouseleave",this.onPointerUp),this._triggerEvents.set("touchstart",this.onTouchStart),this._triggerEvents.set("touchend",this.onPointerUp))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},wd,n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const o=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),s=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+s*s)}(t,e,i),r=t-i.left,a=e-i.top,l=s.enterDuration/(n.speedFactor||1),h=document.createElement("div");h.classList.add("mat-ripple-element"),h.style.left=`${r-o}px`,h.style.top=`${a-o}px`,h.style.height=`${2*o}px`,h.style.width=`${2*o}px`,h.style.backgroundColor=n.color||null,h.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(h),window.getComputedStyle(h).getPropertyValue("opacity"),h.style.transform="scale(1)";const u=new bd(this,h,n);return u.state=vd.FADING_IN,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this.runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=vd.VISIBLE,n.persistent||t&&this._isPointerDown||u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign({},wd,t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=vd.FADING_OUT,this.runTimeoutOutsideZone(()=>{t.state=vd.HIDDEN,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,n)=>t.addEventListener(n,e,this._eventOptions))}),this._triggerElement=t)}runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,this._eventOptions)})}}const Cd=new rt("mat-ripple-global-options");class Ld{constructor(t,e,n,i,s){this._elementRef=t,this.radius=0,this.speedFactor=1,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new Ed(this,e,t,n),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp,speedFactor:this.speedFactor*(this._globalOptions.baseSpeedFactor||1)}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class kd{}class Sd{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}class Td{}const Id=fd(class{});let Pd=0;class Md extends Id{constructor(){super(...arguments),this._labelId=`mat-optgroup-label-${Pd++}`}}let Dd=0;class Ad{constructor(t,e=!1){this.source=t,this.isUserInput=e}}const Od=new rt("MAT_OPTION_PARENT_COMPONENT");class Rd{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._id=`mat-option-${Dd++}`,this._mostRecentViewValue="",this.onSelectionChange=new on,this._stateChanges=new S}get multiple(){return this._parent&&this._parent.multiple}get id(){return this._id}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=ya(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(){const t=this._getHostElement();"function"==typeof t.focus&&t.focus()}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==Ea&&t.keyCode!==La||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new Ad(this,t))}}class Nd{}const Fd=new rt("mat-label-global-options");var zd=Ji({encapsulation:2,styles:[".mat-tooltip-panel{pointer-events:none!important}.mat-tooltip{color:#fff;border-radius:2px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}@media screen and (-ms-high-contrast:active){.mat-tooltip{outline:solid 1px}}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}"],data:{animation:[{type:7,name:"state",definitions:[{type:0,name:"initial, void, hidden",styles:{type:6,styles:{transform:"scale(0)"},offset:null},options:void 0},{type:0,name:"visible",styles:{type:6,styles:{transform:"scale(1)"},offset:null},options:void 0},{type:1,expr:"* => visible",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.0, 0.0, 0.2, 1)"},options:null},{type:1,expr:"* => hidden",animation:{type:4,styles:null,timings:"150ms cubic-bezier(0.4, 0.0, 1, 1)"},options:null}],options:{}}]}});function Vd(t){return Go(2,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-tooltip"]],[[2,"mat-tooltip-handset",null],[24,"@state",0]],[[null,"@state.start"],[null,"@state.done"]],function(t,e,n){var i=!0,s=t.component;return"@state.start"===e&&(i=!1!==s._animationStart()&&i),"@state.done"===e&&(i=!1!==s._animationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),yo(131072,Ml,[Rn]),(t()(),Ho(3,null,["",""]))],function(t,e){t(e,1,0,"mat-tooltip",e.component.tooltipClass)},function(t,e){var n=e.component;t(e,0,0,Yi(e,0,0,io(e,2).transform(n._isHandset)).matches,n._visibility),t(e,3,0,n.message)})}var Bd=$s("mat-tooltip-component",gu,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-tooltip-component",[["aria-hidden","true"]],[[4,"zoom",null]],[["body","click"]],function(t,e,n){var i=!0;return"body:click"===e&&(i=!1!==io(t,1)._handleBodyInteraction()&&i),i},Vd,zd)),go(1,49152,null,0,gu,[Rn,oh],null,null)],null,function(t,e){t(e,0,0,"visible"===io(e,1)._visibility?1:null)})},{},{},[]),jd=n("4R65");class Hd{}class Zd{}class Ud{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),s=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Ud?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Ud;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Ud?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const s=t.value;if(s){let t=this.headers.get(e);if(!t)return;0===(t=t.filter(t=>-1===s.indexOf(t))).length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Gd{encodeKey(t){return $d(t)}encodeValue(t){return $d(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function $d(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}class qd{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Gd,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.split("&").forEach(t=>{const i=t.indexOf("="),[s,o]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],r=n.get(s)||[];r.push(o),n.set(s,r)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).join("&")}clone(t){const e=new qd({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat([t]),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(t.value),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(t.value);-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=null)}}function Wd(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function Kd(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Yd(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Qd{constructor(t,e,n,i){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,s=i):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.params&&(this.params=s.params)),this.headers||(this.headers=new Ud),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":n<e.length-1?"&":"")+t}}else this.params=new qd,this.urlWithParams=e}serializeBody(){return null===this.body?null:Wd(this.body)||Kd(this.body)||Yd(this.body)||"string"==typeof this.body?this.body:this.body instanceof qd?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body?null:Yd(this.body)?null:Kd(this.body)?this.body.type||null:Wd(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof qd?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||Array.isArray(this.body)?"application/json":null}clone(t={}){const e=t.method||this.method,n=t.url||this.url,i=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,r=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let a=t.headers||this.headers,l=t.params||this.params;return void 0!==t.setHeaders&&(a=Object.keys(t.setHeaders).reduce((e,n)=>e.set(n,t.setHeaders[n]),a)),t.setParams&&(l=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),l)),new Qd(e,n,s,{params:l,headers:a,reportProgress:r,responseType:i,withCredentials:o})}}const Xd=function(){var t={Sent:0,UploadProgress:1,ResponseHeader:2,DownloadProgress:3,Response:4,User:5};return t[t.Sent]="Sent",t[t.UploadProgress]="UploadProgress",t[t.ResponseHeader]="ResponseHeader",t[t.DownloadProgress]="DownloadProgress",t[t.Response]="Response",t[t.User]="User",t}();class Jd{constructor(t,e=200,n="OK"){this.headers=t.headers||new Ud,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class tp extends Jd{constructor(t={}){super(t),this.type=Xd.ResponseHeader}clone(t={}){return new tp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ep extends Jd{constructor(t={}){super(t),this.type=Xd.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ep({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class np extends Jd{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ip(t,e){return{body:e,headers:t.headers,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}class sp{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Qd)i=t;else{let s=void 0;s=n.headers instanceof Ud?n.headers:new Ud(n.headers);let o=void 0;n.params&&(o=n.params instanceof qd?n.params:new qd({fromObject:n.params})),i=new Qd(t,e,void 0!==n.body?n.body:null,{headers:s,params:o,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const s=Jl(i).pipe(function(t,e){return $(t,void 0,1)}(t=>this.handler.handle(t)));if(t instanceof Qd||"events"===n.observe)return s;const o=s.pipe(vh(t=>t instanceof ep));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe(j(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe(j(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe(j(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new qd).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,ip(n,e))}post(t,e,n={}){return this.request("POST",t,ip(n,e))}put(t,e,n={}){return this.request("PUT",t,ip(n,e))}}class op{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const rp=new rt("HTTP_INTERCEPTORS");class ap{intercept(t,e){return e.handle(t)}}const lp=/^\)\]\}',?\n/;class hp{}class up{constructor(){}build(){return new XMLHttpRequest}}class cp{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without JsonpClientModule installed.");return new x(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let s=null;const o=()=>{if(null!==s)return s;const e=1223===n.status?204:n.status,i=n.statusText||"OK",o=new Ud(n.getAllResponseHeaders()),r=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return s=new tp({headers:o,status:e,statusText:i,url:r})},r=()=>{let{headers:i,status:s,statusText:r,url:a}=o(),l=null;204!==s&&(l=void 0===n.response?n.responseText:n.response),0===s&&(s=l?200:0);let h=s>=200&&s<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(lp,"");try{l=""!==l?JSON.parse(l):null}catch(e){l=t,h&&(h=!1,l={error:e,text:l})}}h?(e.next(new ep({body:l,headers:i,status:s,statusText:r,url:a||void 0})),e.complete()):e.error(new np({error:l,headers:i,status:s,statusText:r,url:a||void 0}))},a=t=>{const i=new np({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error"});e.error(i)};let l=!1;const h=i=>{l||(e.next(o()),l=!0);let s={type:Xd.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(s.total=i.total),"text"===t.responseType&&n.responseText&&(s.partialText=n.responseText),e.next(s)},u=t=>{let n={type:Xd.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",r),n.addEventListener("error",a),t.reportProgress&&(n.addEventListener("progress",h),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:Xd.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("load",r),t.reportProgress&&(n.removeEventListener("progress",h),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.abort()}})}}const dp=new rt("XSRF_COOKIE_NAME"),pp=new rt("XSRF_HEADER_NAME");class mp{}class fp{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=el(t,this.cookieName),this.lastCookieString=t),this.lastToken}}class _p{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null===i||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}class gp{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(rp,[]);this.chain=t.reduceRight((t,e)=>new op(t,e),this.backend)}return this.chain.handle(t)}}class yp{static disable(){return{ngModule:yp,providers:[{provide:_p,useClass:ap}]}}static withOptions(t={}){return{ngModule:yp,providers:[t.cookieName?{provide:dp,useValue:t.cookieName}:[],t.headerName?{provide:pp,useValue:t.headerName}:[]]}}}class vp{}function bp(...t){const e=t[t.length-1];return"function"==typeof e&&t.pop(),U(t,void 0).lift(new wp(e))}class wp{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new xp(t,this.resultSelector))}}class xp extends y{constructor(t,e,n=Object.create(null)){super(t),this.iterators=[],this.active=0,this.resultSelector="function"==typeof e?e:null,this.values=n}_next(t){const e=this.iterators;l(t)?e.push(new Cp(t)):e.push("function"==typeof t[A]?new Ep(t[A]()):new Lp(this.destination,this,t))}_complete(){const t=this.iterators,e=t.length;if(0!==e){this.active=e;for(let n=0;n<e;n++){let e=t[n];e.stillUnsubscribed?this.add(e.subscribe(e,n)):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const t=this.iterators,e=t.length,n=this.destination;for(let o=0;o<e;o++){let e=t[o];if("function"==typeof e.hasValue&&!e.hasValue())return}let i=!1;const s=[];for(let o=0;o<e;o++){let e=t[o],r=e.next();if(e.hasCompleted()&&(i=!0),r.done)return void n.complete();s.push(r.value)}this.resultSelector?this._tryresultSelector(s):n.next(s),i&&n.complete()}_tryresultSelector(t){let e;try{e=this.resultSelector.apply(this,t)}catch(t){return void this.destination.error(t)}this.destination.next(e)}}class Ep{constructor(t){this.iterator=t,this.nextResult=t.next()}hasValue(){return!0}next(){const t=this.nextResult;return this.nextResult=this.iterator.next(),t}hasCompleted(){const t=this.nextResult;return t&&t.done}}class Cp{constructor(t){this.array=t,this.index=0,this.length=0,this.length=t.length}[A](){return this}next(t){const e=this.index++;return e<this.length?{value:this.array[e],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class Lp extends B{constructor(t,e,n){super(t),this.parent=e,this.observable=n,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[A](){return this}next(){const t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(t,e,n,i,s){this.buffer.push(e),this.parent.checkIterators()}subscribe(t,e){return V(this,this.observable,this,e)}}class kp{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Sp(t,this.compare,this.keySelector))}}class Sp extends y{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e=t;if(this.keySelector&&(e=p(this.keySelector)(t))===u)return this.destination.error(u.e);let n=!1;if(this.hasKey){if((n=p(this.compare)(this.key,e))===u)return this.destination.error(u.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))}}function Tp(t,e){return"function"==typeof e?n=>n.pipe(Tp((n,i)=>G(t(n,i)).pipe(j((t,s)=>e(n,t,i,s))))):e=>e.lift(new Ip(t))}class Ip{constructor(t){this.project=t}call(t,e){return e.subscribe(new Pp(t,this.project))}}class Pp extends B{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(t){return void this.destination.error(t)}this._innerSub(e,t,n)}_innerSub(t,e,n){const i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=V(this,t,e,n))}_complete(){const{innerSubscription:t}=this;t&&!t.closed||super._complete()}_unsubscribe(){this.innerSubscription=null}notifyComplete(t){this.remove(t),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(t,e,n,i,s){this.destination.next(e)}}var Mp=n("Yoyx");function Dp(...t){let e;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&l(t[0])&&(t=t[0]),0===t.length?Ql:e?Dp(t).pipe(j(t=>e(...t))):new x(e=>new Ap(e,t))}class Ap extends B{constructor(t,e){super(t),this.sources=e,this.completed=0,this.haveValues=0;const n=e.length;this.values=new Array(n);for(let i=0;i<n;i++){const t=V(this,e[i],null,i);t&&this.add(t)}}notifyNext(t,e,n,i,s){this.values[n]=e,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(t){const{destination:e,haveValues:n,values:i}=this,s=i.length;t._hasValue?(this.completed++,this.completed===s&&(n===s&&e.next(i),e.complete())):e.complete()}}class Op{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class Rp extends Op{get formDirective(){return null}get path(){return null}}function Np(t){return null==t||0===t.length}const Fp=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class zp{static min(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}static max(t){return e=>{if(Np(e.value)||Np(t))return null;const n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}static required(t){return Np(t.value)?{required:!0}:null}static requiredTrue(t){return!0===t.value?null:{required:!0}}static email(t){return Np(t.value)?null:Fp.test(t.value)?null:{email:!0}}static minLength(t){return e=>{if(Np(e.value))return null;const n=e.value?e.value.length:0;return n<t?{minlength:{requiredLength:t,actualLength:n}}:null}}static maxLength(t){return e=>{const n=e.value?e.value.length:0;return n>t?{maxlength:{requiredLength:t,actualLength:n}}:null}}static pattern(t){if(!t)return zp.nullValidator;let e,n;return"string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),t=>{if(Np(t.value))return null;const i=t.value;return e.test(i)?null:{pattern:{requiredPattern:n,actualValue:i}}}}static nullValidator(t){return null}static compose(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return jp(function(t,n){return e.map(e=>e(t))}(t))}}static composeAsync(t){if(!t)return null;const e=t.filter(Vp);return 0==e.length?null:function(t){return Dp(function(t,n){return e.map(e=>e(t))}(t).map(Bp)).pipe(j(jp))}}}function Vp(t){return null!=t}function Bp(t){const e=Pe(t)?G(t):t;if(!Me(e))throw new Error("Expected validator to return Promise or Observable.");return e}function jp(t){const e=t.reduce((t,e)=>null!=e?Object.assign({},t,e):t,{});return 0===Object.keys(e).length?null:e}const Hp=new rt("NgValueAccessor"),Zp=new rt("CompositionEventMode");class Up{constructor(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=ec()?ec().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}function Gp(t){return t.validate?e=>t.validate(e):t}function $p(t){return t.validate?e=>t.validate(e):t}function qp(){throw new Error("unimplemented")}class Wp extends Op{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return qp()}get asyncValidator(){return qp()}}class Kp{constructor(){this._accessors=[]}add(t,e){this._accessors.push([t,e])}remove(t){for(let e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)}select(t){this._accessors.forEach(e=>{this._isSameGroup(e,t)&&e[1]!==t&&e[1].fireUncheck(t.value)})}_isSameGroup(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name}}const Yp={formControlName:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupName:'\n <div [formGroup]="myGroup">\n <div formGroupName="person">\n <input formControlName="firstName">\n </div>\n </div>\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',formArrayName:'\n <div [formGroup]="myGroup">\n <div formArrayName="cities">\n <div *ngFor="let city of cityArray.controls; index as i">\n <input [formControlName]="i">\n </div>\n </div>\n </div>\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',ngModelGroup:'\n <form>\n <div ngModelGroup="person">\n <input [(ngModel)]="person.name" name="firstName">\n </div>\n </form>',ngModelWithFormGroup:'\n <div [formGroup]="myGroup">\n <input formControlName="firstName">\n <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n </div>\n '};class Qp{static controlParentException(){throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formControlName}`)}static ngModelGroupException(){throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${Yp.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${Yp.ngModelGroup}`)}static missingFormException(){throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${Yp.formControlName}`)}static groupParentException(){throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formGroupName}`)}static arrayParentException(){throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${Yp.formArrayName}`)}static disabledAttrWarning(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")}static ngModelWarning(t){console.warn(`\n It looks like you're using ngModel on the same form field as ${t}. \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===t?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `)}}function Xp(t,e){return[...e.path,t]}function Jp(t,e){t||im(e,"Cannot find control with"),e.valueAccessor||im(e,"No value accessor for form control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&tm(t,e)})}(t,e),function(t,e){t.registerOnChange((t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&tm(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(t=>{e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())}),e._rawAsyncValidators.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(()=>t.updateValueAndValidity())})}function tm(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function em(t,e){null==t&&im(e,"Cannot find control with"),t.validator=zp.compose([t.validator,e.validator]),t.asyncValidator=zp.composeAsync([t.asyncValidator,e.asyncValidator])}function nm(t){return im(t,"There is no FormControl instance attached to form control element with")}function im(t,e){let n;throw n=t.path.length>1?`path: '${t.path.join(" -> ")}'`:t.path[0]?`name: '${t.path}'`:"unspecified name attribute",new Error(`${e} ${n}`)}function sm(t){return null!=t?zp.compose(t.map(Gp)):null}function om(t){return null!=t?zp.composeAsync(t.map($p)):null}function rm(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!vt(e,n.currentValue)}const am=[class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=(t=>{}),this.onTouched=(()=>{})}writeValue(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)}registerOnChange(t){this.onChange=(e=>{t(""==e?null:parseFloat(e))})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){this.value=t;const e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=function(t,e){return null==t?`${e}`:(e&&"object"==typeof e&&(e="Object"),`${t}: ${e}`.slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(t){this.onChange=(e=>{this.value=this._getOptionValue(e),t(this.value)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e),t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t}},class{constructor(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=(t=>{}),this.onTouched=(()=>{}),this._compareWith=vt}set compareWith(t){if("function"!=typeof t)throw new Error(`compareWith must be a function, but received ${JSON.stringify(t)}`);this._compareWith=t}writeValue(t){let e;if(this.value=t,Array.isArray(t)){const n=t.map(t=>this._getOptionId(t));e=((t,e)=>{t._setSelected(n.indexOf(e.toString())>-1)})}else e=((t,e)=>{t._setSelected(!1)});this._optionMap.forEach(e)}registerOnChange(t){this.onChange=(e=>{const n=[];if(e.hasOwnProperty("selectedOptions")){const t=e.selectedOptions;for(let e=0;e<t.length;e++){const i=t.item(e),s=this._getOptionValue(i.value);n.push(s)}}else{const t=e.options;for(let e=0;e<t.length;e++){const i=t.item(e);if(i.selected){const t=this._getOptionValue(i.value);n.push(t)}}}this.value=n,t(n)})}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_registerOption(t){const e=(this._idCounter++).toString();return this._optionMap.set(e,t),e}_getOptionId(t){for(const e of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(e)._value,t))return e;return null}_getOptionValue(t){const e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t}},class{constructor(t,e,n,i){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=i,this.onChange=(()=>{}),this.onTouched=(()=>{})}ngOnInit(){this._control=this._injector.get(Wp),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=(()=>{t(this.value),this._registry.select(this)})}fireUncheck(t){this.writeValue(t)}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <input type="radio" formControlName="food" name="food">\n ')}}];function lm(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function hm(t,e){if(!e)return null;Array.isArray(e)||im(t,"Value accessor was not provided as an array for form control with");let n=void 0,i=void 0,s=void 0;return e.forEach(e=>{e.constructor===Up?n=e:function(t){return am.some(e=>t.constructor===e)}(e)?(i&&im(t,"More than one built-in value accessor matches form control with"),i=e):(s&&im(t,"More than one custom value accessor matches form control with"),s=e)}),s||i||n||(im(t,"No valid value accessor for form control with"),null)}function um(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}function cm(t,e,n,i){bn()&&"never"!==i&&((null!==i&&"once"!==i||e._ngModelWarningSentOnce)&&("always"!==i||n._ngModelWarningSent)||(Qp.ngModelWarning(t),e._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))}class dm extends Rp{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){}}class pm{constructor(t){this._cd=t}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class mm extends pm{constructor(t){super(t)}}class fm extends pm{constructor(t){super(t)}}const _m="VALID",gm="INVALID",ym="PENDING",vm="DISABLED";function bm(t){const e=xm(t)?t.validators:t;return Array.isArray(e)?sm(e):e||null}function wm(t,e){const n=xm(e)?e.asyncValidators:t;return Array.isArray(n)?om(n):n||null}function xm(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class Em{constructor(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=(()=>{}),this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===_m}get invalid(){return this.status===gm}get pending(){return this.status==ym}get disabled(){return this.status===vm}get enabled(){return this.status!==vm}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this.validator=bm(t)}setAsyncValidators(t){this.asyncValidator=wm(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ym,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){this.status=vm,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign({},t,{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){this.status=_m,this._forEachChild(e=>{e.enable(Object.assign({},t,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(t),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==_m&&this.status!==ym||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vm:_m}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ym;const e=Bp(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>this.setErrors(e,{emitEvent:t}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce((t,e)=>t instanceof Lm?t.controls[e]||null:t instanceof km&&t.at(e)||null,t))}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new on,this.statusChanges=new on}_calculateStatus(){return this._allControlsDisabled()?vm:this.errors?gm:this._anyControlsHaveStatus(ym)?ym:this._anyControlsHaveStatus(gm)?gm:_m}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){xm(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}}class Cm extends Em{constructor(t=null,e,n){super(bm(e),wm(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=(()=>{})}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class Lm extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof Cm?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>t(this.controls[e],e))}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){let e=!1;return this._forEachChild((n,i)=>{e=e||this.contains(i)&&t(n)}),e}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class km extends Em{constructor(t,e,n){super(bm(e),wm(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(t){return this.controls[t]}push(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()}insert(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()}removeAt(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity()}setControl(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e),this._updatePristine(e),this._updateTouched(e)}getRawValue(){return this.controls.map(t=>t instanceof Cm?t.value:t.getRawValue())}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const Sm=Promise.resolve(null);class Tm extends Rp{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new on,this.form=new Lm({},sm(t),om(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Sm.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Jp(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),um(this._directives,t)})}addFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path),n=new Lm({});em(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Sm.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){Sm.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,lm(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}const Im=new rt("NgModelWithFormControlWarning");class Pm extends Wp{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new on,this._ngModelWarningSent=!1,this._rawValidators=t||[],this._rawAsyncValidators=e||[],this.valueAccessor=hm(this,n)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._isControlChanged(t)&&(Jp(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),rm(t,this.viewModel)&&(cm("formControl",Pm,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}get path(){return[]}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}Pm._ngModelWarningSentOnce=!1;class Mm extends Rp{constructor(t,e){super(),this._validators=t,this._asyncValidators=e,this.submitted=!1,this.directives=[],this.form=null,this.ngSubmit=new on}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Jp(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){um(this.directives,t)}addFormGroup(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormGroup(t){}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){const e=this.form.get(t.path);em(e,t),e.updateValueAndValidity({emitEvent:!1})}removeFormArray(t){}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,lm(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=this.form.get(t.path);t.control!==e&&(function(t,e){e.valueAccessor.registerOnChange(()=>nm(e)),e.valueAccessor.registerOnTouched(()=>nm(e)),e._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),e._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(null)}),t&&t._clearChangeFns()}(t.control,t),e&&Jp(e,t),t.control=e)}),this.form._updateTreeValidity({emitEvent:!1})}_updateRegistrations(){this.form._registerOnCollectionChange(()=>this._updateDomValue()),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{}),this._oldForm=this.form}_updateValidators(){const t=sm(this._validators);this.form.validator=zp.compose([this.form.validator,t]);const e=om(this._asyncValidators);this.form.asyncValidator=zp.composeAsync([this.form.asyncValidator,e])}_checkFormPresent(){this.form||Qp.missingFormException()}}class Dm extends dm{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}_checkParentType(){Om(this._parent)&&Qp.groupParentException()}}class Am extends Rp{constructor(t,e,n){super(),this._parent=t,this._validators=e,this._asyncValidators=n}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Xp(this.name,this._parent)}get validator(){return sm(this._validators)}get asyncValidator(){return om(this._asyncValidators)}_checkParentType(){Om(this._parent)&&Qp.arrayParentException()}}function Om(t){return!(t instanceof Dm||t instanceof Mm||t instanceof Am)}class Rm extends Wp{constructor(t,e,n,i,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new on,this._ngModelWarningSent=!1,this._parent=t,this._rawValidators=e||[],this._rawAsyncValidators=n||[],this.valueAccessor=hm(this,i)}set isDisabled(t){Qp.disabledAttrWarning()}ngOnChanges(t){this._added||this._setUpControl(),rm(t,this.viewModel)&&(cm("formControlName",Rm,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return Xp(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return sm(this._rawValidators)}get asyncValidator(){return om(this._rawAsyncValidators)}_checkParentType(){!(this._parent instanceof Dm)&&this._parent instanceof dm?Qp.ngModelGroupException():this._parent instanceof Dm||this._parent instanceof Mm||this._parent instanceof Am||Qp.controlParentException()}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}Rm._ngModelWarningSentOnce=!1;class Nm{group(t,e=null){const n=this._reduceControls(t);return new Lm(n,null!=e?e.validator:null,null!=e?e.asyncValidator:null)}control(t,e,n){return new Cm(t,e,n)}array(t,e,n){const i=t.map(t=>this._createControl(t));return new km(i,e,n)}_reduceControls(t){const e={};return Object.keys(t).forEach(n=>{e[n]=this._createControl(t[n])}),e}_createControl(t){return t instanceof Cm||t instanceof Lm||t instanceof km?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}class Fm{}class zm{}class Vm{static withConfig(t){return{ngModule:Vm,providers:[{provide:Im,useValue:t.warnOnNgModelWithFormControl}]}}}n("INa4");var Bm=function(){function t(){}return t.mapToArray=function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},t.handleEvent=function(t,e,n){0<e.observers.length&&t.run(function(){e.emit(n)})},t}(),jm=function(){function t(t,e){this.element=t,this.zone=e,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=Object(jd.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new on,this.zoomChange=new on,this.centerChange=new on,this.onClick=new on,this.onDoubleClick=new on,this.onMouseDown=new on,this.onMouseUp=new on,this.onMouseMove=new on,this.onMouseOver=new on,this.onMapMove=new on,this.onMapMoveStart=new on,this.onMapMoveEnd=new on,this.onMapZoom=new on,this.onMapZoomStart=new on,this.onMapZoomEnd=new on}return t.prototype.ngOnInit=function(){var t=this;this.zone.runOutsideAngular(function(){t.map=Object(jd.map)(t.element.nativeElement,t.options),t.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)},t.prototype.ngOnChanges=function(t){t.zoom&&t.center&&null!=this.zoom&&null!=this.center?this.setView(t.center.currentValue,t.zoom.currentValue):t.zoom?this.setZoom(t.zoom.currentValue):t.center&&this.setCenter(t.center.currentValue),t.fitBounds&&this.setFitBounds(t.fitBounds.currentValue),t.maxBounds&&this.setMaxBounds(t.maxBounds.currentValue),t.minZoom&&this.setMinZoom(t.minZoom.currentValue),t.maxZoom&&this.setMaxZoom(t.maxZoom.currentValue)},t.prototype.getMap=function(){return this.map},t.prototype.onResize=function(){this.delayResize()},t.prototype.addMapEventListeners=function(){var t=this;this.map.on("click",function(e){return Bm.handleEvent(t.zone,t.onClick,e)}),this.map.on("dblclick",function(e){return Bm.handleEvent(t.zone,t.onDoubleClick,e)}),this.map.on("mousedown",function(e){return Bm.handleEvent(t.zone,t.onMouseDown,e)}),this.map.on("mouseup",function(e){return Bm.handleEvent(t.zone,t.onMouseUp,e)}),this.map.on("mouseover",function(e){return Bm.handleEvent(t.zone,t.onMouseOver,e)}),this.map.on("mousemove",function(e){return Bm.handleEvent(t.zone,t.onMouseMove,e)}),this.map.on("zoomstart",function(e){return Bm.handleEvent(t.zone,t.onMapZoomStart,e)}),this.map.on("zoom",function(e){return Bm.handleEvent(t.zone,t.onMapZoom,e)}),this.map.on("zoomend",function(e){return Bm.handleEvent(t.zone,t.onMapZoomEnd,e)}),this.map.on("movestart",function(e){return Bm.handleEvent(t.zone,t.onMapMoveStart,e)}),this.map.on("move",function(e){return Bm.handleEvent(t.zone,t.onMapMove,e)}),this.map.on("moveend",function(e){return Bm.handleEvent(t.zone,t.onMapMoveEnd,e)}),this.map.on("zoomend moveend",function(){var e=t.map.getZoom();e!==t.zoom&&(t.zoom=e,Bm.handleEvent(t.zone,t.zoomChange,e));var n=t.map.getCenter();null==n&&null==t.center||(null!=n&&null!=t.center||n===t.center)&&n.lat===t.center.lat&&n.lng===t.center.lng||(t.center=n,Bm.handleEvent(t.zone,t.centerChange,n))})},t.prototype.doResize=function(){var t=this;this.zone.runOutsideAngular(function(){t.map.invalidateSize({})})},t.prototype.delayResize=function(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)},t.prototype.setView=function(t,e){this.map&&null!=t&&null!=e&&this.map.setView(t,e,this.zoomPanOptions)},t.prototype.setZoom=function(t){this.map&&null!=t&&this.map.setZoom(t,this.zoomOptions)},t.prototype.setCenter=function(t){this.map&&null!=t&&this.map.panTo(t,this.panOptions)},t.prototype.setFitBounds=function(t){this.map&&null!=t&&this.map.fitBounds(t,this.fitBoundsOptions)},t.prototype.setMaxBounds=function(t){this.map&&null!=t&&this.map.setMaxBounds(t)},t.prototype.setMinZoom=function(t){this.map&&null!=t&&this.map.setMinZoom(t)},t.prototype.setMaxZoom=function(t){this.map&&null!=t&&this.map.setMaxZoom(t)},t}(),Hm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}(),Zm=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();const Um=function(t,e){switch(typeof t){case"number":this.lonDeg=this.dec2deg(t,this.MAX_LON),this.lonDec=t;break;case"string":this.decode(t)&&(this.lonDeg=t),this.lonDec=this.deg2dec(t,this.MAX_LON)}switch(typeof e){case"number":this.latDeg=this.dec2deg(e,this.MAX_LAT),this.latDec=e;break;case"string":this.decode(e)&&(this.latDeg=e),this.latDec=this.deg2dec(e,this.MAX_LAT)}};Um.prototype={CHAR_DEG:"\xb0",CHAR_MIN:"'",CHAR_SEC:'"',CHAR_SEP:" ",MAX_LON:180,MAX_LAT:90,lonDec:NaN,latDec:NaN,lonDeg:NaN,latDeg:NaN,dec2deg:function(t,e){const n=t<0?-1:1,i=Math.abs(Math.round(1e6*t));if(i>1e6*e)return NaN;const s=i%1e6/1e6,o=Math.floor(i/1e6)*n,r=Math.floor(60*s);let a="";return a+=o,a+=this.CHAR_DEG,a+=this.CHAR_SEP,a+=r,a+=this.CHAR_MIN,a+=this.CHAR_SEP,(a+=(3600*(s-r/60)).toFixed(2))+this.CHAR_SEC},deg2dec:function(t){const e=this.decode(t);if(!e)return NaN;const n=parseFloat(e[1]),i=parseFloat(e[2]),s=parseFloat(e[3]);return isNaN(n)||isNaN(i)||isNaN(s)?NaN:n+i/60+s/3600},decode:function(t){let e="";return e+="(-?\\d+)",e+=this.CHAR_DEG,e+="\\s*",e+="(\\d+)",e+=this.CHAR_MIN,e+="\\s*",e+="(\\d+(?:\\.\\d+)?)",e+=this.CHAR_SEC,t.match(new RegExp(e))},getLonDec:function(){return this.lonDec},getLatDec:function(){return this.latDec},getLonDeg:function(){return this.lonDeg},getLatDeg:function(){return this.latDeg}};const Gm=function(t,e,n){const i=$m(),s=Object(jd.marker)([t,e],{icon:i,draggable:!0});return s.on("dragend",function(t){return n(t)}),s},$m=function(){return Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconAnchor:[13,40]})},qm={radius:6,fillColor:"#ff7800",color:"#000",weight:1,opacity:1,fillOpacity:.8},Wm={color:"#ff7800",weight:5,opacity:.65},Km=()=>Object(jd.icon)({iconUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/photo-marker-icon.png",shadowUrl:"./cel/widget/modules/apa/squelettes/js/tb-geoloc/assets/img/map/marker-shadow.png",iconSize:[33,41],iconAnchor:[13,40],popupAnchor:[5,-41]});function Ym(t){try{let e;" "===(t=t.replace(/\s\s+/g," ")).charAt(0)&&(t=t.slice(1,t.length-1)),t=(t=t.replace(",",".")).replace(/[^0-9\-.,\xb0\'"\s]/g,"");let n="",i="",s="",o=t.split(" ");" "===t.charAt(t.length-1)&&(o=o.slice(0,o.length-1)),""===o[o.length-1]&&(o=o.slice(0,o.length-1)),1===o.length&&(-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90")),2===o.length&&(i=o[1],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),3===o.length&&(i=o[1],s=o[2],-1!==(n=o[0]).indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90")),o.length>=4&&(o=o.slice(0,2),-1!==n.indexOf(".")&&(n=n.slice(0,n.indexOf("."))),-1!==i.indexOf(".")&&(i=i.slice(0,n.indexOf("."))),Number(n)<-90&&(n="-90"),Number(n)>90&&(n="90"),Number(i)<-90&&(i="-90"),Number(i)>90&&(i="90"));try{e=t.match(/\s/g).length}catch(t){e=0}if(0===e&&1===o.length);else if(1===e&&o.length>=1)"\xb0"!==(n=n.replace(" ","")).slice(n.length-1,n.length)?n+="\xb0 ":n+=" ";else if(2===e&&o.length>=2)n=n.replace(" ",""),i=i.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ";else{if(!(3===e&&o.length>=3))throw{error:"Can't manage input string."};n=n.replace(" ",""),i=i.replace(" ",""),s=s.replace(" ",""),"\xb0"!==n.slice(n.length-1,n.length)?n+="\xb0 ":n+=" ","'"!==i.slice(i.length-1,i.length)?i+="' ":i+=" ",'"'!==s.slice(s.length-1,s.length)&&(s+='"')}return n+i+s}catch(e){return t}}class Qm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}geocode(t,e){return null===t?Xl():"osm"===e.toLowerCase()?this.geocodeUsingOSM(t):"mapquest"===e.toLowerCase()?this.geocodeUsingMapQuest(t):void 0}reverse(t,e,n){return"osm"===n.toLowerCase()?this.reverseUsingOSM(t,e):"mapquest"===n.toLowerCase()?this.reverseUsingMapQuest(t,e):void 0}getReadbleAddress(t,e){if("osm"===e.toLowerCase())return this.getNominatimReadbleAddress(t);if("mapquest"===e.toLowerCase()){if(Object(Mp.isDefined)(t.results))return this.getMapQuestReadableAddress(t);if(Object(Mp.isDefined)(t.address))return this.getNominatimReadbleAddress(t)}}geocodeUsingOSM(t){return this.http.get(`https://nominatim.openstreetmap.org/?format=json&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}geocodeUsingMapQuest(t){return this.http.get(`https://open.mapquestapi.com/nominatim/v1/search.php?key=${this.mapQuestApiKey}&addressdetails=1&q=${t}&format=json&limit=10&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingOSM(t,e){return this.http.get(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&polygon_geojson=1`).pipe(j(t=>t))}reverseUsingMapQuest(t,e){return this.http.get(`https://open.mapquestapi.com/geocoding/v1/reverse?key=${this.mapQuestApiKey}&location=${t},${e}`).pipe(j(t=>t))}getNominatimReadbleAddress(t){let e=null,n=null,i=null,s=null;return Object(Mp.isDefined)(t.address.city)?e=t.address.city:Object(Mp.isDefined)(t.address.town)?e=t.address.town:Object(Mp.isDefined)(t.address.village)?e=t.address.village:Object(Mp.isDefined)(t.address.hamlet)&&(e=t.address.hamlet),Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e?n=t.address.suburb+", "+t.address.postcode:!Object(Mp.isDefined)(t.address.suburb)&&Object(Mp.isDefined)(t.address.postcode)&&null!==e&&(n=t.address.postcode),Object(Mp.isDefined)(t.address.road)?i=t.address.road:Object(Mp.isDefined)(t.address.pedestrian)&&(i=t.address.pedestrian),Object(Mp.isDefined)(t.address.neighbourhood)&&(s=t.address.neighbourhood),i&&s&&n&&e?i+" ("+s+") "+n+" "+e:i&&!s&&n&&e?i+" "+n+" "+e:i&&!s&&!n&&e?i+", "+e:!i&&s&&n&&e?s+" "+n+" "+e:!i&&!s&&n&&e?n+" "+e:i||s||n||!e?t.display_name:e}getMapQuestReadableAddress(t){const e=t.results[0].locations[0];let n=null,i=null,s=null,o=null;return n=e.adminArea5,i=e.adminArea4,o=e.adminArea6,(s=e.street)&&o&&i&&n?s+" ("+o+") "+i+" "+n:s&&!o&&i&&n?s+" "+i+" "+n:s&&!o&&!i&&n?s+", "+n:!s&&o&&i&&n?o+" "+i+" "+n:!s&&!o&&i&&n?i+" "+n:s||o||i||!n?void 0:n}osmClassFilter(t,e){const n=[];return t.length>0&&e.length>0?(e.forEach(e=>{let i=0,s=!1;t.forEach(t=>{const n=t.split(":")[0],o=t.split(":")[1];"*"===o?e.class===n&&i++:"!"===o.substr(0,1)?e.class===n&&"!"+e.type===o&&(s=!0):e.class===n&&e.type===o&&i++}),i>0&&!s&&n.push(e)}),Jl(n)):Jl(e)}reverseCorrdinatesArray(t){if(t.length>0)return t.forEach(t=>{t.reverse()}),t}simplifyPolyline(t){return t.length>1?[t[0],t[t.length-1]]:t}getInseeData(t,e){return this.http.get(`https://geo.api.gouv.fr/communes?lat=${t}&lon=${e}`).pipe(j(t=>t[0]))}}Qm.ngInjectableDef=ot({factory:function(){return new Qm(te(sp))},token:Qm,providedIn:"root"});class Xm{constructor(t){this.http=t,this.mapQuestApiKey=null}setMapQuestApiKey(t){null!==t&&(this.mapQuestApiKey=t)}getElevation(t,e,n){return"openelevation"===n.toLowerCase()?this.getOpenElevation(t,e):"mapquest"===n.toLowerCase()&&null!==this.mapQuestApiKey?this.getMapQuestElevation(t,e):Jl(-1)}getOpenElevation(t,e){return this.http.get(`https://api.open-elevation.com/api/v1/lookup?locations=${t},${e}`).pipe(j(t=>t.results[0].elevation))}getMapQuestElevation(t,e){return this.http.get(`https://open.mapquestapi.com/elevation/v1/profile?key=${this.mapQuestApiKey}&shapeFormat=raw&latLngCollection=${t},${e}`).pipe(j(t=>t.elevationProfile[0].height))}}Xm.ngInjectableDef=ot({factory:function(){return new Xm(te(sp))},token:Xm,providedIn:"root"});class Jm{constructor(t,e,n,i){this.fb=t,this.geocodeService=e,this.elevationService=n,this.zone=i,this.layersToAdd=["osm"],this.osmClassFilter=[],this.allowEditDrawnItems=!1,this.marker=!0,this.polyline=!1,this.polygon=!1,this.latLngInit=[46.5588603,2.98828125],this.zoomInit=4,this.getOsmSimpleLine=!1,this.showLatLngElevationInputs=!0,this.elevationProvider="mapQuest",this.geolocationProvider="osm",this.mapQuestApiKey="KpzlEtCq6BmVVf37R1EXV3jWoh20ynCc",this.location=new on,this.coordFormat="dms",this._location={},this.osmPlace=null,this.inseeData=null,this._geolocatedPhotoLatLng=new on,this.geolocatedPhotoLatLngData=[],this.geolocatedPhotoLatLngDisplayedColumnsTable=["select","fileName","lat","lng","altitude"],this.isLoadingAddress=!1,this.isLoadingLatitude=!1,this.isLoadingLongitude=!1,this.isLoadingElevation=!1,this.geoSearchSubscription=new f,this.latDmsInputSubscription=new f,this.lngDmsInputSubscription=new f,this.elevationInputSubscription=new f,this.mapLat=0,this.mapLng=0,this.osmLayer=Object(jd.tileLayer)("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:18,attribution:"Open Street map"}),this.openTopoMapLayer=Object(jd.tileLayer)("https://a.tile.opentopomap.org/{z}/{x}/{y}.png",{maxZoom:17,attribution:"OpenTopoMap"}),this.googleHybridLayer=Object(jd.tileLayer)("https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}",{maxZoom:20,subdomains:["mt0","mt1","mt2","mt3"],attribution:"Google maps"}),this.brgmLayer=jd.tileLayer.wms("http://geoservices.brgm.fr/geologie",{version:"1.3.0",layers:"Geologie"}),this.mapLayers={},this.geoResultsLayer=Object(jd.geoJSON)(null,{style:function(){return{color:"#ff7800",weight:5,opacity:.65}}}),this.geolocatedPhotoLatLngLayer=Object(jd.geoJSON)(),this.drawnItems=new jd.FeatureGroup,this.circleMarkerOpt=qm,this.geoResultsOpt=Wm}set geolocatedPhotoLatLng(t){this._geolocatedPhotoLatLng.emit(t)}set reset(t){!0===t&&this.resetComponent()}set patchAddress(t){t&&null!==t&&this._patchAddress(t)}set patchElevation(t){t&&null!==t&&this._patchElevation(t)}set patchLatLngDec(t){t&&null!==t&&this._patchLatLngDec(t[0],t[1])}set patchGeometry(t){t&&null!==t&&this._patchGeometry(t)}set drawMarker(t){t&&null!==t&&this._drawMarker(t[0],t[1])}ngOnInit(){switch(this.initApi(),this.latlngFormGroup=this.fb.group({latInput:this.fb.control("",[zp.required,this.latLngDecValidator]),lngInput:this.fb.control("",[zp.required,this.latLngDecValidator]),dmsLatInput:this.fb.control("",[zp.required,this.latLngDmsValidator]),dmsLngInput:this.fb.control("",[zp.required,this.latLngDmsValidator])}),this.elevationFormGroup=this.fb.group({elevationInput:this.fb.control("",null)}),this.geoSearchFormGroup=this.fb.group({placeInput:this.fb.control("",null)}),this.geoSearchSubscription=this.geoSearchFormGroup.controls.placeInput.valueChanges.pipe(vu(400),t=>t.lift(new kp(void 0,void 0)),Tp(t=>(this.isLoadingAddress=!0,this.geocodeService.geocode(t,this.geolocationProvider)))).subscribe(t=>{this.isLoadingAddress=!1,this.osmClassFilter.length>0?this.geocodeService.osmClassFilter(this.osmClassFilter,t).subscribe(t=>{this.geoSearchResults=t}):this.geoSearchResults=t},t=>{this.isLoadingAddress=!1}),this._geolocatedPhotoLatLng.subscribe(t=>{this.geolocatedPhotoLatLngLayer.clearLayers(),this.geolocatedPhotoLatLngData=t,this.geolocatedPhotoLatLngData.forEach(t=>{const e=new Um(t.lng.deg+"\xb0 "+t.lng.min+"'"+t.lng.sec+'"',t.lat.deg+"\xb0 "+t.lat.min+"'"+t.lat.sec+'"');t.latDec=e.latDec,t.lngDec=e.lonDec;const n=Object(jd.latLng)(t.latDec,t.lngDec),i=new jd.Marker(n,{icon:Km()});i.bindPopup(`\n <b>Fichier "${t.fileName}"</b><br>\n Lat. : ${e.latDeg}<br />\n Lng. : ${e.lonDeg}<br />\n Alt. : ${t.altitude} m<br /><br />\n <b>Cliquez sur le point pour utiliser ces coordonn\xe9es</b>`).openPopup(),i.on("click",e=>{this.gpsMarkerSetValues(t.latDec,t.lngDec,t.altitude)}),i.on("mouseover",t=>{i.openPopup()}),i.on("mouseout",t=>{i.closePopup()}),i.addTo(this.geolocatedPhotoLatLngLayer)}),this.flyToGeolocatedPhotoItems()}),this.elevationInputSubscription=this.elevationFormGroup.controls.elevationInput.valueChanges.pipe(vu(500)).subscribe(t=>{null!==this.osmPlace&&this.bindLocationOutput([t,this.osmPlace,this.inseeData])}),this.mapOptions={layers:[],zoom:this.zoomInit,center:Object(jd.latLng)({lat:this.latLngInit[0],lng:this.latLngInit[1]})},this.drawControlEdit=function(t,e){return new jd.Control.Draw({position:"topleft",draw:{marker:!1,polyline:!1,polygon:!1,rectangle:!1,circle:!1,circlemarker:!1},edit:{featureGroup:t,edit:!0===e&&{},remove:{}}})}(this.drawnItems,this.allowEditDrawnItems),this.drawControlFull=function(t,e,n){return new jd.Control.Draw({position:"topleft",draw:{marker:!!t&&{icon:$m()},polyline:!!e&&{},polygon:!!n&&{showArea:!0,metric:!1},rectangle:!1,circle:!1,circlemarker:!1}})}(this.marker,this.polyline,this.polygon),-1!==this.layersToAdd.indexOf("osm")&&(this.mapLayers.OSM=this.osmLayer),-1!==this.layersToAdd.indexOf("opentopomap")&&(this.mapLayers.OpenTopoMap=this.openTopoMapLayer),-1!==this.layersToAdd.indexOf("google hybrid")&&(this.mapLayers["Google hybride"]=this.googleHybridLayer),-1!==this.layersToAdd.indexOf("brgm")&&(this.mapLayers.BRGM=this.brgmLayer),this.layersToAdd[0]){case"osm":this.mapOptions.layers.push(this.osmLayer);break;case"opentopomap":this.mapOptions.layers.push(this.openTopoMapLayer);break;case"google hybrid":this.mapOptions.layers.push(this.googleHybridLayer);break;case"brgm":this.mapOptions.layers.push(this.brgmLayer)}this.latDmsInputSubscription=this.latlngFormGroup.controls.dmsLatInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLatInput.setValue(Ym(t),{emitEvent:!1})}),this.lngDmsInputSubscription=this.latlngFormGroup.controls.dmsLngInput.valueChanges.subscribe(t=>{this.latlngFormGroup.controls.dmsLngInput.setValue(Ym(t),{emitEvent:!1})})}initApi(){this.elevationService.setMapQuestApiKey(this.mapQuestApiKey),this.geocodeService.setMapQuestApiKey(this.mapQuestApiKey)}ngOnDestroy(){this.geoSearchSubscription.unsubscribe(),this.latDmsInputSubscription.unsubscribe(),this.lngDmsInputSubscription.unsubscribe(),this.elevationInputSubscription.unsubscribe(),this._geolocatedPhotoLatLng.unsubscribe()}onMapReady(t){this.map=t,this.map.addControl(jd.control.layers(null,this.mapLayers,{position:"topright"})),this.map.addLayer(this.drawnItems),this.map.addLayer(this.geoResultsLayer),this.map.addLayer(this.geolocatedPhotoLatLngLayer),this.map.addControl(this.drawControlFull),this.map.on("draw:created",t=>{if(this.drawnItem=t.layer,this.drawType=t.layerType,"marker"===this.drawType){const t=this.drawnItem._latlng;Gm(t.lat,t.lng,t=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}).addTo(this.drawnItems)}else this.drawnItems.addLayer(this.drawnItem);this.drawnItems.getLayers().length>0&&this.setMapEditMode(),1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:edited",t=>{this.drawnItem=t.layer,this.drawType=t.layerType,1===this.drawnItems.getLayers().length&&this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()}),this.flyToDrawnItems()}),this.map.on("draw:deleted",t=>{this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.zone.run(()=>{this.clearForm()})}),this.redrawMap(100)}redrawMap(t){t?window.setTimeout(()=>this.map.invalidateSize(),t):this.map.invalidateSize()}setMapEditMode(){this.map.removeControl(this.drawControlFull),this.map.addControl(this.drawControlEdit)}setMapDrawMode(){this.map.removeControl(this.drawControlEdit),this.map.addControl(this.drawControlFull)}flyToDrawnItems(t=14){const e=this.drawnItems.getBounds();this.map.flyToBounds(e,{maxZoom:t,animate:!1})}flyToGeoResultsItems(){const t=this.geoResultsLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}flyToGeolocatedPhotoItems(){const t=this.geolocatedPhotoLatLngLayer.getBounds();this.map.flyToBounds(t,{maxZoom:14,animate:!1})}addMarkerFromDmsCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(this.latlngFormGroup.controls.dmsLngInput.value,this.latlngFormGroup.controls.dmsLatInput.value);Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.latInput.setValue(t.getLatDec(),{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(t.getLatDec(),{emitEvent:!1}),this.flyToDrawnItems()}addMarkerFromLatLngCoord(){this.clearDrawnItemsLayer(),this.setMapEditMode();const t=new Um(Number(this.latlngFormGroup.controls.lngInput.value),Number(this.latlngFormGroup.controls.latInput.value));Gm(t.getLatDec(),t.getLonDec(),t=>{this.callGeolocElevationApisUsingLatLngInputsValues()}).addTo(this.drawnItems),this.latlngFormGroup.controls.dmsLatInput.setValue(t.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(t.getLonDeg(),{emitEvent:!1}),this.flyToDrawnItems()}addPolyline(t){this.clearDrawnItemsLayer(),this.setMapEditMode(),Object(jd.polyline)(t).addTo(this.drawnItems),this.flyToDrawnItems(18)}callGeolocElevationApisUsingLatLngInputsValues(t=!1,e=!1,n){let i,s,o,r;if(this.osmPlace=null,this.inseeData=null,this.setLatLngInputFromDrawnItems(),this.setLatLngDmsInputFromDrawnItems(),t&&!e)i=bp(this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(e&&!t)i=bp(this.getElevationFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));else if(t||e){if(t&&e)return}else i=bp(this.getElevationFromInputValue(),this.reverseGeocodingFromInputValue(),this.geocodeService.getInseeData(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value));this.isLoadingAddress=!e,this.isLoadingElevation=!t,i.subscribe(i=>{this.isLoadingElevation=!1,this.isLoadingAddress=!1,t&&!e?(s=null,o=i[0],r=i[1]):e&&!t?(s=i,o=null,s=i[0],r=i[1]):e||e||(s=i[0],o=i[1],r=i[2]),this.osmPlace=o,this.inseeData=r,t||this.elevationFormGroup.controls.elevationInput.setValue(s,{emitEvent:!1}),e||this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(o,this.geolocationProvider),{emitEvent:!1}),Object(Mp.isDefined)(n)?n(s,o):this.bindLocationOutput([s,o,r])},t=>{this.isLoadingAddress=!1,this.isLoadingElevation=!1})}setLatLngInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter();this.latlngFormGroup.controls.latInput.setValue(t.lat),this.latlngFormGroup.controls.lngInput.setValue(t.lng)}setLatLngDmsInputFromDrawnItems(){const t=this.drawnItems.getBounds().getCenter(),e=new Um(t.lng,t.lat);this.latlngFormGroup.controls.dmsLatInput.patchValue(e.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(e.getLonDeg())}getElevationFromInputValue(){return this.elevationService.getElevation(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.elevationProvider)}reverseGeocodingFromInputValue(){return this.geocodeService.reverse(this.latlngFormGroup.controls.latInput.value,this.latlngFormGroup.controls.lngInput.value,this.geolocationProvider)}latLngDmsValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\\xb0 [0-9]{1,2}\\' [0-9]{1,2}\\.[0-9]{1,12}\\\"").test(t.value)?null:{malformedLatLngDmsFormat:!0}}latLngDecValidator(t){return new RegExp("^(\\-)?[0-9]{1,2}\\.[0-9]{1,20}").test(t.value)?null:{malformedLatLngDecFormat:!0}}addressSelectedChanged(t){const e=t.option.value,n=new jd.LatLng(e.boundingbox[0],e.boundingbox[2]),i=new jd.LatLng(e.boundingbox[1],e.boundingbox[3]);this.map.fitBounds(Object(jd.latLngBounds)(n,i)),this.clearGeoResultsLayer(),this.geoResultsLayer.addData(e.geojson),this.flyToGeoResultsItems(),this.geoSearchFormGroup.controls.placeInput.patchValue(this.geocodeService.getReadbleAddress(e,this.geolocationProvider),{emitEvent:!1});const s=new Um(Number(e.lon),Number(e.lat));this.latlngFormGroup.controls.latInput.setValue(e.lat,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e.lon,{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue(s.getLatDeg(),{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue(s.getLonDeg(),{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue(e.elevation,{emitEvent:!1}),"LineString"===e.geojson.type?(this.addPolyline(this.geocodeService.reverseCorrdinatesArray(this.getOsmSimpleLine?this.geocodeService.simplifyPolyline(e.geojson.coordinates):e.geojson.coordinates)),this.clearGeoResultsLayer()):this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!1,!0,t=>{let n;n=Array.isArray(t)?t[0]:t,this.osmPlace=e,this.bindLocationOutput([n,e])})}clearForm(){this.latlngFormGroup.controls.latInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLatInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.controls.dmsLngInput.setValue("",{emitEvent:!1}),this.latlngFormGroup.reset("",{emitEvent:!1}),this.elevationFormGroup.controls.elevationInput.setValue("",{emitEvent:!1}),this.elevationFormGroup.reset("",{emitEvent:!1}),this.geoSearchFormGroup.controls.placeInput.setValue("",{emitEvent:!1})}clearGeoResultsLayer(){this.geoResultsLayer.clearLayers()}clearDrawnItemsLayer(){this.drawnItems.clearLayers()}resetLocation(){this._location={}}bindLocationOutput(t){let e,n,i;e=t[0],n=t[1],i=t[2];const s=this.drawnItems.toGeoJSON();if(this._location.geometry=s.features[0].geometry,this._location.elevation=e,this._location.localityConsistency=!!this._location.localityConsistency||null,this._location.locationAccuracy=this._location.locationAccuracy?0:null,this._location.inseeData=i,Object(Mp.isDefined)(n.address)&&(this._location.osmCountry=n.address.country,this._location.osmCountryCode=n.address.country_code,this._location.osmCounty=n.address.county,this._location.osmPostcode=n.address.postcode,n.address.city&&(this._location.locality=n.address.city),n.address.town&&(this._location.locality=n.address.town),n.address.village&&(this._location.locality=n.address.village),this._location.sublocality=n.hamlet,this._location.osmRoad=n.address.road,this._location.osmState=n.address.state,this._location.osmSuburb=n.address.suburb,this._location.osmId=n.osm_id,this._location.osmNeighbourhood=null,this._location.osmPlaceId=n.place_id,this._location.publishedLocation=null,this._location.station=null),Object(Mp.isDefined)(n.results)){const t=n.results[0].locations[0];this._location.osmCountry=t.adminArea1,this._location.osmCountryCode=t.adminArea1,this._location.osmCounty=t.adminArea4,this._location.osmPostcode=t.postalCode,this._location.locality=t.adminArea5,this._location.sublocality=null,this._location.osmRoad=t.street,this._location.osmState=t.adminArea3,this._location.osmSuburb=null,this._location.osmId=null,this._location.osmNeighbourhood=t.adminArea6,this._location.osmPlaceId=null,this._location.publishedLocation=null,this._location.station=null}this.location.next(this._location)}setLatLngInputFormat(t){"decimal"!==t&&"dms"!==t||(this.coordFormat=t)}gpsMarkerSetValues(t,e,n){this.latlngFormGroup.controls.latInput.setValue(t),this.latlngFormGroup.controls.lngInput.setValue(e),this.elevationFormGroup.controls.elevationInput.setValue(n,{emitEvent:!1}),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues(!0,!1),this.geolocatedPhotoLatLngLayer.clearLayers()}resetComponent(){this.clearForm(),this.resetLocation(),this.clearGeoResultsLayer(),this.clearDrawnItemsLayer(),this.setMapDrawMode(),this.map.flyTo({lat:this.latLngInit[0],lng:this.latLngInit[1]},this.zoomInit,{animate:!1})}_patchAddress(t){this.geoSearchFormGroup.controls.placeInput.setValue(t,{emitEvent:!1})}_patchElevation(t){this.elevationFormGroup.controls.elevationInput.setValue(t,{emitEvent:!1})}_patchLatLngDec(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg())}_drawMarker(t,e){this.latlngFormGroup.controls.latInput.setValue(t,{emitEvent:!1}),this.latlngFormGroup.controls.lngInput.setValue(e,{emitEvent:!1});const n=new Um(e,t);this.latlngFormGroup.controls.dmsLatInput.patchValue(n.getLatDeg()),this.latlngFormGroup.controls.dmsLngInput.patchValue(n.getLonDeg()),this.addMarkerFromLatLngCoord(),this.callGeolocElevationApisUsingLatLngInputsValues()}_patchGeometry(t){this.clearDrawnItemsLayer();for(const e of t){if("point"===e.type.toLowerCase()){const n=Object(jd.latLng)(e.coordinates[0],e.coordinates[1]);let i;1===t.length?i=Gm(e.coordinates[0],e.coordinates[1],()=>{this.zone.run(()=>{this.callGeolocElevationApisUsingLatLngInputsValues()})}):t.length>1&&(i=new jd.Marker(n,{icon:$m()})),i.addTo(this.drawnItems)}if("linestring"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polyline(t).addTo(this.drawnItems)}if("polygon"===e.type.toLowerCase()){const t=[];for(const n of e.coordinates)t.push(new jd.LatLng(n[0],n[1]));new jd.Polygon(t).addTo(this.drawnItems)}}this.setMapEditMode(),this.flyToDrawnItems()}}class tf{constructor(t){this.geocodeService=t}transform(t,e){return this.geocodeService.getReadbleAddress(t,e)}}class ef{}function nf(t){switch(t.length){case 0:return new fa;case 1:return t[0];default:return new _a(t)}}function sf(t,e,n,i,s={},o={}){const r=[],a=[];let l=-1,h=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&h||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,r),a){case ga:a=s[n];break;case ca:a=o[n];break;default:a=e.normalizeStyleValue(n,i,a,r)}u[i]=a}),i||a.push(u),h=u,l=n}),r.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${r.join(t)}`)}return a}function of(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&rf(n,"start",t)));break;case"done":t.onDone(()=>i(n&&rf(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&rf(n,"destroy",t)))}}function rf(t,e,n){const i=n.totalTime,s=af(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,void 0==i?t.totalTime:i,!!n.disabled),o=t._data;return null!=o&&(s._data=o),s}function af(t,e,n,i,s="",o=0,r){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:s,totalTime:o,disabled:!!r}}function lf(t,e,n){let i;return t instanceof Map?(i=t.get(e))||t.set(e,i=n):(i=t[e])||(i=t[e]=n),i}function hf(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let uf=(t,e)=>!1,cf=(t,e)=>!1,df=(t,e,n)=>[];if("undefined"!=typeof Element){if(uf=((t,e)=>t.contains(e)),Element.prototype.matches)cf=((t,e)=>t.matches(e));else{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;e&&(cf=((t,n)=>e.apply(t,[n])))}df=((t,e,n)=>{let i=[];if(n)i.push(...t.querySelectorAll(e));else{const n=t.querySelector(e);n&&i.push(n)}return i})}let pf=null,mf=!1;function ff(t){pf||(pf=_f()||{},mf=!!pf.style&&"WebkitAppearance"in pf.style);let e=!0;return pf.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in pf.style)&&mf&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in pf.style),e}function _f(){return"undefined"!=typeof document?document.body:null}const gf=cf,yf=uf,vf=df;function bf(t){const e={};return Object.keys(t).forEach(n=>{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}class wf{}wf.NOOP=new class{validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,s,o=[],r){return new fa(n,i)}};const xf=1e3,Ef="{{",Cf="ng-enter",Lf="ng-leave",kf="ng-trigger",Sf=".ng-trigger",Tf="ng-animating",If=".ng-animating";function Pf(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Mf(parseFloat(e[1]),e[2])}function Mf(t,e){switch(e){case"s":return t*xf;default:return t}}function Df(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,s=0,o="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Mf(parseFloat(n[1]),n[2]);const r=n[3];null!=r&&(s=Mf(Math.floor(parseFloat(r)),n[4]));const a=n[5];a&&(o=a)}else i=t;if(!n){let n=!1,o=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(o,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:s,easing:o}}(t,e,n)}function Af(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function Of(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Af(t,n);return n}function Rf(t,e){t.style&&Object.keys(e).forEach(n=>{const i=Zf(n);t.style[i]=e[n]})}function Nf(t,e){t.style&&Object.keys(e).forEach(e=>{const n=Zf(e);t.style[n]=""})}function Ff(t){return Array.isArray(t)?1==t.length?t[0]:da(t):t}const zf=new RegExp(`${Ef}\\s*(.+?)\\s*}}`,"g");function Vf(t){let e=[];if("string"==typeof t){const n=t.toString();let i;for(;i=zf.exec(n);)e.push(i[1]);zf.lastIndex=0}return e}function Bf(t,e,n){const i=t.toString(),s=i.replace(zf,(t,i)=>{let s=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),s=""),s.toString()});return s==i?t:s}function jf(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Hf=/-+([a-z0-9])/g;function Zf(t){return t.replace(Hf,(...t)=>t[1].toUpperCase())}function Uf(t,e){return 0===t||0===e}function Gf(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let o=e[0],r=[];if(i.forEach(t=>{o.hasOwnProperty(t)||r.push(t),o[t]=n[t]}),r.length)for(var s=1;s<e.length;s++){let n=e[s];r.forEach(function(e){n[e]=qf(t,e)})}}return e}function $f(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error(`Unable to resolve animation metadata node #${e.type}`)}}function qf(t,e){return window.getComputedStyle(t)[e]}const Wf="*",Kf=new Set(["true","1"]),Yf=new Set(["false","0"]);function Qf(t,e){const n=Kf.has(t)||Yf.has(t),i=Kf.has(e)||Yf.has(e);return(s,o)=>{let r=t==Wf||t==s,a=e==Wf||e==o;return!r&&n&&"boolean"==typeof s&&(r=s?Kf.has(t):Yf.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Kf.has(e):Yf.has(e)),r&&a}}const Xf=":self",Jf=new RegExp(`s*${Xf}s*,?`,"g");function t_(t,e,n){return new n_(t).build(e,n)}const e_="";class n_{constructor(t){this._driver=t}build(t,e){const n=new i_(e);return this._resetContextStyleTimingState(n),$f(this,Ff(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector=e_,t.collectedStyles={},t.collectedStyles[e_]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const s=[],o=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,s.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const s=this.visitTransition(t,e);n+=s.queryCount,i+=s.depCount,o.push(s)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:o,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const s=new Set,o=i||{};if(n.styles.forEach(t=>{if(s_(t)){const e=t;Object.keys(e).forEach(t=>{Vf(e[t]).forEach(t=>{o.hasOwnProperty(t)||s.add(t)})})}}),s.size){const n=jf(s.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=$f(this,Ff(t.animation),e);return{type:1,matchers:function(t,e){const n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(t=>(function(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e)<parseFloat(t);default:return e.push(`The transition alias value "${t}" is not supported`),"* => *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const s=i[1],o=i[2],r=i[3];e.push(Qf(s,r)),"<"!=o[0]||s==Wf&&r==Wf||e.push(Qf(r,s))})(t,n,e)):n.push(t),n}(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:o_(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>$f(this,t,e)),options:o_(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const s=t.steps.map(t=>{e.currentTime=n;const s=$f(this,t,e);return i=Math.max(i,e.currentTime),s});return e.currentTime=i,{type:3,steps:s,options:o_(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return r_(Df(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=r_(0,0,"");return t.dynamic=!0,t.strValue=i,t}return r_((n=n||Df(i,e)).duration,n.delay,n.easing)}(t.timings,e.errors);let i;e.currentAnimateTimings=n;let s=t.styles?t.styles:pa({});if(5==s.type)i=this.visitKeyframes(s,e);else{let s=t.styles,o=!1;if(!s){o=!0;const t={};n.easing&&(t.easing=n.easing),s=pa(t)}e.currentTime+=n.duration+n.delay;const r=this.visitStyle(s,e);r.isEmptyStep=o,i=r}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==ca?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,s=null;return n.forEach(t=>{if(s_(t)){const e=t,n=e.easing;if(n&&(s=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf(Ef)>=0){i=!0;break}}}),{type:6,styles:n,easing:s,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,s=e.currentTime;n&&s>0&&(s-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const o=e.collectedStyles[e.currentQuerySelector],r=o[n];let a=!0;r&&(s!=i&&s>=r.startTime&&i<=r.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${r.startTime}ms" and "${r.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${i}ms"`),a=!1),s=r.startTime),a&&(o[n]={startTime:s,endTime:i}),e.options&&function(i,s,o){const r=e.options.params||{},a=Vf(t[n]);a.length&&a.forEach(t=>{r.hasOwnProperty(t)||o.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(0,0,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const s=[];let o=!1,r=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(s_(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),h=0;return null!=l&&(i++,h=n.offset=l),r=r||h<0||h>1,o=o||h<a,a=h,s.push(h),n});r&&e.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),o&&e.errors.push("Please ensure that all keyframe offsets are in order");const h=t.steps.length;let u=0;i>0&&i<h?e.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==i&&(u=1/(h-1));const c=h-1,d=e.currentTime,p=e.currentAnimateTimings,m=p.duration;return l.forEach((t,i)=>{const o=u>0?i==c?1:u*i:s[i],r=o*m;e.currentTime=d+p.delay+r,p.duration=r,this._validateStyleAst(t,e),t.offset=o,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:$f(this,Ff(t.animation),e),options:o_(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:o_(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:o_(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[s,o]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>t==Xf);return e&&(t=t.replace(Jf,"")),[t=t.replace(/@\*/g,Sf).replace(/@\w+/g,t=>Sf+"-"+t.substr(1)).replace(/:animating/g,If),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+s:s,lf(e.collectedStyles,e.currentQuerySelector,{});const r=$f(this,Ff(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:r,originalSelector:t.selector,options:o_(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Df(t.timings,e.errors,!0);return{type:12,animation:$f(this,Ff(t.animation),e),timings:n,options:null}}}class i_{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function s_(t){return!Array.isArray(t)&&"object"==typeof t}function o_(t){return t?(t=Af(t)).params&&(t.params=function(t){return t?Af(t):null}(t.params)):t={},t}function r_(t,e,n){return{duration:t,delay:e,easing:n}}function a_(t,e,n,i,s,o,r=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:s,delay:o,totalTime:s+o,easing:r,subTimeline:a}}class l_{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const h_=1,u_=new RegExp(":enter","g"),c_=new RegExp(":leave","g");function d_(t,e,n,i,s,o={},r={},a,l,h=[]){return(new p_).buildKeyframes(t,e,n,i,s,o,r,a,l,h)}class p_{buildKeyframes(t,e,n,i,s,o,r,a,l,h=[]){l=l||new l_;const u=new f_(t,e,l,i,s,h,[]);u.options=a,u.currentTimeline.setStyles([o],null,u.errors,a),$f(this,n,u);const c=u.timelines.filter(t=>t.containsAnimation());if(c.length&&Object.keys(r).length){const t=c[c.length-1];t.allowOnlyTimelineStyles()||t.setStyles([r],null,u.errors,a)}return c.length?c.map(t=>t.buildKeyframes()):[a_(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),s=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);s!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const s=null!=n.duration?Pf(n.duration):null,o=null!=n.delay?Pf(n.delay):null;return 0!==s&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,s,o);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),$f(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const s=t.options;if(s&&(s.params||s.delay)&&((i=e.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=m_);const t=Pf(s.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>$f(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?Pf(t.options.delay):0;t.steps.forEach(o=>{const r=e.createSubContext(t.options);s&&r.delayNextStep(s),$f(this,o,r),i=Math.max(i,r.currentTimeline.currentTime),n.push(r.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Df(e.params?Bf(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(n.duration),this.visitStyle(s,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(s):n.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,s=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach(t=>{o.forwardTime((t.offset||0)*s),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(i+s),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},s=i.delay?Pf(i.delay):0;s&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=m_);let o=n;const r=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=r.length;let a=null;r.forEach((n,i)=>{e.currentQueryIndex=i;const r=e.createSubContext(t.options,n);s&&r.delayNextStep(s),n===e.element&&(a=r.currentTimeline),$f(this,t.animation,r),r.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,r.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(o),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,s=t.timings,o=Math.abs(s.duration),r=o*(e.currentQueryTotal-1);let a=o*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=r-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const h=l.currentTime;$f(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-h+(i.startTime-n.currentTimeline.startTime)}}const m_={};class f_{constructor(t,e,n,i,s,o,r,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=r,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=m_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new __(this._driver,e,0),r.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=Pf(n.duration)),null!=n.delay&&(i.delay=Pf(n.delay));const s=n.params;if(s){let t=i.params;t||(t=this.options.params={}),Object.keys(s).forEach(n=>{e&&t.hasOwnProperty(n)||(t[n]=Bf(s[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,s=new f_(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=m_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},s=new g_(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,s,o){let r=[];if(i&&r.push(this.element),t.length>0){t=(t=t.replace(u_,"."+this._enterClassName)).replace(c_,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),r.push(...e)}return s||0!=r.length||o.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),r}}class __{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new __(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=h_,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||ca,this._currentKeyframe[t]=ca}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const s=i&&i.params||{},o=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e)).forEach(t=>{n[t]=ca}):Of(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=Bf(o[t],s,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:ca),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((s,o)=>{const r=Of(s,!0);Object.keys(r).forEach(n=>{const i=r[n];i==ga?t.add(n):i==ca&&e.add(n)}),n||(r.offset=o/this.duration),i.push(r)});const s=t.size?jf(t.values()):[],o=e.size?jf(e.values()):[];if(n){const t=i[0],e=Af(t);t.offset=0,e.offset=1,i=[t,e]}return a_(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class g_ extends __{constructor(t,e,n,i,s,o,r=!1){super(t,e,o.delay),this.element=e,this.keyframes=n,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=r,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],o=n+e,r=e/o,a=Of(t[0],!1);a.offset=0,s.push(a);const l=Of(t[0],!1);l.offset=y_(r),s.push(l);const h=t.length-1;for(let i=1;i<=h;i++){let r=Of(t[i],!1);r.offset=y_((e+r.offset*n)/o),s.push(r)}n=o,e=0,i="",t=s}return a_(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function y_(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class v_{}class b_ extends v_{normalizePropertyName(t,e){return Zf(t)}normalizeStyleValue(t,e,n,i){let s="";const o=n.toString().trim();if(w_[e]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return o+s}}const w_=function(t){const e={};return"width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",").forEach(t=>e[t]=!0),e}();function x_(t,e,n,i,s,o,r,a,l,h,u,c,d){return{type:0,element:t,triggerName:e,isRemovalTransition:s,fromState:n,fromStyles:o,toState:i,toStyles:r,timelines:a,queriedElements:l,preStyleProps:h,postStyleProps:u,totalTime:c,errors:d}}const E_={};class C_{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,s){return t.some(t=>t(e,n,i,s))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],s=this._stateStyles[t],o=i?i.buildStyles(e,n):{};return s?s.buildStyles(e,n):o}build(t,e,n,i,s,o,r,a,l){const h=[],u=this.ast.options&&this.ast.options.params||E_,c=this.buildStyles(n,r&&r.params||E_,h),d=a&&a.params||E_,p=this.buildStyles(i,d,h),m=new Set,f=new Map,_=new Map,g="void"===i,y={params:Object.assign({},u,d)},v=d_(t,e,this.ast.animation,s,o,c,p,y,l,h);let b=0;if(v.forEach(t=>{b=Math.max(t.duration+t.delay,b)}),h.length)return x_(e,this._triggerName,n,i,g,c,p,[],[],f,_,b,h);v.forEach(t=>{const n=t.element,i=lf(f,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const s=lf(_,n,{});t.postStyleProps.forEach(t=>s[t]=!0),n!==e&&m.add(n)});const w=jf(m.values());return x_(e,this._triggerName,n,i,g,c,p,v,w,f,_,b)}}class L_{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const n={},i=Af(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const s=t;Object.keys(s).forEach(t=>{let o=s[t];o.length>1&&(o=Bf(o,i,e)),n[t]=o})}}),n}}class k_{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new L_(t.style,t.options&&t.options.params||{})}),S_(this.states,"true","1"),S_(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new C_(t,e,this.states))}),this.fallbackTransition=function(e,n){return new C_(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},n)}(0,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(s=>s.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function S_(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const T_=new l_;class I_{constructor(t,e){this._driver=t,this._normalizer=e,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=t_(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,s=sf(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],s=this._animations[t];let o;const r=new Map;if(s?(o=d_(this._driver,e,s,Cf,Lf,{},{},n,T_,i)).forEach(t=>{const e=lf(r,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)}):(i.push("The requested animation doesn't exist or has already been destroyed"),o=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);r.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,ca)})});const a=nf(o.map(t=>{const e=r.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const s=af(e,"","","");return of(this._getPlayer(t),n,s,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const s=this._getPlayer(t);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const P_="ng-animate-queued",M_=".ng-animate-queued",D_="ng-animate-disabled",A_=".ng-animate-disabled",O_="ng-star-inserted",R_=".ng-star-inserted",N_=[],F_={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},z_={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},V_="__ng_removed";class B_{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Af(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const j_="void",H_=new B_(j_),Z_=new B_("DELETED");class U_{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,X_(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=n&&"done"!=n)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const s=lf(this._elementListeners,t,[]),o={name:e,phase:n,callback:i};s.push(o);const r=lf(this._engine.statesByElement,t,{});return r.hasOwnProperty(e)||(X_(t,kf),X_(t,kf+"-"+e),r[e]=H_),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete r[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const s=this._getTrigger(e),o=new $_(this.id,e,t);let r=this._engine.statesByElement.get(t);r||(X_(t,kf),X_(t,kf+"-"+e),this._engine.statesByElement.set(t,r={}));let a=r[e];const l=new B_(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),r[e]=l,a){if(a===Z_)return o}else a=H_;if(l.value!==j_&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let s=0;s<n.length;s++){const i=n[s];if(!e.hasOwnProperty(i)||t[i]!==e[i])return!1}return!0}(a.params,l.params)){const e=[],n=s.matchStyles(a.value,a.params,e),i=s.matchStyles(l.value,l.params,e);e.length?this._engine.reportError(e):this._engine.afterFlush(()=>{Nf(t,n),Rf(t,i)})}return}const h=lf(this._engine.playersByElement,t,[]);h.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=s.matchTransition(a.value,l.value,t,l.params),c=!1;if(!u){if(!i)return;u=s.fallbackTransition,c=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:o,isFallbackTransition:c}),c||(X_(t,P_),o.onStart(()=>{J_(t,P_)})),o.onDone(()=>{let e=this.players.indexOf(o);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(o);t>=0&&n.splice(t,1)}}),this.players.push(o),h.push(o),o}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e,n=!1){this._engine.driver.query(t,Sf,!0).forEach(t=>{if(t[V_])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)})}triggerLeaveAnimation(t,e,n,i){const s=this._engine.statesByElement.get(t);if(s){const o=[];if(Object.keys(s).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,j_,i);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&nf(o).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t);if(e){const n=new Set;e.forEach(e=>{const i=e.name;if(n.has(i))return;n.add(i);const s=this._triggers[i].fallbackTransition,o=this._engine.statesByElement.get(t)[i]||H_,r=new B_(j_),a=new $_(this.id,i,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:i,transition:s,fromState:o,toState:r,player:a,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e,!0),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}this.prepareLeaveAnimationListeners(t),i?n.markElementAsRemoved(this.id,t,!1,e):(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}insertNode(t,e){X_(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const s=n.element,o=this._elementListeners.get(s);o&&o.forEach(e=>{if(e.name==n.triggerName){const i=af(s,n.triggerName,n.fromState.value,n.toState.value);i._data=t,of(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),!!this._queue.find(e=>e.element===t)||e}}class G_{constructor(t,e){this.driver=t,this._normalizer=e,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=((t,e)=>{})}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new U_(t,e,this);return e.parentNode?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,e)){this._namespaceList.splice(s+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i<t.length;i++){const s=n[t[i]].namespaceId;if(s){const t=this._fetchNamespace(s);t&&e.add(t)}}}return e}trigger(t,e,n,i){if(q_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,n,i),!0}return!1}insertNode(t,e,n,i){if(!q_(e))return;const s=e[V_];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const t=this.collectedLeaveElements.indexOf(e);t>=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),X_(t,D_)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),J_(t,D_))}removeNode(t,e,n){if(!q_(e))return void this._onRemovalComplete(e,n);const i=t?this._fetchNamespace(t):null;i?i.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[V_]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,s){return q_(e)?this._fetchNamespace(t).listen(e,n,i,s):()=>{}}_buildInstruction(t,e,n,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e)}destroyInnerAnimations(t){let e=this.driver.query(t,Sf,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,If,!0)).forEach(t=>this.finishActiveQueriedAnimationOnElement(t))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()});const n=this.statesByElement.get(t);n&&Object.keys(n).forEach(t=>n[t]=Z_)}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return nf(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[V_];if(e&&e.setForRemoval){if(t[V_]=F_,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,A_)&&this.markElementAsDisabled(t,!1),this.driver.query(t,A_,!0).forEach(e=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)X_(this.collectedEnterElements[n],O_);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{e=this._flushAnimations(n,t)}finally{for(let t=0;t<n.length;t++)n[t]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(t=>t()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?nf(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new l_,i=[],s=new Map,o=[],r=new Map,a=new Map,l=new Map,h=new Set;this.disabledNodes.forEach(t=>{h.add(t);const e=this.driver.query(t,M_,!0);for(let n=0;n<e.length;n++)h.add(e[n])});const u=_f(),c=Array.from(this.statesByElement.keys()),d=Y_(c,this.collectedEnterElements),p=new Map;let m=0;d.forEach((t,e)=>{const n=Cf+m++;p.set(e,n),t.forEach(t=>X_(t,n))});const f=[],_=new Set,g=new Set;for(let P=0;P<this.collectedLeaveElements.length;P++){const t=this.collectedLeaveElements[P],e=t[V_];e&&e.setForRemoval&&(f.push(t),_.add(t),e.hasAnimation?this.driver.query(t,R_,!0).forEach(t=>_.add(t)):g.add(t))}const y=new Map,v=Y_(c,Array.from(_));v.forEach((t,e)=>{const n=Lf+m++;y.set(e,n),t.forEach(t=>X_(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>J_(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>J_(t,n))}),f.forEach(t=>{this.processLeaveNode(t)})});const b=[],w=[];for(let P=this._namespaceList.length-1;P>=0;P--)this._namespaceList[P].drainQueuedTransitions(e).forEach(t=>{const e=t.player,s=t.element;if(b.push(e),this.collectedEnterElements.length){const t=s[V_];if(t&&t.setForMove)return void e.destroy()}if(!u||!this.driver.containsElement(u,s))return void e.destroy();const h=y.get(s),c=p.get(s),d=this._buildInstruction(t,n,c,h);if(!d.errors||!d.errors.length)return t.isFallbackTransition?(e.onStart(()=>Nf(s,d.fromStyles)),e.onDestroy(()=>Rf(s,d.toStyles)),void i.push(e)):(d.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(s,d.timelines),o.push({instruction:d,player:e,element:s}),d.queriedElements.forEach(t=>lf(r,t,[]).push(e)),d.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),void d.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))}));w.push(d)});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),b.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,E=new Map;o.forEach(t=>{const e=t.element;n.has(e)&&(E.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{lf(x,e,[]).push(t),t.destroy()})});const C=f.filter(t=>eg(t,a,l)),L=new Map;K_(L,this.driver,g,l,ca).forEach(t=>{eg(t,a,l)&&C.push(t)});const k=new Map;d.forEach((t,e)=>{K_(k,this.driver,new Set(t),a,ga)}),C.forEach(t=>{const e=L.get(t),n=k.get(t);L.set(t,Object.assign({},e,n))});const S=[],T=[],I={};o.forEach(t=>{const{element:e,player:o,instruction:r}=t;if(n.has(e)){if(h.has(e))return o.onDestroy(()=>Rf(e,r.toStyles)),o.disabled=!0,o.overrideTotalTime(r.totalTime),void i.push(o);let t=I;if(E.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=E.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>E.set(e,t))}const n=this._buildAnimation(o.namespaceId,r,x,s,k,L);if(o.setRealPlayer(n),t===I)S.push(o);else{const e=this.playersByElement.get(t);e&&e.length&&(o.parentPlayer=nf(e)),i.push(o)}}else Nf(e,r.fromStyles),o.onDestroy(()=>Rf(e,r.toStyles)),T.push(o),h.has(e)&&i.push(o)}),T.forEach(t=>{const e=s.get(t.element);if(e&&e.length){const n=nf(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let P=0;P<f.length;P++){const t=f[P],e=t[V_];if(J_(t,Lf),e&&e.hasAnimation)continue;let n=[];if(r.size){let e=r.get(t);e&&e.length&&n.push(...e);let i=this.driver.query(t,If,!0);for(let t=0;t<i.length;t++){let e=r.get(i[t]);e&&e.length&&n.push(...e)}}const i=n.filter(t=>!t.destroyed);i.length?tg(this,t,i):this.processLeaveNode(t)}return f.length=0,S.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),S}elementContainsData(t,e){let n=!1;const i=e[V_];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,s){let o=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(o=e)}else{const e=this.playersByElement.get(t);if(e){const t=!s||s==j_;e.forEach(e=>{e.queued||(t||e.triggerName==i)&&o.push(e)})}}return(n||i)&&(o=o.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),o}_beforeAnimationBuild(t,e,n){const i=e.element,s=e.isRemovalTransition?void 0:t,o=e.isRemovalTransition?void 0:e.triggerName;for(const r of e.timelines){const t=r.element,a=t!==i,l=lf(n,t,[]);this._getPreviousPlayers(t,a,s,o,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Nf(i,e.fromStyles)}_buildAnimation(t,e,n,i,s,o){const r=e.triggerName,a=e.element,l=[],h=new Set,u=new Set,c=e.timelines.map(e=>{const c=e.element;h.add(c);const d=c[V_];if(d&&d.removedBeforeQueried)return new fa(e.duration,e.delay);const p=c!==a,m=function(t){const e=[];return function t(e,n){for(let i=0;i<e.length;i++){const s=e[i];s instanceof _a?t(s.players,n):n.push(s)}}((n.get(c)||N_).map(t=>t.getRealPlayer()),e),e}().filter(t=>!!t.element&&t.element===c),f=s.get(c),_=o.get(c),g=sf(0,this._normalizer,0,e.keyframes,f,_),y=this._buildPlayer(e,g,m);if(e.subTimeline&&i&&u.add(c),p){const e=new $_(t,r,c);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{lf(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>(function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e)){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e]){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i})(this.playersByQueriedElement,t.element,t))}),h.forEach(t=>X_(t,Tf));const d=nf(c);return d.onDestroy(()=>{h.forEach(t=>J_(t,Tf)),Rf(a,e.toStyles)}),u.forEach(t=>{lf(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new fa(t.duration,t.delay)}}class $_{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new fa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>of(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){lf(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function q_(t){return t&&1===t.nodeType}function W_(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function K_(t,e,n,i,s){const o=[];n.forEach(t=>o.push(W_(t)));const r=[];i.forEach((n,i)=>{const o={};n.forEach(t=>{const n=o[t]=e.computeStyle(i,t,s);n&&0!=n.length||(i[V_]=z_,r.push(i))}),t.set(i,o)});let a=0;return n.forEach(t=>W_(t,o[a++])),r}function Y_(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),s=new Map;return e.forEach(t=>{const e=function t(e){if(!e)return 1;let o=s.get(e);if(o)return o;const r=e.parentNode;return o=n.has(r)?r:i.has(r)?1:t(r),s.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}const Q_="$$classes";function X_(t,e){if(t.classList)t.classList.add(e);else{let n=t[Q_];n||(n=t[Q_]={}),n[e]=!0}}function J_(t,e){if(t.classList)t.classList.remove(e);else{let n=t[Q_];n&&delete n[e]}}function tg(t,e,n){nf(n).onDone(()=>t.processLeaveNode(e))}function eg(t,e,n){const i=n.get(t);if(!i)return!1;let s=e.get(t);return s?i.forEach(t=>s.add(t)):e.set(t,i),n.delete(t),!0}class ng{constructor(t,e){this._driver=t,this._triggerCache={},this.onRemovalComplete=((t,e)=>{}),this._transitionEngine=new G_(t,e),this._timelineEngine=new I_(t,e),this._transitionEngine.onRemovalComplete=((t,e)=>this.onRemovalComplete(t,e))}registerTrigger(t,e,n,i,s){const o=t+"-"+i;let r=this._triggerCache[o];if(!r){const t=[],e=t_(this._driver,s,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);r=function(t,e){return new k_(t,e)}(i,e),this._triggerCache[o]=r}this._transitionEngine.registerTrigger(e,i,r)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n){this._transitionEngine.removeNode(t,e,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,s]=hf(n);this._timelineEngine.command(t,e,s,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,s){if("@"==n.charAt(0)){const[t,i]=hf(n);return this._timelineEngine.listen(t,e,i,s)}return this._transitionEngine.listen(t,e,n,i,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}const ig=3,sg="animation",og="animationend",rg=1e3;class ag{constructor(t,e,n,i,s,o,r){this._element=t,this._name=e,this._duration=n,this._delay=i,this._easing=s,this._fillMode=o,this._onDoneFn=r,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=(t=>this._handleCallback(t))}apply(){!function(t,e){const n=pg(t,"").trim();n.length&&(function(t,e){let n=0;for(let i=0;i<t.length;i++)","===t.charAt(i)&&n++}(n),e=`${n}, ${e}`),dg(t,"",e)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),cg(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){lg(this._element,this._name,"paused")}resume(){lg(this._element,this._name,"running")}setPosition(t){const e=hg(this._element,this._name);this._position=t*this._duration,dg(this._element,"Delay",`-${this._position}ms`,e)}getPosition(){return this._position}_handleCallback(t){const e=t._ngTestManualTimestamp||Date.now(),n=parseFloat(t.elapsedTime.toFixed(ig))*rg;t.animationName==this._name&&Math.max(e-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),cg(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=pg(t,"").split(","),i=ug(n,e);i>=0&&(n.splice(i,1),dg(t,"",n.join(",")))}(this._element,this._name))}}function lg(t,e,n){dg(t,"PlayState",n,hg(t,e))}function hg(t,e){const n=pg(t,"");return n.indexOf(",")>0?ug(n.split(","),e):ug([n],e)}function ug(t,e){for(let n=0;n<t.length;n++)if(t[n].indexOf(e)>=0)return n;return-1}function cg(t,e,n){n?t.removeEventListener(og,e):t.addEventListener(og,e)}function dg(t,e,n,i){const s=sg+e;if(null!=i){const e=t.style[s];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[s]=n}function pg(t,e){return t.style[sg+e]}const mg="forwards",fg="linear",_g=function(){var t={INITIALIZED:1,STARTED:2,FINISHED:3,DESTROYED:4};return t[t.INITIALIZED]="INITIALIZED",t[t.STARTED]="STARTED",t[t.FINISHED]="FINISHED",t[t.DESTROYED]="DESTROYED",t}();class gg{constructor(t,e,n,i,s,o,r){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=s,this._finalStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this.state=0,this.easing=o||fg,this.totalTime=i+s,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this.state>=_g.DESTROYED||(this.state=_g.DESTROYED,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this.state>=_g.FINISHED||(this.state=_g.FINISHED,this._styler.finish(),this._flushStartFns(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this.state>=_g.STARTED}init(){this.state>=_g.INITIALIZED||(this.state=_g.INITIALIZED,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this.state=_g.STARTED),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new ag(this.element,this.animationName,this._duration,this._delay,this.easing,mg,()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this.state>=_g.FINISHED;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:qf(this.element,n))})}this.currentSnapshot=t}}class yg extends fa{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=bf(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}const vg="gen_css_kf_",bg=" ";class wg{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){let i=`@keyframes ${e} {\n`,s="";(n=n.map(t=>bf(t))).forEach(t=>{s=bg;const e=parseFloat(t.offset);i+=`${s}${100*e}% {\n`,s+=bg,Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${s}animation-timing-function: ${n};\n`));default:return void(i+=`${s}${e}: ${n};\n`)}}),i+=`${s}}\n`}),i+="}\n";const o=document.createElement("style");return o.innerHTML=i,o}animate(t,e,n,i,s,o=[],r){r&&this._notifyFaultyScrubber();const a=o.filter(t=>t instanceof gg),l={};Uf(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(e=Gf(t,e,l));if(0==n)return new yg(t,h);const u=`${vg}${this._count++}`,c=this.buildKeyframeElement(t,u,e);document.querySelector("head").appendChild(c);const d=new gg(t,e,u,n,i,s,h);return d.onDestroy(()=>void c.parentNode.removeChild(c)),d}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class xg{constructor(t,e,n){this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:qf(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Eg{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Cg().toString()),this._cssKeyframesDriver=new wg}validateStyleProperty(t){return ff(t)}matchesElement(t,e){return gf(t,e)}containsElement(t,e){return yf(t,e)}query(t,e,n){return vf(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,s,o=[],r){if(!r&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,s,o);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};s&&(a.easing=s);const l={},h=o.filter(t=>t instanceof xg);return Uf(n,i)&&h.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])}),e=Gf(t,e=e.map(t=>Of(t,!1)),l),new xg(t,e,a)}}function Cg(){return"undefined"!=typeof Element&&Element.prototype.animate||{}}class Lg extends ha{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:ee.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?da(t):t;return Tg(this._renderer,null,e,"register",[n]),new kg(e,this._renderer)}}class kg extends ua{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Sg(this._id,t,e||{},this._renderer)}}class Sg{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Tg(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(t){this._command("setPosition",t)}getPosition(){return 0}}function Tg(t,e,n,i,s){return t.setProperty(e,`@@${n}:${i}`,s)}const Ig="@",Pg="@.disabled";class Mg{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=((t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)})}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Dg("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,s=e.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,t),e.data.animation.forEach(e=>this.engine.registerTrigger(i,s,t,e.name,e)),new Ag(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&t<this._microtaskId?this._zone.run(()=>e(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class Dg{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,!0)}removeChild(t,e){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(t){return this.delegate.selectRootElement(t)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){e.charAt(0)==Ig&&e==Pg?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Ag extends Dg{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){e.charAt(0)==Ig?"."==e.charAt(1)&&e==Pg?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if(e.charAt(0)==Ig){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let s=e.substr(1),o="";return s.charAt(0)!=Ig&&([s,o]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}class Og extends ng{constructor(t,e){super(t,e)}}function Rg(){return"function"==typeof Cg()?new Eg:new wg}function Ng(){return new b_}function Fg(t,e,n){return new Mg(t,e,n)}const zg=new rt("AnimationModuleType");class Vg{}class Bg{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}Bg.ngInjectableDef=ot({factory:function(){return new Bg},token:Bg,providedIn:"root"});const jg=new rt("mat-select-scroll-strategy");function Hg(t){return()=>t.scrollStrategies.reposition()}class Zg{}function Ug(t,e){return new x(e?n=>e.schedule(Gg,0,{error:t,subscriber:n}):e=>e.error(t))}function Gg({error:t,subscriber:e}){e.error(t)}class $g{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Jl(this.value);case"E":return Ug(this.error);case"C":return Xl()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new $g("N",t):$g.undefinedValueNotification}static createError(t){return new $g("E",void 0,t)}static createComplete(){return $g.completeNotification}}function qg(t,e=ph){const n=t instanceof Date&&!isNaN(+t)?+t-e.now():Math.abs(t);return t=>t.lift(new Wg(n,e))}$g.completeNotification=new $g("C"),$g.undefinedValueNotification=new $g("N",void 0);class Wg{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new Kg(t,this.delay,this.scheduler))}}class Kg extends y{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,s=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(s);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else e.active=!1}_schedule(t){this.active=!0,this.add(t.schedule(Kg.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new Yg(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification($g.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t)}_complete(){this.scheduleNotification($g.createComplete())}}class Yg{constructor(t,e){this.time=t,this.notification=e}}let Qg=0;class Xg{constructor(t,e){this.source=t,this.option=e}}const Jg=gd(class{}),ty=new rt("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});class ey extends Jg{constructor(t,e,n){super(),this._changeDetectorRef=t,this._elementRef=e,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new on,this.opened=new on,this.closed=new on,this._classList={},this.id=`mat-autocomplete-${Qg++}`,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=ya(t)}set classList(t){t&&t.length&&(t.split(" ").forEach(t=>this._classList[t.trim()]=!0),this._elementRef.nativeElement.className="")}ngAfterContentInit(){this._keyManager=new Hu(this.options).withWrap(),this._setVisibility()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._classList["mat-autocomplete-visible"]=this.showPanel,this._classList["mat-autocomplete-hidden"]=!this.showPanel,this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new Xg(this,t);this.optionSelected.emit(e)}}const ny=48,iy=256,sy=new rt("mat-autocomplete-scroll-strategy");function oy(t){return()=>t.scrollStrategies.reposition()}class ry{constructor(t,e,n,i,s,o,r,a,l,h){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=s,this._scrollStrategy=o,this._dir=r,this._formField=a,this._document=l,this._viewportRuler=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=f.EMPTY,this._closeKeyEventStream=new S,this._onChange=(()=>{}),this._onTouched=(()=>{}),this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=function(t){return new x(e=>{let n;try{n=t()}catch(t){return void e.error(t)}return(n?G(n):Xl()).subscribe(e)})}(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.asObservable().pipe(Th(1),Tp(()=>this.optionSelections)))}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=ya(t)}ngOnDestroy(){this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(vh(()=>this._overlayAttached)),this._closeKeyEventStream,this._outsideClickStream,this._overlayRef?this._overlayRef.detachments().pipe(vh(()=>this._overlayAttached)):Jl()).pipe(j(t=>t instanceof Ad?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}get _outsideClickStream(){return this._document?Q(lh(this._document,"click"),lh(this._document,"touchend")).pipe(vh(t=>{const e=t.target,n=this._formField?this._formField._elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)})):Jl(null)}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e===Ca&&t.preventDefault(),this.panelOpen&&(e===Ca||e===Sa&&t.altKey))this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation();else if(this.activeOption&&e===Ea&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=e===Sa||e===Ia;this.panelOpen||e===xa?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption()}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&document.activeElement===t.target&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this.openPanel())}_handleFocus(){this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0))}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_scrollToOption(){const t=this.autocomplete._keyManager.activeItemIndex||0,e=function(t,e,n,i){const s=t*e;return s<n?s:s+e>n+iy?Math.max(0,s-iy+e):n}(t+function(t,e,n){if(n.length){let i=e.toArray(),s=n.toArray(),o=0;for(let e=0;e<t+1;e++)i[e].group&&i[e].group===s[o]&&o++;return o}return 0}(t,this.autocomplete.options,this.autocomplete.optionGroups),ny,this.autocomplete._getScrollTop());this.autocomplete._setScrollTop(e)}_subscribeToClosingActions(){return Q(this._zone.onStable.asObservable().pipe(Th(1)),this.autocomplete.options.changes.pipe(Iu(()=>this._positionStrategy.reapplyLastPosition()),qg(0))).pipe(Tp(()=>(this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&this._overlayRef.updatePosition(),this.panelClosingActions)),Th(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!=t&&e.selected&&e.deselect()})}_attachOverlay(){if(!this.autocomplete)throw Error("Attempting to open an undefined instance of `mat-autocomplete`. Make sure that the id passed to the `matAutocomplete` is correct and that you're attempting to open it after the ngAfterContentInit hook.");this._overlayRef?this._overlayRef.updateSize({width:this._getPanelWidth()}):(this._portal=new Oh(this.autocomplete.template,this._viewContainerRef),this._overlayRef=this._overlay.create(this._getOverlayConfig()),this._viewportRuler&&(this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&this._overlayRef&&this._overlayRef.updateSize({width:this._getPanelWidth()})}))),this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const t=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&t!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new Vh({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir})}_getOverlayPosition(){return this._positionStrategy=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}]),this._positionStrategy}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption?0:-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}}class ay{}let ly=0;const hy={},uy={setImmediate(t){const e=ly++;return hy[e]=t,e},clearImmediate(t){delete hy[t]}},cy=new class extends dh{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,s=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i<s&&(t=e.shift()));if(this.active=!1,n){for(;++i<s&&(t=e.shift());)t.unsubscribe();throw n}}}(class extends uh{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}requestAsyncId(t,e,n=0){return null!==n&&n>0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=uy.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(uy.clearImmediate(e),t.scheduled=void 0)}}),dy=new rt("MAT_MENU_PANEL"),py=gd(fd(class{}));class my extends py{constructor(t,e,n,i){super(),this._elementRef=t,this._focusMonitor=n,this._parentMenu=i,this._hovered=new S,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.monitor(this._getHostElement(),!1),i&&i.addItem&&i.addItem(this),this._document=e}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._getHostElement(),t):this._getHostElement().focus()}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._getHostElement()),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const t=this._elementRef.nativeElement,e=this._document?this._document.TEXT_NODE:3;let n="";if(t.childNodes){const i=t.childNodes.length;for(let s=0;s<i;s++)t.childNodes[s].nodeType===e&&(n+=t.childNodes[s].textContent)}return n.trim()}}const fy=new rt("mat-menu-default-options",{providedIn:"root",factory:function(){return{overlapTrigger:!0,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}}),_y=2;class gy{constructor(t,e,n){this._elementRef=t,this._ngZone=e,this._defaultOptions=n,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._items=[],this._itemChanges=new S,this._tabSubscription=f.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new S,this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new on,this.close=this.closed}get xPosition(){return this._xPosition}set xPosition(t){"before"!==t&&"after"!==t&&function(){throw Error('x-position value must be either \'before\' or after\'.\n Example: <mat-menu x-position="before" #menu="matMenu"></mat-menu>')}(),this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){"above"!==t&&"below"!==t&&function(){throw Error('y-position value must be either \'above\' or below\'.\n Example: <mat-menu y-position="above" #menu="matMenu"></mat-menu>')}(),this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=ya(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=ya(t)}set panelClass(t){t&&t.length&&(this._classList=t.split(" ").reduce((t,e)=>(t[e]=!0,t),{}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._keyManager=new Zu(this._items).withWrap().withTypeAhead(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab"))}ngOnDestroy(){this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._itemChanges.pipe(th(this._items),Tp(t=>Q(...t.map(t=>t._hovered))))}_handleKeydown(t){const e=t.keyCode;switch(e){case Ca:this.closed.emit("keydown"),t.stopPropagation();break;case ka:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case Ta:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==Sa&&e!==Ia||this._keyManager.setFocusOrigin("keyboard"),this._keyManager.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.asObservable().pipe(Th(1)).subscribe(()=>this._keyManager.setFocusOrigin(t).setFirstItemActive()):this._keyManager.setFocusOrigin(t).setFirstItemActive()}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${_y+t}`,n=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));n&&n!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}addItem(t){-1===this._items.indexOf(t)&&(this._items.push(t),this._itemChanges.next(this._items))}removeItem(t){const e=this._items.indexOf(t);this._items.indexOf(t)>-1&&(this._items.splice(e,1),this._itemChanges.next(this._items))}setPositionClasses(t=this.xPosition,e=this.yPosition){const n=this._classList;n["mat-menu-before"]="before"===t,n["mat-menu-after"]="after"===t,n["mat-menu-above"]="above"===e,n["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}}const yy=new rt("mat-menu-scroll-strategy");function vy(t){return()=>t.scrollStrategies.reposition()}const by=8;class wy{constructor(t,e,n,i,s,o,r,a){this._overlay=t,this._element=e,this._viewContainerRef=n,this._scrollStrategy=i,this._parentMenu=s,this._menuItemInstance=o,this._dir=r,this._focusMonitor=a,this._overlayRef=null,this._menuOpen=!1,this._closeSubscription=f.EMPTY,this._hoverSubscription=f.EMPTY,this._openedByMouse=!1,this.menuOpened=new on,this.onMenuOpen=this.menuOpened,this.menuClosed=new on,this.onMenuClose=this.menuClosed,o&&(o._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}ngAfterContentInit(){this._checkMenu(),this.menu.close.subscribe(t=>{this._destroyMenu(),"click"!==t&&"tab"!==t||!this._parentMenu||this._parentMenu.closed.emit(t)}),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._cleanUpSubscriptions()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;const t=this._createOverlay();this._setPosition(t.getConfig().positionStrategy),t.attach(this._portal),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closeSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof gy&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t="program"){this._focusMonitor?this._focusMonitor.focusVia(this._element.nativeElement,t):this._element.nativeElement.focus()}_destroyMenu(){if(!this._overlayRef||!this.menuOpen)return;const t=this.menu;this._closeSubscription.unsubscribe(),this._overlayRef.detach(),t instanceof gy?(t._resetAnimation(),t.lazyContent?t._animationDone.pipe(vh(t=>"void"===t.toState),Th(1),ql(t.lazyContent._attached)).subscribe(()=>t.lazyContent.detach(),void 0,()=>{this._resetMenu()}):this._resetMenu()):(this._resetMenu(),t.lazyContent&&t.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this._setIsMenuOpen(!0),this.menu.focusFirstItem(this._openedByMouse?"mouse":"program")}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_resetMenu(){this._setIsMenuOpen(!1),this._openedByMouse?this.triggersSubmenu()||this.focus("mouse"):this.focus(),this._openedByMouse=!1}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){this.menu||function(){throw Error('mat-menu-trigger: must pass in an mat-menu instance.\n\n Example:\n <mat-menu #menu="matMenu"></mat-menu>\n <button [matMenuTriggerFor]="menu"></button>')}()}_createOverlay(){if(!this._overlayRef){this._portal=new Oh(this.menu.templateRef,this._viewContainerRef);const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t)}return this._overlayRef}_getOverlayConfig(){return new Vh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withTransformOriginOn(".mat-menu-panel"),hasBackdrop:null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,n]="before"===this.menu.xPosition?["end","start"]:["start","end"],[i,s]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[o,r]=[i,s],[a,l]=[e,n],h=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",n=a="end"===e?"start":"end",h="bottom"===i?by:-by):this.menu.overlapTrigger||(o="top"===i?"bottom":"top",r="top"===s?"bottom":"top"),t.withPositions([{originX:e,originY:o,overlayX:a,overlayY:i,offsetY:h},{originX:n,originY:o,overlayX:l,overlayY:i,offsetY:h},{originX:e,originY:r,overlayX:a,overlayY:s,offsetY:-h},{originX:n,originY:r,overlayX:l,overlayY:s,offsetY:-h}])}_cleanUpSubscriptions(){this._closeSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments();return Q(t,this._parentMenu?this._parentMenu.closed:Jl(),this._parentMenu?this._parentMenu._hovered().pipe(vh(t=>t!==this._menuItemInstance),vh(()=>this._menuOpen)):Jl(),e)}_handleMousedown(t){(function(t){return 0===t.buttons})(t)||(this._openedByMouse=!0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;this.triggersSubmenu()&&(e===Ta&&"ltr"===this.dir||e===ka&&"rtl"===this.dir)&&this.openMenu()}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&(this._hoverSubscription=this._parentMenu._hovered().pipe(vh(t=>t===this._menuItemInstance&&!t.disabled),qg(0,cy)).subscribe(()=>{this._openedByMouse=!0,this.menu instanceof gy&&this.menu._isAnimating?this.menu._animationDone.pipe(Th(1),ql(this._parentMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}}class xy{}let Ey=0;class Cy{constructor(){this.id=`mat-error-${Ey++}`}}class Ly{}function ky(t){return Error(`A hint was already declared for 'align="${t}"'.`)}class Sy{}class Ty{}let Iy=0;const Py=.75,My=5,Dy=_d(class{constructor(t){this._elementRef=t}},"primary"),Ay=new rt("MAT_FORM_FIELD_DEFAULT_OPTIONS");class Oy extends Dy{constructor(t,e,n,i,s,o,r,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=i,this._defaultOptions=s,this._platform=o,this._ngZone=r,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId=`mat-hint-${Iy++}`,this._labelId=`mat-form-field-label-${Iy++}`,this._outlineGapWidth=0,this._outlineGapStart=0,this._initialGapCalculated=!1,this._labelOptions=n||{},this.floatLabel=this._labelOptions.float||"auto",this._animationsEnabled="NoopAnimations"!==a}get appearance(){return this._appearance||this._defaultOptions&&this._defaultOptions.appearance||"legacy"}set appearance(t){t!==this._appearance&&"outline"===t&&(this._initialGapCalculated=!1),this._appearance=t}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=ya(t)}get _shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}get _canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._labelOptions.float||"auto",this._changeDetectorRef.markForCheck())}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild(),this._control.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${this._control.controlType}`),this._control.stateChanges.pipe(th(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),Q(this._control.ngControl&&this._control.ngControl.valueChanges||Ql,this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>this._changeDetectorRef.markForCheck()),this._hintChildren.changes.pipe(th(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(th(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()})}ngAfterContentChecked(){this._validateControlChild(),this._initialGapCalculated||(this._ngZone?this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.updateOutlineGap())}):Promise.resolve().then(()=>this.updateOutlineGap()))}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!!this._labelChild}_shouldLabelFloat(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&(this._showAlwaysAnimate=!0,lh(this._label.nativeElement,"transitionend").pipe(Th(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){if(this._hintChildren){let t,e;this._hintChildren.forEach(n=>{if("start"===n.align){if(t||this.hintLabel)throw ky("start");t=n}else if("end"===n.align){if(e)throw ky("end");e=n}})}}_syncDescribedByIds(){if(this._control){let t=[];if("hint"===this._getDisplayedMessages()){let e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")}updateOutlineGap(){if("outline"===this.appearance&&this._label&&this._label.nativeElement.children.length){if(this._platform&&!this._platform.isBrowser)return void(this._initialGapCalculated=!0);if(!document.documentElement.contains(this._elementRef.nativeElement))return;const t=this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect()),e=this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());let n=0;for(const i of this._label.nativeElement.children)n+=i.offsetWidth;this._outlineGapStart=e-t-My,this._outlineGapWidth=n*Py+2*My}else this._outlineGapStart=0,this._outlineGapWidth=0;this._initialGapCalculated=!0,this._changeDetectorRef.markForCheck()}_getStartEnd(t){return this._dir&&"rtl"===this._dir.value?t.right:t.left}}class Ry{}const Ny=!!Bl()&&{passive:!0};class Fy{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Ql;const e=this._monitoredElements.get(t);if(e)return e.subject.asObservable();const n=new S,i="cdk-text-field-autofilled",s=e=>{"cdk-text-field-autofill-start"!==e.animationName||t.classList.contains(i)?"cdk-text-field-autofill-end"===e.animationName&&t.classList.contains(i)&&(t.classList.remove(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!1}))):(t.classList.add(i),this._ngZone.run(()=>n.next({target:e.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{t.addEventListener("animationstart",s,Ny),t.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(t,{subject:n,unlisten:()=>{t.removeEventListener("animationstart",s,Ny)}}),n.asObservable()}stopMonitoring(t){const e=this._monitoredElements.get(t);e&&(e.unlisten(),e.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}Fy.ngInjectableDef=ot({factory:function(){return new Fy(te(Fl),te(rn))},token:Fy,providedIn:"root"});class zy{}const Vy=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let By=0;const jy=function(t){return class extends class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}}{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new S}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}();class Hy extends jy{constructor(t,e,n,i,s,o,r,a,l){super(o,i,s,n),this._elementRef=t,this._platform=e,this.ngControl=n,this._autofillMonitor=a,this._uid=`mat-input-${By++}`,this._isServer=!1,this.focused=!1,this.stateChanges=new S,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>Hl().has(t)),this._inputValueAccessor=r||this._elementRef.nativeElement,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{let e=t.target;e.value||e.selectionStart||e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=ya(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=ya(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea()&&Hl().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=ya(t)}ngOnInit(){this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue()}focus(){this._elementRef.nativeElement.focus()}_focusChanged(t){t===this.focused||this.readonly||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){if(Vy.indexOf(this._type)>-1)throw function(t){return Error(`Input type "${t}" isn't supported by matInput.`)}(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}_isTextarea(){return"textarea"===this._elementRef.nativeElement.nodeName.toLowerCase()}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){return this.focused||!this.empty}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus()}}class Zy{}const Uy=100,Gy=10,$y=_d(class{constructor(t){this._elementRef=t}},"primary"),qy=new rt("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:Uy}}}),Wy="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class Ky extends $y{constructor(t,e,n,i,s){super(t),this._elementRef=t,this._document=n,this.animationMode=i,this.defaults=s,this._value=0,this._fallbackAnimation=!1,this._noopAnimations="NoopAnimations"===this.animationMode&&!!this.defaults&&!this.defaults._forceAnimations,this._diameter=Uy,this.mode="determinate",this._fallbackAnimation=e.EDGE||e.TRIDENT,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth)),t.nativeElement.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}get diameter(){return this._diameter}set diameter(t){this._diameter=va(t),this._fallbackAnimation||Ky.diameters.has(this._diameter)||this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=va(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,va(t)))}get _circleRadius(){return(this.diameter-Gy)/2}get _viewBox(){const t=2*this._circleRadius+this.strokeWidth;return`0 0 ${t} ${t}`}get _strokeCircumference(){return 2*Math.PI*this._circleRadius}get _strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._strokeCircumference:null}get _circleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){let t=Ky.styleTag;t||(t=this._document.createElement("style"),this._document.head.appendChild(t),Ky.styleTag=t),t&&t.sheet&&t.sheet.insertRule(this._getAnimationText(),0),Ky.diameters.add(this.diameter)}_getAnimationText(){return Wy.replace(/START_VALUE/g,`${.95*this._strokeCircumference}`).replace(/END_VALUE/g,`${.2*this._strokeCircumference}`).replace(/DIAMETER/g,`${this.diameter}`)}}Ky.diameters=new Set([Uy]),Ky.styleTag=null;class Yy extends Ky{constructor(t,e,n,i,s){super(t,e,n,i,s),this.mode="indeterminate"}}class Qy{}const Xy=new rt("mat-chips-default-options");class Jy{}class tv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new ev(t,this.selector,this.caught))}}class ev extends B{constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle(),this.add(V(this,e))}}}class nv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new iv(t,this.callback))}}class iv extends y{constructor(t,e){super(t),this.add(new f(e))}}function sv(t){return Error(`Unable to find icon with the name "${t}"`)}function ov(t){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL "+`via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rv(t){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by "+`Angular's DomSanitizer. Attempted literal was "${t}".`)}class av{constructor(t){t.nodeName?this.svgElement=t:this.url=t}}class lv{constructor(t,e,n){this._httpClient=t,this._sanitizer=e,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._defaultFontSetClass="material-icons",this._document=n}addSvgIcon(t,e){return this.addSvgIconInNamespace("",t,e)}addSvgIconLiteral(t,e){return this.addSvgIconLiteralInNamespace("",t,e)}addSvgIconInNamespace(t,e,n){return this._addSvgIconConfig(t,e,new av(n))}addSvgIconLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(Oi.HTML,n);if(!i)throw rv(n);const s=this._createSvgElementForSingleIcon(i);return this._addSvgIconConfig(t,e,new av(s))}addSvgIconSet(t){return this.addSvgIconSetInNamespace("",t)}addSvgIconSetLiteral(t){return this.addSvgIconSetLiteralInNamespace("",t)}addSvgIconSetInNamespace(t,e){return this._addSvgIconSetConfig(t,new av(e))}addSvgIconSetLiteralInNamespace(t,e){const n=this._sanitizer.sanitize(Oi.HTML,e);if(!n)throw rv(e);const i=this._svgElementFromString(n);return this._addSvgIconSetConfig(t,new av(i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._cachedIconsByUrl.get(e);return n?Jl(hv(n)):this._loadSvgIconFromConfig(new av(t)).pipe(Iu(t=>this._cachedIconsByUrl.set(e,t)),j(t=>hv(t)))}getNamedSvgIcon(t,e=""){const n=uv(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);const s=this._iconSetConfigs.get(e);return s?this._getSvgFromIconSetConfigs(t,s):Ug(sv(n))}_getSvgFromConfig(t){return t.svgElement?Jl(hv(t.svgElement)):this._loadSvgIconFromConfig(t).pipe(Iu(e=>t.svgElement=e),j(t=>hv(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Jl(n):Dp(e.filter(t=>!t.svgElement).map(t=>this._loadSvgIconSetFromConfig(t).pipe(function(t){return function(e){const n=new tv(t),i=e.lift(n);return n.caught=i}}(e=>{const n=this._sanitizer.sanitize(Oi.RESOURCE_URL,t.url);return console.error(`Loading icon set URL: ${n} failed: ${e.message}`),Jl(null)})))).pipe(j(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw sv(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgElement){const e=this._extractSvgIconFromSet(i.svgElement,t);if(e)return e}}return null}_loadSvgIconFromConfig(t){return this._fetchUrl(t.url).pipe(j(t=>this._createSvgElementForSingleIcon(t)))}_loadSvgIconSetFromConfig(t){return t.svgElement?Jl(t.svgElement):this._fetchUrl(t.url).pipe(j(e=>(t.svgElement||(t.svgElement=this._svgElementFromString(e)),t.svgElement)))}_createSvgElementForSingleIcon(t){const e=this._svgElementFromString(t);return this._setSvgAttributes(e),e}_extractSvgIconFromSet(t,e){const n=t.querySelector("#"+e);if(!n)return null;const i=n.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i));const s=this._svgElementFromString("<svg></svg>");return s.appendChild(i),this._setSvgAttributes(s)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString("<svg></svg>");for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),t}_fetchUrl(t){if(!this._httpClient)throw Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.");if(null==t)throw Error(`Cannot fetch icon from URL "${t}".`);const e=this._sanitizer.sanitize(Oi.RESOURCE_URL,t);if(!e)throw ov(t);const n=this._inProgressUrlFetches.get(e);if(n)return n;const i=this._httpClient.get(e,{responseType:"text"}).pipe(function(t){return e=>e.lift(new nv(t))}(()=>this._inProgressUrlFetches.delete(e)),st());return this._inProgressUrlFetches.set(e,i),i}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(uv(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}}function hv(t){return t.cloneNode(!0)}function uv(t,e){return t+":"+e}lv.ngInjectableDef=ot({factory:function(){return new lv(te(sp,8),te(td),te(Ol,8))},token:lv,providedIn:"root"});const cv=_d(class{constructor(t){this._elementRef=t}});class dv extends cv{constructor(t,e,n){super(t),this._iconRegistry=e,this._inline=!1,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=ya(t)}get fontSet(){return this._fontSet}set fontSet(t){this._fontSet=this._cleanupFontValue(t)}get fontIcon(){return this._fontIcon}set fontIcon(t){this._fontIcon=this._cleanupFontValue(t)}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnChanges(t){if(t.svgIcon)if(this.svgIcon){const[t,e]=this._splitIconName(this.svgIcon);this._iconRegistry.getNamedSvgIcon(e,t).pipe(Th(1)).subscribe(t=>this._setSvgElement(t),t=>console.log(`Error retrieving icon: ${t.message}`))}else this._clearSvgElement();this._usingFontIcon()&&this._updateFontIconClasses()}ngOnInit(){this._usingFontIcon()&&this._updateFontIconClasses()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n<e.length;n++)e[n].textContent+=" ";this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(;e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||t.removeChild(n)}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet):this._iconRegistry.getDefaultFontSetClass();e!=this._previousFontSetClass&&(this._previousFontSetClass&&t.classList.remove(this._previousFontSetClass),e&&t.classList.add(e),this._previousFontSetClass=e),this.fontIcon!=this._previousFontIconClass&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}}class pv{}const mv="accent",fv="primary",_v=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],gv=_d(fd(gd(class{constructor(t){this._elementRef=t}})));class yv extends gv{constructor(t,e,n,i){super(t),this._platform=e,this._focusMonitor=n,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const s of _v)this._hasHostAttributes(s)&&t.nativeElement.classList.add(s);this._focusMonitor.monitor(this._elementRef.nativeElement,!0),this.isRoundButton?this.color=mv:this._hasHostAttributes("mat-flat-button")&&(this.color=fv)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement)}focus(){this._getHostElement().focus()}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}class vv{}class bv{}class wv{}class xv{constructor(t){this._viewContainer=t,xv.mostRecentCellOutlet=this}ngOnDestroy(){xv.mostRecentCellOutlet===this&&(xv.mostRecentCellOutlet=null)}}xv.mostRecentCellOutlet=null;class Ev{}class Cv{}var Lv=Ji({encapsulation:2,styles:[".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2s linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4s;animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10s cubic-bezier(.87,.03,.33,1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.60617px;transform:rotate(0)}12.5%{stroke-dashoffset:56.54867px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.60617px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.54867px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.60617px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.54867px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.60617px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.54867px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.54867px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.60617px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}"],data:{}});function kv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"animation-name",null],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,"mat-progress-spinner-stroke-rotate-"+n.diameter,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Sv(t){return Go(0,[(t()(),Ts(0,0,null,null,0,":svg:circle",[["cx","50%"],["cy","50%"]],[[1,"r",0],[4,"stroke-dashoffset","px"],[4,"stroke-dasharray","px"],[4,"stroke-width","%"]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,0,0,n._circleRadius,n._strokeDashOffset,n._strokeCircumference,n._circleStrokeWidth)})}function Tv(t){return Go(2,[(t()(),Ts(0,0,null,null,5,":svg:svg",[["focusable","false"],["preserveAspectRatio","xMidYMid meet"]],[[4,"width","px"],[4,"height","px"],[1,"viewBox",0]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,kv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Sv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){t(e,1,0,"indeterminate"===e.component.mode),t(e,3,0,!0),t(e,5,0,!1)},function(t,e){var n=e.component;t(e,0,0,n.diameter,n.diameter,n._viewBox)})}var Iv=Ji({encapsulation:2,styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:0;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}@media screen and (-ms-high-contrast:active){.mat-option{margin:0 1px}.mat-option.mat-active{border:solid 1px currentColor;margin:0}}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"],data:{}});function Pv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"mat-pseudo-checkbox",[["class","mat-option-pseudo-checkbox mat-pseudo-checkbox"]],[[2,"mat-pseudo-checkbox-indeterminate",null],[2,"mat-pseudo-checkbox-checked",null],[2,"mat-pseudo-checkbox-disabled",null],[2,"_mat-animation-noopable",null]],null,null,Av,Dv)),go(1,49152,null,0,Sd,[[2,zg]],{state:[0,"state"],disabled:[1,"disabled"]},null)],function(t,e){var n=e.component;t(e,1,0,n.selected?"checked":"",n.disabled)},function(t,e){t(e,0,0,"indeterminate"===io(e,1).state,"checked"===io(e,1).state,io(e,1).disabled,"NoopAnimations"===io(e,1)._animationMode)})}function Mv(t){return Go(2,[(t()(),Ss(16777216,null,null,1,null,Pv)),go(1,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(2,0,null,null,1,"span",[["class","mat-option-text"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(4,0,null,null,1,"div",[["class","mat-option-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(5,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,1,0,n.multiple),t(e,5,0,n.disabled||n.disableRipple,n._getHostElement())},function(t,e){t(e,4,0,io(e,5).unbounded)})}var Dv=Ji({encapsulation:2,styles:[".mat-pseudo-checkbox{width:20px;height:20px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0,0,.2,.1),background-color 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:'';border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:7px;left:0;width:16px;opacity:1}.mat-pseudo-checkbox-checked::after{top:3px;left:1px;width:12px;height:5px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1}"],data:{}});function Av(t){return Go(2,[],null,null)}var Ov=Ji({encapsulation:2,styles:[".mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button[disabled],.mat-flat-button[disabled],.mat-icon-button[disabled],.mat-stroked-button[disabled]{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:1}@media (hover:none){.mat-button:hover .mat-button-focus-overlay,.mat-stroked-button:hover .mat-button-focus-overlay{opacity:0}}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button[disabled]{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]{box-shadow:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab[disabled]{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-fab::-moz-focus-inner{border:0}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-fab[disabled]{box-shadow:none}.mat-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:88px;line-height:36px;padding:0 16px;border-radius:2px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab[disabled]{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:1}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-mini-fab[disabled]{box-shadow:none}.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-focus-overlay{background-color:rgba(0,0,0,.12);border-radius:inherit;opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}@media screen and (-ms-high-contrast:active){.mat-button-focus-overlay{background-color:rgba(255,255,255,.5)}}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}@media screen and (-ms-high-contrast:active){.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button{outline:solid 1px}}"],data:{}});function Rv(t){return Go(2,[Oo(402653184,1,{ripple:0}),(t()(),Ts(1,0,null,null,1,"span",[["class","mat-button-wrapper"]],null,null,null,null,null)),Vo(null,0),(t()(),Ts(3,0,null,null,1,"div",[["class","mat-button-ripple mat-ripple"],["matRipple",""]],[[2,"mat-button-ripple-round",null],[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(4,212992,[[1,4]],0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{centered:[0,"centered"],disabled:[1,"disabled"],trigger:[2,"trigger"]},null),(t()(),Ts(5,0,null,null,0,"div",[["class","mat-button-focus-overlay"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.isIconButton,n._isRippleDisabled(),n._getHostElement())},function(t,e){var n=e.component;t(e,3,0,n.isRoundButton||n.isIconButton,io(e,4).unbounded)})}var Nv=Ji({encapsulation:2,styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],data:{}});function Fv(t){return Go(2,[Vo(null,0)],null,null)}var zv=Ji({encapsulation:2,styles:[".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}",".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}",".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}",".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none}",".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}",".mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],data:{animation:[{type:7,name:"transitionMessages",definitions:[{type:0,name:"enter",styles:{type:6,styles:{opacity:1,transform:"translateY(0%)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:[{type:6,styles:{opacity:0,transform:"translateY(-100%)"},offset:null},{type:4,styles:null,timings:"300ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Vv(t){return Go(0,[(t()(),Ts(0,0,null,null,8,null,null,null,null,null,null,null)),(t()(),Ts(1,0,null,null,3,"div",[["class","mat-form-field-outline"]],null,null,null,null,null)),(t()(),Ts(2,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(3,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null)),(t()(),Ts(5,0,null,null,3,"div",[["class","mat-form-field-outline mat-form-field-outline-thick"]],null,null,null,null,null)),(t()(),Ts(6,0,null,null,0,"div",[["class","mat-form-field-outline-start"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(7,0,null,null,0,"div",[["class","mat-form-field-outline-gap"]],[[4,"width","px"]],null,null,null,null)),(t()(),Ts(8,0,null,null,0,"div",[["class","mat-form-field-outline-end"]],null,null,null,null,null))],null,function(t,e){var n=e.component;t(e,2,0,n._outlineGapStart),t(e,3,0,n._outlineGapWidth),t(e,6,0,n._outlineGapStart),t(e,7,0,n._outlineGapWidth)})}function Bv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-prefix"]],null,null,null,null,null)),Vo(null,0)],null,null)}function jv(t){return Go(0,[(t()(),Ts(0,0,null,null,2,null,null,null,null,null,null,null)),Vo(null,2),(t()(),Ho(2,null,["",""]))],null,function(t,e){t(e,2,0,e.component._control.placeholder)})}function Hv(t){return Go(0,[Vo(null,3),(t()(),Ss(0,null,null,0))],null,null)}function Zv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"span",[["aria-hidden","true"],["class","mat-placeholder-required mat-form-field-required-marker"]],null,null,null,null,null)),(t()(),Ho(-1,null,["\xa0*"]))],null,null)}function Uv(t){return Go(0,[(t()(),Ts(0,0,[[4,0],["label",1]],null,7,"label",[["class","mat-form-field-label"]],[[8,"id",0],[1,"for",0],[1,"aria-owns",0],[2,"mat-empty",null],[2,"mat-form-field-empty",null],[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null)),go(1,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,jv)),go(3,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Hv)),go(5,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Zv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,n._hasLabel()),t(e,3,0,!1),t(e,5,0,!0),t(e,7,0,!n.hideRequiredMarker&&n._control.required&&!n._control.disabled)},function(t,e){var n=e.component;t(e,0,0,n._labelId,n._control.id,n._control.id,n._control.empty&&!n._shouldAlwaysFloat,n._control.empty&&!n._shouldAlwaysFloat,"accent"==n.color,"warn"==n.color)})}function Gv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-form-field-suffix"]],null,null,null,null,null)),Vo(null,4)],null,null)}function $v(t){return Go(0,[(t()(),Ts(0,0,[[1,0],["underline",1]],null,1,"div",[["class","mat-form-field-underline"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,0,"span",[["class","mat-form-field-ripple"]],[[2,"mat-accent",null],[2,"mat-warn",null]],null,null,null,null))],null,function(t,e){var n=e.component;t(e,1,0,"accent"==n.color,"warn"==n.color)})}function qv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],[[24,"@transitionMessages",0]],null,null,null,null)),Vo(null,5)],null,function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Wv(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[["class","mat-hint"]],[[8,"id",0]],null,null,null,null)),(t()(),Ho(1,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n._hintLabelId),t(e,1,0,n.hintLabel)})}function Kv(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"div",[["class","mat-form-field-hint-wrapper"]],[[24,"@transitionMessages",0]],null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Wv)),go(2,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),Vo(null,6),(t()(),Ts(4,0,null,null,0,"div",[["class","mat-form-field-hint-spacer"]],null,null,null,null,null)),Vo(null,7)],function(t,e){t(e,2,0,e.component.hintLabel)},function(t,e){t(e,0,0,e.component._subscriptAnimationState)})}function Yv(t){return Go(2,[Oo(671088640,1,{underlineRef:0}),Oo(402653184,2,{_connectionContainerRef:0}),Oo(402653184,3,{_inputContainerRef:0}),Oo(671088640,4,{_label:0}),(t()(),Ts(4,0,null,null,20,"div",[["class","mat-form-field-wrapper"]],null,null,null,null,null)),(t()(),Ts(5,0,[[2,0],["connectionContainer",1]],null,11,"div",[["class","mat-form-field-flex"]],null,[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==(s._control.onContainerClick&&s._control.onContainerClick(n))&&i),i},null,null)),(t()(),Ss(16777216,null,null,1,null,Vv)),go(7,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Bv)),go(9,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(10,0,[[3,0],["inputContainer",1]],null,4,"div",[["class","mat-form-field-infix"]],null,null,null,null,null)),Vo(null,1),(t()(),Ts(12,0,null,null,2,"span",[["class","mat-form-field-label-wrapper"]],null,null,null,null,null)),(t()(),Ss(16777216,null,null,1,null,Uv)),go(14,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Gv)),go(16,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,$v)),go(18,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(19,0,null,null,5,"div",[["class","mat-form-field-subscript-wrapper"]],null,null,null,null,null)),go(20,16384,null,0,ul,[],{ngSwitch:[0,"ngSwitch"]},null),(t()(),Ss(16777216,null,null,1,null,qv)),go(22,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null),(t()(),Ss(16777216,null,null,1,null,Kv)),go(24,278528,null,0,cl,[On,An,ul],{ngSwitchCase:[0,"ngSwitchCase"]},null)],function(t,e){var n=e.component;t(e,7,0,"outline"==n.appearance),t(e,9,0,n._prefixChildren.length),t(e,14,0,n._hasFloatingLabel()),t(e,16,0,n._suffixChildren.length),t(e,18,0,"outline"!=n.appearance),t(e,20,0,n._getDisplayedMessages()),t(e,22,0,"error"),t(e,24,0,"hint")},null)}var Qv=Ji({encapsulation:2,styles:[".mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:2px;outline:0}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-menu-panel{outline:solid 1px}}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}@media screen and (-ms-high-contrast:active){.mat-menu-item-highlighted,.mat-menu-item.cdk-keyboard-focused,.mat-menu-item.cdk-program-focused{outline:dotted 1px}}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:'';display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}.mat-menu-panel.ng-animating .mat-menu-item-submenu-trigger{pointer-events:none}button.mat-menu-item{width:100%}.mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}"],data:{animation:[{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.01, 0.01)"},offset:null},options:void 0},{type:1,expr:"void => enter",animation:{type:2,steps:[{type:11,selector:".mat-menu-content",animation:{type:6,styles:{opacity:0},offset:null},options:null},{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1, 0.5)"},offset:null},timings:"100ms linear"},{type:3,steps:[{type:11,selector:".mat-menu-content",animation:{type:4,styles:{type:6,styles:{opacity:1},offset:null},timings:"400ms cubic-bezier(0.55, 0, 0.55, 0.2)"},options:null},{type:4,styles:{type:6,styles:{transform:"scale(1, 1)"},offset:null},timings:"300ms cubic-bezier(0.25, 0.8, 0.25, 1)"}],options:null}],options:null},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"150ms 50ms linear"},options:null}],options:{}},{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null},options:void 0},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}]}});function Xv(t){return Go(0,[(t()(),Ts(0,0,null,null,3,"div",[["class","mat-menu-panel"],["role","menu"],["tabindex","-1"]],[[24,"@transformMenu",0]],[[null,"keydown"],[null,"click"],[null,"@transformMenu.start"],[null,"@transformMenu.done"]],function(t,e,n){var i=!0,s=t.component;return"keydown"===e&&(i=!1!==s._handleKeydown(n)&&i),"click"===e&&(i=!1!==s.closed.emit("click")&&i),"@transformMenu.start"===e&&(i=0!=(s._isAnimating=!0)&&i),"@transformMenu.done"===e&&(i=!1!==s._onAnimationDone(n)&&i),i},null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),(t()(),Ts(2,0,null,null,1,"div",[["class","mat-menu-content"]],null,null,null,null,null)),Vo(null,0)],function(t,e){t(e,1,0,"mat-menu-panel",e.component._classList)},function(t,e){t(e,0,0,e.component._panelAnimationState)})}function Jv(t){return Go(2,[Oo(402653184,1,{templateRef:0}),(t()(),Ss(0,[[1,2]],null,0,null,Xv))],null,null)}var tb=Ji({encapsulation:2,styles:[],data:{}});function eb(t){return Go(2,[Vo(null,0),(t()(),Ts(1,0,null,null,1,"div",[["class","mat-menu-ripple mat-ripple"],["matRipple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),go(2,212992,null,0,Ld,[Mn,rn,Fl,[2,Cd],[2,zg]],{disabled:[0,"disabled"],trigger:[1,"trigger"]},null)],function(t,e){var n=e.component;t(e,2,0,n.disableRipple||n.disabled,n._getHostElement())},function(t,e){t(e,1,0,io(e,2).unbounded)})}var nb=Ji({encapsulation:2,styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}@media screen and (-ms-high-contrast:active){.mat-autocomplete-panel{outline:solid 1px}}"],data:{}});function ib(t){return Go(0,[(t()(),Ts(0,0,[[2,0],["panel",1]],null,2,"div",[["class","mat-autocomplete-panel"],["role","listbox"]],[[8,"id",0]],null,null,null,null)),go(1,278528,null,0,nl,[ti,ei,Mn,Pn],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),Vo(null,0)],function(t,e){t(e,1,0,"mat-autocomplete-panel",e.component._classList)},function(t,e){t(e,0,0,e.component.id)})}function sb(t){return Go(2,[Oo(402653184,1,{template:0}),Oo(671088640,2,{panel:0}),(t()(),Ss(0,[[1,2]],null,0,null,ib))],null,null)}var ob=Ji({encapsulation:2,styles:["[hidden]{display:none!important}#geoloc-map{display:flex;flex-direction:column;min-height:200px}#geoloc-map #geoloc-map-meta{flex:1;padding:15px 15px 0}#geoloc-map #geoloc-map-meta .geolocationInputs{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}#geoloc-map #geoloc-map-meta .geolocationInputs .longitude-input-group{margin-left:5px}#geoloc-map #geoloc-map-draw{position:relative;flex:3}#geoloc-map #httpTasksRunningSpinner{flex:1}button .mini{min-width:0;line-height:30px}.geolocatedPhotoMetadataTable{width:100%}.sub-map-infos{color:#c5c5c5;display:flex;justify-content:space-between;flex-direction:row;padding:5px}.sub-map-infos.has-data{color:#000}.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{display:flex;flex-direction:row;flex-wrap:wrap}@media only screen and (max-width:600px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{margin-left:70px}}@media only screen and (max-width:360px){.lat-lng-dec-wrapper,.lat-lng-dms-wrapper{justify-content:center}.lat-lng-dec-wrapper .longitude-wrapper,.lat-lng-dms-wrapper .longitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:37px}.lat-lng-dec-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .longitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}.lat-lng-dec-wrapper .latitude-wrapper,.lat-lng-dms-wrapper .latitude-wrapper{display:flex;align-items:baseline;flex-wrap:nowrap;margin-left:-37px}.lat-lng-dec-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper,.lat-lng-dms-wrapper .latitude-wrapper /deep/.mat-form-field-wrapper{max-width:160px}}"],data:{}});function rb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[7,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function ab(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"osm")))})}function lb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[],null,null,null,null,null)),(t()(),Ho(1,null,["",""])),jo(2,2)],null,function(t,e){t(e,1,0,Yi(e,1,0,t(e,2,0,io(e.parent.parent,0),e.parent.context.$implicit,"mapQuest")))})}function hb(t){return Go(0,[(t()(),Ts(0,0,null,null,5,"mat-option",[["class","mat-option"],["role","option"]],[[1,"tabindex",0],[2,"mat-selected",null],[2,"mat-option-multiple",null],[2,"mat-active",null],[8,"id",0],[1,"aria-selected",0],[1,"aria-disabled",0],[2,"mat-option-disabled",null]],[[null,"click"],[null,"keydown"]],function(t,e,n){var i=!0;return"click"===e&&(i=!1!==io(t,1)._selectViaInteraction()&&i),"keydown"===e&&(i=!1!==io(t,1)._handleKeydown(n)&&i),i},Mv,Iv)),go(1,8568832,[[8,4]],0,Rd,[Mn,Rn,[2,Od],[2,Md]],{value:[0,"value"]},null),(t()(),Ss(16777216,null,0,1,null,ab)),go(3,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,0,1,null,lb)),go(5,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,1,0,e.context.$implicit),t(e,3,0,"osm"==n.geolocationProvider),t(e,5,0,"mapQuest"==n.geolocationProvider)},function(t,e){t(e,0,0,io(e,1)._getTabIndex(),io(e,1).selected,io(e,1).multiple,io(e,1).active,io(e,1).id,io(e,1).selected.toString(),io(e,1).disabled.toString(),io(e,1).disabled)})}function ub(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[16,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function cb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[13,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function db(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[23,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function pb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[20,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function mb(t){return Go(0,[(t()(),Ts(0,0,null,null,56,"div",[["class","lat-lng-dec-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,27,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,20,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,10,{_control:0}),Oo(335544320,11,{_placeholderChild:0}),Oo(335544320,12,{_labelChild:0}),Oo(603979776,13,{_errorChildren:1}),Oo(603979776,14,{_hintChildren:1}),Oo(603979776,15,{_prefixChildren:1}),Oo(603979776,16,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","latInput"],["matInput",""],["placeholder","latitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[10,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,ub)),go(26,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,cb)),go(28,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(29,0,null,null,27,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(30,0,null,null,20,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(31,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,17,{_control:0}),Oo(335544320,18,{_placeholderChild:0}),Oo(335544320,19,{_labelChild:0}),Oo(603979776,20,{_errorChildren:1}),Oo(603979776,21,{_hintChildren:1}),Oo(603979776,22,{_prefixChildren:1}),Oo(603979776,23,{_suffixChildren:1}),(t()(),Ts(39,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","lngInput"],["matInput",""],["placeholder","longitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,40)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,40).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,40)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,40)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,44)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,44)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,44)._onInput()&&i),i},null,null)),go(40,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(42,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(44,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(45,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[17,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,db)),go(48,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,pb)),go(50,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(51,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromLatLngCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(52,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(53,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,54).show()&&i),"keydown"===e&&(i=!1!==io(t,54)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,54)._handleTouchend()&&i),i},Fv,Nv)),go(54,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(55,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"latInput"),t(e,22,0,"latitude"),t(e,26,0,n.isLoadingLatitude),t(e,28,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,42,0,"lngInput"),t(e,44,0,"longitude"),t(e,48,0,n.isLoadingLongitude),t(e,50,0,n.latlngFormGroup.controls.latInput.dirty&&n.latlngFormGroup.controls.latInput.hasError("malformedLatLngDecFormat")),t(e,52,0,!n.latlngFormGroup.controls.latInput.valid||!n.latlngFormGroup.controls.lngInput.valid,"primary"),t(e,54,0,"Utiliser ces coordonn\xe9es"),t(e,55,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,30,1,["standard"==io(e,31).appearance,"fill"==io(e,31).appearance,"outline"==io(e,31).appearance,"legacy"==io(e,31).appearance,io(e,31)._control.errorState,io(e,31)._canLabelFloat,io(e,31)._shouldLabelFloat(),io(e,31)._hideControlPlaceholder(),io(e,31)._control.disabled,io(e,31)._control.autofilled,io(e,31)._control.focused,"accent"==io(e,31).color,"warn"==io(e,31).color,io(e,31)._shouldForward("untouched"),io(e,31)._shouldForward("touched"),io(e,31)._shouldForward("pristine"),io(e,31)._shouldForward("dirty"),io(e,31)._shouldForward("valid"),io(e,31)._shouldForward("invalid"),io(e,31)._shouldForward("pending"),!io(e,31)._animationsEnabled]),t(e,39,1,[io(e,44)._isServer,io(e,44).id,io(e,44).placeholder,io(e,44).disabled,io(e,44).required,io(e,44).readonly,io(e,44)._ariaDescribedby||null,io(e,44).errorState,io(e,44).required.toString(),io(e,45).ngClassUntouched,io(e,45).ngClassTouched,io(e,45).ngClassPristine,io(e,45).ngClassDirty,io(e,45).ngClassValid,io(e,45).ngClassInvalid,io(e,45).ngClassPending]),t(e,51,0,io(e,52).disabled||null,"NoopAnimations"===io(e,52)._animationMode),t(e,53,0,io(e,55).inline)})}function fb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[30,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function _b(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[27,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function gb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[37,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function yb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-error",[["class","mat-error"],["role","alert"]],[[1,"id",0]],null,null,null,null)),go(1,16384,[[34,4]],0,Cy,[],null,null),(t()(),Ho(-1,null,["Format non valide"]))],null,function(t,e){t(e,0,0,io(e,1).id)})}function vb(t){return Go(0,[(t()(),Ts(0,0,null,null,62,"div",[["class","lat-lng-dms-wrapper"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,30,"div",[["class","latitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(2,16777216,null,null,5,"button",[["aria-haspopup","true"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null],[1,"aria-expanded",0]],[[null,"mousedown"],[null,"keydown"],[null,"click"]],function(t,e,n){var i=!0;return"mousedown"===e&&(i=!1!==io(t,4)._handleMousedown(n)&&i),"keydown"===e&&(i=!1!==io(t,4)._handleKeydown(n)&&i),"click"===e&&(i=!1!==io(t,4)._handleClick(n)&&i),i},Rv,Ov)),go(3,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],null,null),go(4,1196032,null,0,wy,[ru,Mn,On,yy,[2,gy],[8,null],[2,Su],Xu],{menu:[0,"menu"]},null),(t()(),Ts(5,0,null,0,2,"mat-icon",[["class","mat-icon"],["role","img"]],[[2,"mat-icon-inline",null]],null,null,Fv,Nv)),go(6,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["more_vert"])),(t()(),Ts(8,0,null,null,23,"mat-form-field",[["class","latitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(9,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,24,{_control:0}),Oo(335544320,25,{_placeholderChild:0}),Oo(335544320,26,{_labelChild:0}),Oo(603979776,27,{_errorChildren:1}),Oo(603979776,28,{_hintChildren:1}),Oo(603979776,29,{_prefixChildren:1}),Oo(603979776,30,{_suffixChildren:1}),(t()(),Ts(17,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLatInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,18)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,18).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,18)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,18)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,22)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,22)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,22)._onInput()&&i),i},null,null)),go(18,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(20,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(22,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(23,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[24,4]],Ly,null,[Hy]),(t()(),Ts(25,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(26,16384,[[29,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["N\xa0"])),(t()(),Ss(16777216,null,4,1,null,fb)),go(29,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,_b)),go(31,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(32,0,null,null,30,"div",[["class","longitude-wrapper"]],null,null,null,null,null)),(t()(),Ts(33,0,null,null,23,"mat-form-field",[["class","longitude-input-group mat-form-field"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(34,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,31,{_control:0}),Oo(335544320,32,{_placeholderChild:0}),Oo(335544320,33,{_labelChild:0}),Oo(603979776,34,{_errorChildren:1}),Oo(603979776,35,{_hintChildren:1}),Oo(603979776,36,{_prefixChildren:1}),Oo(603979776,37,{_suffixChildren:1}),(t()(),Ts(42,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","dmsLngInput"],["matInput",""],["placeholder","(deg)\xb0 (min)' (sec)\""]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,43)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,43).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,43)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,43)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,47)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,47)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,47)._onInput()&&i),i},null,null)),go(43,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(45,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(47,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(48,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[31,4]],Ly,null,[Hy]),(t()(),Ts(50,0,null,0,2,"span",[["matPrefix",""]],null,null,null,null,null)),go(51,16384,[[36,4]],0,Sy,[],null,null),(t()(),Ho(-1,null,["E\xa0"])),(t()(),Ss(16777216,null,4,1,null,gb)),go(54,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,5,1,null,yb)),go(56,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(57,0,null,null,5,"button",[["color","primary"],["mat-icon-button",""]],[[8,"disabled",0],[2,"_mat-animation-noopable",null]],[[null,"click"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(s.addMarkerFromDmsCoord(),i=!1!==s.callGeolocElevationApisUsingLatLngInputsValues()&&i),i},Rv,Ov)),go(58,180224,null,0,yv,[Mn,Fl,Xu,[2,zg]],{disabled:[0,"disabled"],color:[1,"color"]},null),(t()(),Ts(59,16777216,null,0,3,"mat-icon",[["class","mat-icon"],["matTooltip","Utiliser ces coordonn\xe9es"],["role","img"]],[[2,"mat-icon-inline",null]],[[null,"longpress"],[null,"keydown"],[null,"touchend"]],function(t,e,n){var i=!0;return"longpress"===e&&(i=!1!==io(t,60).show()&&i),"keydown"===e&&(i=!1!==io(t,60)._handleKeydown(n)&&i),"touchend"===e&&(i=!1!==io(t,60)._handleTouchend()&&i),i},Fv,Nv)),go(60,147456,null,0,_u,[ru,Mn,Eh,On,rn,Fl,Bu,Xu,pu,[2,Su],[2,fu]],{message:[0,"message"]},null),go(61,638976,null,0,dv,[Mn,lv,[8,null]],null,null),(t()(),Ho(-1,0,["where_to_vote"]))],function(t,e){var n=e.component;t(e,4,0,io(e.parent,10)),t(e,6,0),t(e,20,0,"dmsLatInput"),t(e,22,0,"(deg)\xb0 (min)' (sec)\""),t(e,29,0,n.isLoadingLatitude),t(e,31,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,45,0,"dmsLngInput"),t(e,47,0,"(deg)\xb0 (min)' (sec)\""),t(e,54,0,n.isLoadingLongitude),t(e,56,0,n.latlngFormGroup.controls.dmsLatInput.dirty&&n.latlngFormGroup.controls.dmsLatInput.hasError("malformedLatLngDmsFormat")),t(e,58,0,!n.latlngFormGroup.controls.dmsLatInput.valid||!n.latlngFormGroup.controls.dmsLngInput.valid,"primary"),t(e,60,0,"Utiliser ces coordonn\xe9es"),t(e,61,0)},function(t,e){t(e,2,0,io(e,3).disabled||null,"NoopAnimations"===io(e,3)._animationMode,io(e,4).menuOpen||null),t(e,5,0,io(e,6).inline),t(e,8,1,["standard"==io(e,9).appearance,"fill"==io(e,9).appearance,"outline"==io(e,9).appearance,"legacy"==io(e,9).appearance,io(e,9)._control.errorState,io(e,9)._canLabelFloat,io(e,9)._shouldLabelFloat(),io(e,9)._hideControlPlaceholder(),io(e,9)._control.disabled,io(e,9)._control.autofilled,io(e,9)._control.focused,"accent"==io(e,9).color,"warn"==io(e,9).color,io(e,9)._shouldForward("untouched"),io(e,9)._shouldForward("touched"),io(e,9)._shouldForward("pristine"),io(e,9)._shouldForward("dirty"),io(e,9)._shouldForward("valid"),io(e,9)._shouldForward("invalid"),io(e,9)._shouldForward("pending"),!io(e,9)._animationsEnabled]),t(e,17,1,[io(e,22)._isServer,io(e,22).id,io(e,22).placeholder,io(e,22).disabled,io(e,22).required,io(e,22).readonly,io(e,22)._ariaDescribedby||null,io(e,22).errorState,io(e,22).required.toString(),io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending]),t(e,33,1,["standard"==io(e,34).appearance,"fill"==io(e,34).appearance,"outline"==io(e,34).appearance,"legacy"==io(e,34).appearance,io(e,34)._control.errorState,io(e,34)._canLabelFloat,io(e,34)._shouldLabelFloat(),io(e,34)._hideControlPlaceholder(),io(e,34)._control.disabled,io(e,34)._control.autofilled,io(e,34)._control.focused,"accent"==io(e,34).color,"warn"==io(e,34).color,io(e,34)._shouldForward("untouched"),io(e,34)._shouldForward("touched"),io(e,34)._shouldForward("pristine"),io(e,34)._shouldForward("dirty"),io(e,34)._shouldForward("valid"),io(e,34)._shouldForward("invalid"),io(e,34)._shouldForward("pending"),!io(e,34)._animationsEnabled]),t(e,42,1,[io(e,47)._isServer,io(e,47).id,io(e,47).placeholder,io(e,47).disabled,io(e,47).required,io(e,47).readonly,io(e,47)._ariaDescribedby||null,io(e,47).errorState,io(e,47).required.toString(),io(e,48).ngClassUntouched,io(e,48).ngClassTouched,io(e,48).ngClassPristine,io(e,48).ngClassDirty,io(e,48).ngClassValid,io(e,48).ngClassInvalid,io(e,48).ngClassPending]),t(e,57,0,io(e,58).disabled||null,"NoopAnimations"===io(e,58)._animationMode),t(e,59,0,io(e,61).inline)})}function bb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"mat-spinner",[["class","mat-spinner mat-progress-spinner"],["diameter","20"],["matSuffix",""],["mode","indeterminate"],["role","progressbar"]],[[2,"_mat-animation-noopable",null],[4,"width","px"],[4,"height","px"]],null,null,Tv,Lv)),go(1,16384,[[46,4]],0,Ty,[],null,null),go(2,49152,null,0,Yy,[Mn,Fl,[2,Ol],[2,zg],qy],{diameter:[0,"diameter"]},null)],function(t,e){t(e,2,0,"20")},function(t,e){t(e,0,0,io(e,2)._noopAnimations,io(e,2).diameter,io(e,2).diameter)})}function wb(t){return Go(0,[(t()(),Ts(0,0,null,null,2,"span",[["matSuffix",""]],null,null,null,null,null)),go(1,16384,[[46,4]],0,Ty,[],null,null),(t()(),Ho(-1,null,["m"]))],null,null)}function xb(t){return Go(0,[(t()(),Ts(0,0,null,null,44,"div",[["class","geolocationInputs"]],null,null,null,null,null)),(t()(),Ts(1,0,null,null,18,"div",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,2).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,2).onReset()&&i),i},null,null)),go(2,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(4,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ss(16777216,null,null,1,null,mb)),go(6,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,vb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(9,0,null,null,10,"mat-menu",[],null,null,null,Jv,Qv)),go(10,1294336,[["menu",4]],2,gy,[Mn,rn,fy],null,null),Oo(603979776,38,{items:1}),Oo(335544320,39,{lazyContent:0}),vo(2048,null,dy,null,[gy]),(t()(),Ts(14,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,15)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,15)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("dms")&&i),i},eb,tb)),go(15,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["Degr\xe9s minutes secondes"])),(t()(),Ts(17,0,null,0,2,"button",[["class","mat-menu-item"],["mat-menu-item",""],["role","menuitem"]],[[2,"mat-menu-item-highlighted",null],[2,"mat-menu-item-submenu-trigger",null],[1,"tabindex",0],[1,"aria-disabled",0],[1,"disabled",0]],[[null,"click"],[null,"mouseenter"]],function(t,e,n){var i=!0,s=t.component;return"click"===e&&(i=!1!==io(t,18)._checkDisabled(n)&&i),"mouseenter"===e&&(i=!1!==io(t,18)._handleMouseEnter()&&i),"click"===e&&(i=!1!==s.setLatLngInputFormat("decimal")&&i),i},eb,tb)),go(18,180224,[[38,4]],0,my,[Mn,Ol,Xu,[2,dy]],null,null),(t()(),Ho(-1,0,["D\xe9cimal"])),(t()(),Ts(20,0,null,null,24,"div",[["class","elevationInput"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"submit"],[null,"reset"]],function(t,e,n){var i=!0;return"submit"===e&&(i=!1!==io(t,21).onSubmit(n)&&i),"reset"===e&&(i=!1!==io(t,21).onReset()&&i),i},null,null)),go(21,540672,null,0,Mm,[[8,null],[8,null]],{form:[0,"form"]},null),vo(2048,null,Rp,null,[Mm]),go(23,16384,null,0,fm,[[4,Rp]],null,null),(t()(),Ts(24,0,null,null,20,"mat-form-field",[["class","mat-form-field"],["style","width: 100px;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(25,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,40,{_control:0}),Oo(335544320,41,{_placeholderChild:0}),Oo(335544320,42,{_labelChild:0}),Oo(603979776,43,{_errorChildren:1}),Oo(603979776,44,{_hintChildren:1}),Oo(603979776,45,{_prefixChildren:1}),Oo(603979776,46,{_suffixChildren:1}),(t()(),Ts(33,0,null,1,7,"input",[["class","mat-input-element mat-form-field-autofill-control"],["formControlName","elevationInput"],["matInput",""],["placeholder","altitude"]],[[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"input"===e&&(i=!1!==io(t,34)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,34).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,34)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,34)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,38)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,38)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,38)._onInput()&&i),i},null,null)),go(34,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t){return[t]},[Up]),go(36,671744,null,0,Rm,[[3,Rp],[8,null],[8,null],[6,Hp],[2,Im]],{name:[0,"name"]},null),vo(2048,null,Wp,null,[Rm]),go(38,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(39,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[40,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,bb)),go(42,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,4,1,null,wb)),go(44,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.latlngFormGroup),t(e,6,0,"decimal"==n.coordFormat),t(e,8,0,"dms"==n.coordFormat),t(e,10,0),t(e,21,0,n.elevationFormGroup),t(e,36,0,"elevationInput"),t(e,38,0,"altitude"),t(e,42,0,n.isLoadingElevation),t(e,44,0,!n.isLoadingElevation)},function(t,e){t(e,1,0,io(e,4).ngClassUntouched,io(e,4).ngClassTouched,io(e,4).ngClassPristine,io(e,4).ngClassDirty,io(e,4).ngClassValid,io(e,4).ngClassInvalid,io(e,4).ngClassPending),t(e,14,0,io(e,15)._highlighted,io(e,15)._triggersSubmenu,io(e,15)._getTabIndex(),io(e,15).disabled.toString(),io(e,15).disabled||null),t(e,17,0,io(e,18)._highlighted,io(e,18)._triggersSubmenu,io(e,18)._getTabIndex(),io(e,18).disabled.toString(),io(e,18).disabled||null),t(e,20,0,io(e,23).ngClassUntouched,io(e,23).ngClassTouched,io(e,23).ngClassPristine,io(e,23).ngClassDirty,io(e,23).ngClassValid,io(e,23).ngClassInvalid,io(e,23).ngClassPending),t(e,24,1,["standard"==io(e,25).appearance,"fill"==io(e,25).appearance,"outline"==io(e,25).appearance,"legacy"==io(e,25).appearance,io(e,25)._control.errorState,io(e,25)._canLabelFloat,io(e,25)._shouldLabelFloat(),io(e,25)._hideControlPlaceholder(),io(e,25)._control.disabled,io(e,25)._control.autofilled,io(e,25)._control.focused,"accent"==io(e,25).color,"warn"==io(e,25).color,io(e,25)._shouldForward("untouched"),io(e,25)._shouldForward("touched"),io(e,25)._shouldForward("pristine"),io(e,25)._shouldForward("dirty"),io(e,25)._shouldForward("valid"),io(e,25)._shouldForward("invalid"),io(e,25)._shouldForward("pending"),!io(e,25)._animationsEnabled]),t(e,33,1,[io(e,38)._isServer,io(e,38).id,io(e,38).placeholder,io(e,38).disabled,io(e,38).required,io(e,38).readonly,io(e,38)._ariaDescribedby||null,io(e,38).errorState,io(e,38).required.toString(),io(e,39).ngClassUntouched,io(e,39).ngClassTouched,io(e,39).ngClassPristine,io(e,39).ngClassDirty,io(e,39).ngClassValid,io(e,39).ngClassInvalid,io(e,39).ngClassPending])})}function Eb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(1,null,["altitude : "," m"]))],null,function(t,e){t(e,1,0,e.component.elevationFormGroup.controls.elevationInput.value)})}function Cb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"div",[],null,null,null,null,null)),(t()(),Ho(-1,null,["altitude : calcul en cours..."]))],null,null)}function Lb(t){return Go(0,[(t()(),Ts(0,0,null,null,10,"div",[["class","sub-map-infos"]],[[2,"has-data",null]],null,null,null,null)),(t()(),Ts(1,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(2,null,["latitude : ",""])),jo(3,2),(t()(),Ts(4,0,null,null,2,"div",[],null,null,null,null,null)),(t()(),Ho(5,null,["longitude : ",""])),jo(6,2),(t()(),Ss(16777216,null,null,1,null,Eb)),go(8,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ss(16777216,null,null,1,null,Cb)),go(10,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,8,0,!n.isLoadingElevation),t(e,10,0,n.isLoadingElevation)},function(t,e){var n=e.component;t(e,0,0,""!==n.latlngFormGroup.controls.latInput.value&&""!==n.latlngFormGroup.controls.lngInput.value),t(e,2,0,Yi(e,2,0,t(e,3,0,io(e.parent,1),n.latlngFormGroup.controls.latInput.value,"2.0-6"))),t(e,5,0,Yi(e,5,0,t(e,6,0,io(e.parent,1),n.latlngFormGroup.controls.lngInput.value,"2.0-6")))})}function kb(t){return Go(0,[yo(0,tf,[Qm]),yo(0,Dl,[ri]),(t()(),Ts(2,0,null,null,34,"div",[["id","geoloc-map"]],null,null,null,null,null)),(t()(),Ts(3,0,null,null,29,"div",[["id","geoloc-map-meta"]],null,null,null,null,null)),(t()(),Ts(4,0,null,null,26,"mat-form-field",[["class","mat-form-field"],["style","width: 100%;"]],[[2,"mat-form-field-appearance-standard",null],[2,"mat-form-field-appearance-fill",null],[2,"mat-form-field-appearance-outline",null],[2,"mat-form-field-appearance-legacy",null],[2,"mat-form-field-invalid",null],[2,"mat-form-field-can-float",null],[2,"mat-form-field-should-float",null],[2,"mat-form-field-hide-placeholder",null],[2,"mat-form-field-disabled",null],[2,"mat-form-field-autofilled",null],[2,"mat-focused",null],[2,"mat-accent",null],[2,"mat-warn",null],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"_mat-animation-noopable",null]],null,null,Yv,zv)),go(5,7389184,null,7,Oy,[Mn,Rn,[2,Fd],[2,Su],[2,Ay],Fl,rn,[2,zg]],null,null),Oo(335544320,1,{_control:0}),Oo(335544320,2,{_placeholderChild:0}),Oo(335544320,3,{_labelChild:0}),Oo(603979776,4,{_errorChildren:1}),Oo(603979776,5,{_hintChildren:1}),Oo(603979776,6,{_prefixChildren:1}),Oo(603979776,7,{_suffixChildren:1}),(t()(),Ts(13,16777216,null,1,8,"input",[["aria-label","Trouver un lieu"],["class","mat-input-element mat-form-field-autofill-control"],["matInput",""],["placeholder","Trouver un lieu"]],[[1,"autocomplete",0],[1,"role",0],[1,"aria-autocomplete",0],[1,"aria-activedescendant",0],[1,"aria-expanded",0],[1,"aria-owns",0],[2,"mat-input-server",null],[1,"id",0],[1,"placeholder",0],[8,"disabled",0],[8,"required",0],[8,"readOnly",0],[1,"aria-describedby",0],[1,"aria-invalid",0],[1,"aria-required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"focusin"],[null,"blur"],[null,"input"],[null,"keydown"],[null,"compositionstart"],[null,"compositionend"],[null,"focus"]],function(t,e,n){var i=!0;return"focusin"===e&&(i=!1!==io(t,14)._handleFocus()&&i),"blur"===e&&(i=!1!==io(t,14)._onTouched()&&i),"input"===e&&(i=!1!==io(t,14)._handleInput(n)&&i),"keydown"===e&&(i=!1!==io(t,14)._handleKeydown(n)&&i),"input"===e&&(i=!1!==io(t,15)._handleInput(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,15).onTouched()&&i),"compositionstart"===e&&(i=!1!==io(t,15)._compositionStart()&&i),"compositionend"===e&&(i=!1!==io(t,15)._compositionEnd(n.target.value)&&i),"blur"===e&&(i=!1!==io(t,19)._focusChanged(!1)&&i),"focus"===e&&(i=!1!==io(t,19)._focusChanged(!0)&&i),"input"===e&&(i=!1!==io(t,19)._onInput()&&i),i},null,null)),go(14,147456,null,0,ry,[Mn,ru,On,rn,Rn,sy,[2,Su],[2,Oy],[2,Ol],Lh],{autocomplete:[0,"autocomplete"]},null),go(15,16384,null,0,Up,[Pn,Mn,[2,Zp]],null,null),vo(1024,null,Hp,function(t,e){return[t,e]},[ry,Up]),go(17,540672,null,0,Pm,[[8,null],[8,null],[6,Hp],[2,Im]],{form:[0,"form"]},null),vo(2048,null,Wp,null,[Pm]),go(19,999424,null,0,Hy,[Mn,Fl,[6,Wp],[2,Tm],[2,Mm],yd,[8,null],Fy,rn],{placeholder:[0,"placeholder"]},null),go(20,16384,null,0,mm,[[4,Wp]],null,null),vo(2048,[[1,4]],Ly,null,[Hy]),(t()(),Ss(16777216,null,4,1,null,rb)),go(23,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(24,0,null,1,6,"mat-autocomplete",[["class","mat-autocomplete"]],null,[[null,"optionSelected"]],function(t,e,n){var i=!0;return"optionSelected"===e&&(i=!1!==t.component.addressSelectedChanged(n)&&i),i},sb,nb)),vo(6144,null,Od,null,[ey]),go(26,1097728,[["auto",4]],2,ey,[Rn,Mn,ty],null,{optionSelected:"optionSelected"}),Oo(603979776,8,{options:1}),Oo(603979776,9,{optionGroups:1}),(t()(),Ss(16777216,null,0,1,null,hb)),go(30,802816,null,0,sl,[On,An,ti],{ngForOf:[0,"ngForOf"]},null),(t()(),Ss(16777216,null,null,1,null,xb)),go(32,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null),(t()(),Ts(33,0,null,null,1,"div",[["id","geoloc-map-draw"],["leaflet",""],["style","height: 400px; min-height: 400px;"]],null,[[null,"leafletMapReady"],["window","resize"]],function(t,e,n){var i=!0,s=t.component;return"window:resize"===e&&(i=!1!==io(t,34).onResize()&&i),"leafletMapReady"===e&&(i=!1!==s.onMapReady(n)&&i),i},null,null)),go(34,606208,null,0,jm,[Mn,rn],{options:[0,"options"]},{mapReady:"leafletMapReady"}),(t()(),Ss(16777216,null,null,1,null,Lb)),go(36,16384,null,0,rl,[On,An],{ngIf:[0,"ngIf"]},null)],function(t,e){var n=e.component;t(e,14,0,io(e,26)),t(e,17,0,n.geoSearchFormGroup.controls.placeInput),t(e,19,0,"Trouver un lieu"),t(e,23,0,n.isLoadingAddress),t(e,30,0,n.geoSearchResults),t(e,32,0,n.showLatLngElevationInputs),t(e,34,0,n.mapOptions),t(e,36,0,!n.showLatLngElevationInputs)},function(t,e){t(e,4,1,["standard"==io(e,5).appearance,"fill"==io(e,5).appearance,"outline"==io(e,5).appearance,"legacy"==io(e,5).appearance,io(e,5)._control.errorState,io(e,5)._canLabelFloat,io(e,5)._shouldLabelFloat(),io(e,5)._hideControlPlaceholder(),io(e,5)._control.disabled,io(e,5)._control.autofilled,io(e,5)._control.focused,"accent"==io(e,5).color,"warn"==io(e,5).color,io(e,5)._shouldForward("untouched"),io(e,5)._shouldForward("touched"),io(e,5)._shouldForward("pristine"),io(e,5)._shouldForward("dirty"),io(e,5)._shouldForward("valid"),io(e,5)._shouldForward("invalid"),io(e,5)._shouldForward("pending"),!io(e,5)._animationsEnabled]),t(e,13,1,[io(e,14).autocompleteAttribute,io(e,14).autocompleteDisabled?null:"combobox",io(e,14).autocompleteDisabled?null:"list",null==io(e,14).activeOption?null:io(e,14).activeOption.id,io(e,14).autocompleteDisabled?null:io(e,14).panelOpen.toString(),io(e,14).autocompleteDisabled||!io(e,14).panelOpen?null:null==io(e,14).autocomplete?null:io(e,14).autocomplete.id,io(e,19)._isServer,io(e,19).id,io(e,19).placeholder,io(e,19).disabled,io(e,19).required,io(e,19).readonly,io(e,19)._ariaDescribedby||null,io(e,19).errorState,io(e,19).required.toString(),io(e,20).ngClassUntouched,io(e,20).ngClassTouched,io(e,20).ngClassPristine,io(e,20).ngClassDirty,io(e,20).ngClassValid,io(e,20).ngClassInvalid,io(e,20).ngClassPending])})}var Sb=Ji({encapsulation:0,styles:[[""]],data:{}});function Tb(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"tb-geoloc-map",[],null,[[null,"location"]],function(t,e,n){var i=!0;return"location"===e&&(i=!1!==t.component.newLocation(n)&&i),i},kb,ob)),go(1,245760,null,0,Jm,[Nm,Qm,Xm,rn],{layersToAdd:[0,"layersToAdd"],geolocatedPhotoLatLng:[1,"geolocatedPhotoLatLng"],osmClassFilter:[2,"osmClassFilter"],allowEditDrawnItems:[3,"allowEditDrawnItems"],marker:[4,"marker"],polyline:[5,"polyline"],polygon:[6,"polygon"],latLngInit:[7,"latLngInit"],zoomInit:[8,"zoomInit"],getOsmSimpleLine:[9,"getOsmSimpleLine"],showLatLngElevationInputs:[10,"showLatLngElevationInputs"],elevationProvider:[11,"elevationProvider"],geolocationProvider:[12,"geolocationProvider"],mapQuestApiKey:[13,"mapQuestApiKey"]},{location:"location"})],function(t,e){var n=e.component;t(e,1,1,[n.layers_to_add,n.geolocated_photo_lat_lng,n._osm_class_filters,n.allow_edit_drawn_items,n._marker,n._polyline,n._polygon,n.lat_lng_init,n.zoom_init,n._get_osm_simple_line,n._show_lat_lng_elevation_inputs,n.elevation_provider,n.geolocation_provider,n.map_quest_api_key])},null)}var Ib=$s("app-root",aa,function(t){return Go(0,[(t()(),Ts(0,0,null,null,1,"app-root",[],null,null,null,Tb,Sb)),go(1,49152,null,0,aa,[],null,null)],null,null)},{layer:"layer",layers_to_add:"layers_to_add",geolocated_photo_lat_lng:"geolocated_photo_lat_lng",osm_class_filter:"osm_class_filter",allow_edit_drawn_items:"allow_edit_drawn_items",marker:"marker",polyline:"polyline",polygon:"polygon",zoom_init:"zoom_init",lat_init:"lat_init",lng_init:"lng_init",lat_lng_init:"lat_lng_init",get_osm_simple_line:"get_osm_simple_line",show_lat_lng_elevation_inputs:"show_lat_lng_elevation_inputs",elevation_provider:"elevation_provider",geolocation_provider:"geolocation_provider",map_quest_api_key:"map_quest_api_key"},{location:"location"},[]),Pb=function(t,e,n){return new class extends Xe{constructor(t,e,n){super(),this.moduleType=t,this._bootstrapComponents=e,this._ngModuleDefFactory=n}create(t){!function(){if(pr)return;pr=!0;const t=bn()?{setCurrentNode:Nr,createRootView:fr,createEmbeddedView:gr,createComponentView:yr,createNgModuleRef:vr,overrideProvider:Er,overrideComponentView:Cr,clearOverrides:Lr,checkAndUpdateView:Ir,checkNoChangesView:Pr,destroyView:Mr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:Fr,updateDirectives:zr,updateRenderer:Vr}:{setCurrentNode:()=>{},createRootView:mr,createEmbeddedView:Wo,createComponentView:Yo,createNgModuleRef:ro,overrideProvider:qi,overrideComponentView:qi,clearOverrides:qi,checkAndUpdateView:er,checkNoChangesView:tr,destroyView:rr,createDebugContext:(t,e)=>new qr(t,e),handleEvent:(t,e,n,i)=>t.def.handleEvent(t,e,n,i),updateDirectives:(t,e)=>t.def.updateDirectives(0===e?Sr:Tr,t),updateRenderer:(t,e)=>t.def.updateRenderer(0===e?Sr:Tr,t)};Zi.setCurrentNode=t.setCurrentNode,Zi.createRootView=t.createRootView,Zi.createEmbeddedView=t.createEmbeddedView,Zi.createComponentView=t.createComponentView,Zi.createNgModuleRef=t.createNgModuleRef,Zi.overrideProvider=t.overrideProvider,Zi.overrideComponentView=t.overrideComponentView,Zi.clearOverrides=t.clearOverrides,Zi.checkAndUpdateView=t.checkAndUpdateView,Zi.checkNoChangesView=t.checkNoChangesView,Zi.destroyView=t.destroyView,Zi.resolveDep=To,Zi.createDebugContext=t.createDebugContext,Zi.handleEvent=t.handleEvent,Zi.updateDirectives=t.updateDirectives,Zi.updateRenderer=t.updateRenderer,Zi.dirtyParentQueries=Ro}();const e=ys(this._ngModuleDefFactory);return Zi.createNgModuleRef(this.moduleType,t||Nt.NULL,this._bootstrapComponents,e)}}(la,[],function(t){return function(t){const e={},n=[];let i=!1;for(let s=0;s<t.length;s++){const o=t[s];o.token===Ie&&(i=!0),1073741824&o.flags&&n.push(o.token),o.index=s,e[Ki(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:i}}([Fs(512,We,Ke,[[8,[Bd,Ib]],[3,We],Qe]),Fs(5120,ri,hi,[[3,ri]]),Fs(4608,Ja,tl,[ri,[2,Xa]]),Fs(4608,He,He,[]),Fs(5120,Oe,Re,[]),Fs(5120,ti,ai,[]),Fs(5120,ei,li,[]),Fs(4608,td,ed,[Ol]),Fs(6144,Ri,null,[td]),Fs(4608,Kc,Yc,[]),Fs(5120,Ec,function(t,e,n,i,s,o){return[new class extends Lc{constructor(t,e){super(t),this.ngZone=e,this.patchEvent()}patchEvent(){if(!Event||!Event.prototype)return;if(Event.prototype.__zone_symbol__stopImmediatePropagation)return;const t=Event.prototype.__zone_symbol__stopImmediatePropagation=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[Uc]=!0),t&&t.apply(this,arguments)}}supports(t){return!0}addEventListener(t,e,n){let i=n;if(!t[jc]||rn.isInAngularZone()&&!$c(e))t.addEventListener(e,i,!1);else{let n=Zc[e];n||(n=Zc[e]=Bc("ANGULAR"+e+"FALSE"));let s=t[n];const o=s&&s.length>0;s||(s=t[n]=[]);const r=$c(e)?Zone.root:Zone.current;if(0===s.length)s.push({zone:r,handler:i});else{let t=!1;for(let e=0;e<s.length;e++)if(s[e].handler===i){t=!0;break}t||s.push({zone:r,handler:i})}o||t[jc](e,qc,!1)}return()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,n){let i=t[Hc];if(!i)return t.removeEventListener.apply(t,[e,n,!1]);let s=Zc[e],o=s&&t[s];if(!o)return t.removeEventListener.apply(t,[e,n,!1]);let r=!1;for(let a=0;a<o.length;a++)if(o[a].handler===n){r=!0,o.splice(a,1);break}r?0===o.length&&i.apply(t,[e,qc,!1]):t.removeEventListener.apply(t,[e,n,!1])}}(t,e),new Jc(n),new class extends Lc{constructor(t,e,n){super(t),this._config=e,this.console=n}supports(t){return!(!Wc.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&(this.console.warn(`Hammer.js is not loaded, can not bind '${t}' event.`),1))}addEventListener(t,e,n){const i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(()=>{const s=this._config.buildHammer(t),o=function(t){i.runGuarded(function(){n(t)})};return s.on(e,o),()=>s.off(e,o)})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}(i,s,o)]},[Ol,rn,Ol,Ol,Kc,Be]),Fs(4608,Cc,Cc,[Ec,rn]),Fs(135680,Sc,Sc,[Ol]),Fs(4608,Oc,Oc,[Cc,Sc]),Fs(5120,wf,Rg,[]),Fs(5120,v_,Ng,[]),Fs(4608,ng,Og,[wf,v_]),Fs(5120,Tn,Fg,[Oc,ng,rn]),Fs(6144,kc,null,[Sc]),Fs(4608,pn,pn,[rn]),Fs(4608,fc,fc,[Ol]),Fs(4608,vc,vc,[Ol]),Fs(4608,ha,Lg,[Tn,dc]),Fs(4608,mp,fp,[Ol,ze,dp]),Fs(4608,_p,_p,[mp,pp]),Fs(5120,rp,function(t){return[t]},[_p]),Fs(4608,up,up,[]),Fs(6144,hp,null,[up]),Fs(4608,cp,cp,[hp]),Fs(6144,Zd,null,[cp]),Fs(4608,Hd,gp,[Zd,Nt]),Fs(4608,sp,sp,[Hd]),Fs(4608,ru,ru,[Yh,Xh,We,su,Qh,Nt,rn,Ol,Su]),Fs(5120,au,lu,[ru]),Fs(5120,jg,Hg,[ru]),Fs(4608,yd,yd,[]),Fs(5120,sy,oy,[ru]),Fs(4608,Eu,Eu,[]),Fs(5120,pu,mu,[ru]),Fs(5120,yy,vy,[ru]),Fs(4608,Kp,Kp,[]),Fs(4608,Nm,Nm,[]),Fs(1073742336,Al,Al,[]),Fs(1024,he,hd,[]),Fs(1024,De,function(t){return[function(t){return bc("probe",xc),bc("coreTokens",Object.assign({},wc,(t||[]).reduce((t,e)=>(t[e.name]=e.token,t),{}))),()=>xc}(t)]},[[2,wn]]),Fs(512,Ae,Ae,[[2,De]]),Fs(131584,kn,kn,[rn,Be,Nt,he,We,Ae]),Fs(1073742336,ui,ui,[kn]),Fs(1073742336,ud,ud,[[3,ud]]),Fs(1073742336,Vg,Vg,[]),Fs(1073742336,yp,yp,[]),Fs(1073742336,vp,vp,[]),Fs(1073742336,Tu,Tu,[]),Fs(1073742336,Fh,Fh,[]),Fs(1073742336,Zl,Zl,[]),Fs(1073742336,kh,kh,[]),Fs(1073742336,hu,hu,[]),Fs(1073742336,md,md,[[2,pd]]),Fs(1073742336,kd,kd,[]),Fs(1073742336,Td,Td,[]),Fs(1073742336,Nd,Nd,[]),Fs(1073742336,Ry,Ry,[]),Fs(1073742336,Zg,Zg,[]),Fs(1073742336,zy,zy,[]),Fs(1073742336,Zy,Zy,[]),Fs(1073742336,ay,ay,[]),Fs(1073742336,Qy,Qy,[]),Fs(1073742336,Lu,Lu,[]),Fs(1073742336,Ju,Ju,[]),Fs(1073742336,yu,yu,[]),Fs(1073742336,Jy,Jy,[]),Fs(1073742336,pv,pv,[]),Fs(1073742336,vv,vv,[]),Fs(1073742336,bv,bv,[]),Fs(1073742336,wv,wv,[]),Fs(1073742336,xy,xy,[]),Fs(1073742336,Ev,Ev,[]),Fs(1073742336,Cv,Cv,[]),Fs(1073742336,Hm,Hm,[]),Fs(1073742336,Zm,Zm,[]),Fs(1073742336,Fm,Fm,[]),Fs(1073742336,zm,zm,[]),Fs(1073742336,Vm,Vm,[]),Fs(1073742336,ef,ef,[]),Fs(1073742336,la,la,[Nt]),Fs(256,Ie,!0,[]),Fs(256,zg,"BrowserAnimations",[]),Fs(256,dp,"XSRF-TOKEN",[]),Fs(256,pp,"X-XSRF-TOKEN",[]),Fs(256,Xy,{separatorKeyCodes:[Ea]},[])])})}();(function(){if(yn)throw new Error("Cannot enable prod mode after platform setup.");gn=!1})(),ld().bootstrapModuleFactory(Pb).catch(t=>console.log(t))}},[[2,0]]]);
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/WidgetSaisie.js
New file
0,0 → 1,719
/**
* Constructeur WidgetSaisie par défaut
*/
function WidgetSaisie( proprietes ) {
if ( valOk(proprietes) ) {
this.urlWidgets = proprietes.urlWidgets;
this.projet = proprietes.projet;
this.idProjet = proprietes.idProjet;
this.tagsMotsCles = proprietes.tagsMotsCles;
this.mode = proprietes.mode;
this.langue = proprietes.langue;
this.serviceAnnuaireIdUrl = proprietes.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = proprietes.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = proprietes.serviceNomCommuneUrlAlt;
this.debug = proprietes.debug;
this.html5 = proprietes.html5;
this.serviceSaisieUrl = proprietes.serviceSaisieUrl;
this.serviceObsUrl = proprietes.serviceObsUrl;
this.chargementImageIconeUrl = proprietes.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = proprietes.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = proprietes.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = proprietes.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = proprietes.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = proprietes.dureeMessage;
this.obsMaxNbre = proprietes.obsMaxNbre;
this.tagImg = proprietes.tagImg;
this.tagObs = proprietes.tagObs;
this.obsId = proprietes.obsId;
this.nomSciReferentiel = proprietes.nomSciReferentiel;
this.especeImposee = proprietes.especeImposee;
this.infosEspeceImposee = proprietes.infosEspeceImposee;
this.referentielImpose = proprietes.referentielImpose;
this.isTaxonListe = proprietes.isTaxonListe;
this.utils = utils;
this.msgs = utils.msgs;
}
this.urlRacine = window.location.origin;
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.observer = null;
this.isASL = false;
}
WidgetSaisie.prototype = new WidgetsSaisiesCommun();
 
var valOk = WidgetSaisie.prototype.valOk;
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetSaisie.prototype.initForm = function() {
const lthis = this;
 
this.initFormConnection();
if ( this.valOk( this.obsId ) ) {
this.chargerInfoObs();
}
if( this.isTaxonListe ) {
this.initFormTaxonListe();
} else {
this.ajouterAutocompletionNoms();
}
// au rafraichissement de la page,
// les input date semblent conserver la valeur entrée précedemment
// c'est voulu après la création d'une obs mais pas quand la page est actualisée
// Déjà tenté: onbeforeunload avec un location.reload(true) n'a pas permis de le faire
$( 'input[type=date]' ).each( function () {
( lthis.valOk( $( this ).data( 'default' ) ) ) ? $( this ).val( $( this ).data( 'default' ) ) : $( this ).val( '' );
});
this.configurerFormValidator();
this.definirReglesFormValidator();
 
if( this.especeImposee ) {
$( '#taxon' ).attr( 'disabled', 'disabled' );
$( '#taxon-input-groupe' ).attr( 'title', '' );
// Bricolage cracra pour avoir le nom retenu avec auteur (nom_retenu.libelle ne le mentionne pas)
var infosEspeceImposee = $.parseJSON( this.infosEspeceImposee );
nomRetenuComplet = infosEspeceImposee.nom_retenu_complet,
debutAnneRefBiblio = nomRetenuComplet.indexOf( ' [' );
if ( -1 !== debutAnneRefBiblio ) {
nomRetenuComplet = nomRetenuComplet.substr( 0, debutAnneRefBiblio );
}
// fin bricolage cracra
var infosAssociee = {
label : infosEspeceImposee.nom_sci_complet,
value : infosEspeceImposee.nom_sci_complet,
nt : infosEspeceImposee.num_taxonomique,
nomSel : infosEspeceImposee.nom_sci,
nomSelComplet : infosEspeceImposee.nom_sci_complet,
numNomSel : infosEspeceImposee.id,
nomRet : nomRetenuComplet,
numNomRet : infosEspeceImposee['nom_retenu.id'],
famille : infosEspeceImposee.famille,
retenu : ( 'false' === infosEspeceImposee.retenu ) ? false : true
};
$( '#taxon' ).data( infosAssociee );
}
};
 
/**
* Initialise les écouteurs d'événements
*/
WidgetSaisie.prototype.initEvts = function() {
const lthis = this;
 
// identité
this.initEvtsConnection();
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
$( '#referentiel' ).on( 'change', this.surChangementReferentiel.bind( this ) );
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
// Alertes et aides
this.initEvtsAlertes();
// message avant de quitter le formulaire
this.confirmerSortie();
};
 
// Identité Observateur par courriel
WidgetSaisie.prototype.requeterIdentiteCourriel = function() {
const lthis = this;
 
var courriel = $( '#courriel' ).val();
var urlAnnuaire = this.serviceAnnuaireIdUrl + courriel;
 
if ( this.valOk( courriel ) ) {
$.ajax({
url : urlAnnuaire,
type : 'GET',
success : function( data, textStatus, jqXHR ) {
if ( lthis.debug ) {
console.log( 'SUCCESS: ' + textStatus );
}
if ( lthis.valOk( data ) && lthis.valOk( data[courriel] ) ) {
var infos = data[courriel];
lthis.surSuccesCompletionCourriel( infos, courriel );
} else {
lthis.surErreurCompletionCourriel();
}
},
error : function( jqXHR, textStatus, errorThrown ) {
if ( lthis.debug ) {
console.log( 'ERREUR: '+ textStatus );
}
lthis.surErreurCompletionCourriel();
},
complete : function( jqXHR, textStatus ) {
if ( lthis.debug ) {
console.log( 'COMPLETE: '+ textStatus );
}
}
});
}
};
 
// se déclanche quand on choisit "Observation sans inscription" mais que le mail entré est incrit à Tela
WidgetSaisie.prototype.surSuccesCompletionCourriel = function( infos, courriel ) {
if ( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) ) {// si quelque chose a foiré après actualisation
if ( !this.valOk( $( '#warning-identite' ) ) ) {
$( '#zone-courriel' ).before( '<p id="warning-identite" class="warning"><i class="fas fa-exclamation-triangle"></i> ' + this.msgTraduction( 'courriel-connu' ) + '</p>' );
}
$( '#inscription, #zone-prenom-nom, #zone-courriel-confirmation' ).addClass( 'hidden' );
$( '#prenom, #nom, #courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '.nav.control-group' ).addClass( 'error' );
}
};
 
// se déclanche quand on choisit "Observation sans inscription" et qu'effectivement le mail n'est pas connu de Tela
WidgetSaisie.prototype.surErreurCompletionCourriel = function() {
$( '#creation-compte, #zone-prenom-nom, #zone-courriel-confirmation' ).removeClass( 'hidden' );
$( '#warning-identite' ).remove();
$( '.nav.control-group' ).removeClass( 'error' );
$( '#prenom, #nom, #courriel_confirmation' ).val( '' ).removeAttr( 'disabled' );
};
 
WidgetSaisie.prototype.testerLancementRequeteIdentite = function( event ) {
if ( this.valOk( event.which, true, 13 ) ) {
this.requeterIdentiteCourriel();
event.preventDefault();
event.stopPropagation();
}
};
 
WidgetSaisie.prototype.reduireVoletIdentite = function() {
if ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() ) {
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#bienvenue').removeClass( 'hidden' );
$( '#inscription, #zone-courriel' ).addClass( 'hidden' );
if ( lthis.valOk( $( '#nom' ).val() ) && lthis.valOk( $( '#prenom' ).val() ) ) {
$( '#zone-prenom-nom' ).addClass( 'hidden' );
$( '#bienvenue-prenom' ).text( ' ' + $( '#prenom' ).val() );
$( '#bienvenue-nom' ).text( ' ' + $( '#nom' ).val() );
} else {
$( '#zone-prenom-nom' ).removeClass( 'hidden' );
$( '#bienvenue-prenom,#bienvenue-nom' ).text( '' );
}
} else {
$( '#bouton-connexion, #creation-compte' ).removeClass( 'hidden' );
$( '#bienvenue').addClass( 'hidden' );
}
};
 
 
WidgetSaisie.prototype.formaterNom = function() {
$( '#nom' ).val( $( '#nom' ).val().toUpperCase() );
};
 
WidgetSaisie.prototype.formaterPrenom = function() {
var prenom = new Array(),
mots = $( '#prenom' ).val().split( ' ' ),
motsLength = mots.length;
 
for ( var i = 0; i < motsLength; i++ ) {
var mot = mots[i];
if ( 0 <= mot.indexOf( '-' ) ) {
var prenomCompose = new Array(),
motsComposes = mot.split( '-' )
motsComposesLength = motsComposes.length;
for ( var j = 0; j < motsComposesLength; j++ ) {
var motSimple = motsComposes[j],
motMajuscule = motSimple.charAt(0).toUpperCase() + motSimple.slice(1);
 
prenomCompose.push( motMajuscule );
}
prenom.push( prenomCompose.join( '-' ) );
} else {
var motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
prenom.push( motMajuscule );
}
}
$( '#prenom' ).val( prenom.join( ' ' ) );
};
 
WidgetSaisie.prototype.bloquerCopierCollerCourriel = function() {
this.afficherPanneau( '#dialogue-bloquer-copier-coller' );
return false;
};
 
// Préchargement des infos-obs ************************************************/
WidgetSaisie.prototype.chargerInfoObs = function() {
const lthis = this;
 
var urlObs = this.serviceObsUrl + '/' + this.obsId;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( data, textStatus, jqXHR ) {
if ( lthis.valOk( data ) ) {
lthis.prechargerForm( data );
} else {
lthis.surErreurChargementInfosObs.bind( lthis );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
lthis.surErreurChargementInfosObs();
}
});
};
 
// @TODO faire mieux que ça !
WidgetSaisie.prototype.surErreurChargementInfosObs = function() {
this.activerModale( this.msgTraduction( 'erreur-chargement' ) );
};
 
WidgetSaisie.prototype.prechargerForm = function( data ) {
$( '#milieu' ).val( data.milieu );
$( '#commune-nom' ).text( data.zoneGeo );
if( data.hasOwnProperty( 'codeZoneGeo' ) ) {
// TODO: trouver un moyen qui fonctionne lorsqu'on aura d'autres référentiels que INSEE
$( '#commune-insee' ).text( data.codeZoneGeo.replace( 'INSEE-C:', '' ) );
}
 
if( data.hasOwnProperty( 'latitude' ) && data.hasOwnProperty( 'longitude' ) ) {
// $cartoRemplacee = $( '#tb-geolocation' ),
// suffixe = '',
// layer = 'osm',
// zoomInit = 18
var typeLocalisation = $( '#top' ).data( 'type-loc' ),
donnesResetCarto = {
latitude : data.latitude,
longitude : data.longitude,
typeLocalisation : typeLocalisation
};
this.transfererCarto( donnesResetCarto );
}
};
 
// Ajouter Obs ****************************************************************/
/**
* Retourne un Array contenant les valeurs des champs étendus
*/
WidgetSaisie.prototype.getObsChpSpecifiques = function() {
const lthis = this;
 
var champs = new Array(),
$thisForm = $( '#form-supp' ),
elements =
'input[type=text]:not(.collect-other),'+
'input[type=checkbox]:checked,'+
'input[type=radio]:checked,'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date],'+
'textarea,'+
'.select',
retour = new Array();
 
$( elements, $thisForm ).each( function() {
if ( lthis.valOk( $( this ).val() ) && ( lthis.valOk( $( this ).attr( 'name' ) ) || lthis.valOk( $( this ).data( 'name' ) ) ) ) {
var valeur = $( this ).val(),
cle = ( lthis.valOk( $( this ).attr( 'name' ) ) ) ? $( this ).attr( 'name' ) : $( this ).data( 'name' );
if ( cle in champs ) {
champs[cle] += ';' + valeur;
} else {
champs[cle] = valeur;
}
}
});
for ( var key in champs ) {
retour.push({ 'cle' : key , 'valeur' : champs[key] });
}
if ( this.valOk( $( '#coord-lineaire' ).val() ) ) {
retour.push({ 'cle' : 'coordonnees-rue-ou-lineaire' , 'valeur' : $( '#coord-lineaire' ).val() });
}
return retour;
};
 
WidgetSaisie.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
if( !this.especeImposee ) {
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' )
.data( 'nomRet','' )
.data( 'numNomRet', '' )
.data( 'nt', '' )
.data( 'famille', '' );
if( this.isTaxonListe ) {
$( '#taxon-liste' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
$('#taxon-autre').val('');
}
}
if ( this.valOk( $( '#form-supp' ) ) ) {
$( '#form-supp' ).validate().resetForm();
}
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
WidgetSaisie.prototype.locationHandler = function( location ) {
var locDatas = location.originalEvent.detail;
 
if ( this.valOk( locDatas ) ) {
console.log( locDatas );
var geometry = JSON.stringify( locDatas.geometry );
var altitude = ( this.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var pays = ( this.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR';
var latitude = '';
var longitude = '';
var coordLineaire = '';
var nomCommune = '';
var communeInsee = '';
 
if ( this.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
coordLineaire = JSON.stringify( locDatas.geometry.coordinates );
if ( this.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
if ( this.valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( this.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( this.valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( this.valOk( locDatas.locality ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#geometry' ).val( geometry );
$( '#coord-lineaire' ).val( coordLineaire );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
if ( this.valOk( $( '#latitude' ).val() ) && this.valOk( $( '#longitude' ).val() ) ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.log( 'Error location' );
}
}
 
// Form Validator *************************************************************/
WidgetSaisie.prototype.chpEtendusValidation = function() {
const lthis = this;
 
var $thisForm = $( '#form-supp' ),
elements =
'.checkbox,'+
'.radio,'+
'.checkboxes,'+
'.select,'+
'textarea,'+
'input[type=text]:not(.collect-other),'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date]',
speFields = ['checkbox','radio','checkboxes','select'],
spefieldsCount = speFields.length,
chpSuppValidation = {
rules : {},
messages : {},
minmax : []
},
errors = {},
namesListFields = [],
picked = '';
 
$( elements, $thisForm ).each( function() {
for( var fieldsClass = 0; spefieldsCount > fieldsClass; fieldsClass++ ) {
if ( lthis.valOk( $( this ).attr( 'required' ) ) && $( this ).hasClass( speFields[fieldsClass] ) && !lthis.valOk( chpSuppValidation.rules[ dataName ] ) ) {
 
var dataName = $( this ).data( 'name' );
 
namesListFields.push( dataName );
chpSuppValidation.rules[ dataName ] = { required : true };
if ( lthis.valOk( $( '.other', $( this ) ) ) ) {
picked = ( 'select' === speFields[fieldsClass] ) ? ':selected' : ':checked';
chpSuppValidation.rules[ 'collect-other-' + dataName.replace( '[]', '' ) ] = {
required : '#other-' + dataName.replace( '[]', '' ) + picked,
minlength: 1
};
chpSuppValidation.messages[ 'collect-other-' + dataName.replace( '[]', '' ) ] = false;
}
chpSuppValidation.rules[ dataName ]['listFields'] = true;
chpSuppValidation.messages[ dataName ] = 'Ce champ est requis :\nVeuillez choisir une option, ou entrer une valeur autre valide.';
errors[dataName] = '.' + speFields[fieldsClass];
}
}
if ( lthis.valOk( $( this ).attr( 'name' ) ) && lthis.valOk ( $( this ).attr( 'required' ) ) && 0 > $.inArray( $( this ).attr( 'name' ) , namesListFields ) ) {
chpSuppValidation.rules[ $( this ).attr( 'name' ) ] = { required : true, minlength: 1 };
if(
( lthis.valOk( $( this ).attr( 'type' ), true, 'number' ) || lthis.valOk( $( this ).attr( 'type' ), true, 'range' ) ) &&
( lthis.valOk( $( this )[0].min ) || lthis.valOk( $( this )[0].max ) )
) {
chpSuppValidation.rules[ $( this ).attr('name') ]['minMaxOk'] = true;
chpSuppValidation.messages[ $( this ).attr('name') ] = lthis.validerMinMax( $( this )[0] ).message;
}
}
});
if ( this.valOk( chpSuppValidation.rules ) ) {
$.each( chpSuppValidation.rules, function( key ) {
if ( !lthis.valOk( chpSuppValidation.messages[key] ) ) {
chpSuppValidation.messages[key] = 'Ce champ est requis :\nVeuillez entrer une valeur valide.';
}
});
if ( 0 < Object.keys( errors ).length ) {
chpSuppValidation['errors'] = errors;
}
}
return chpSuppValidation;
};
 
WidgetSaisie.prototype.validerMinMax = function( element ) {
var mMCond = new Boolean(),
minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if(
( this.valOk( element.type, true, 'number' ) || this.valOk( element.type, true, 'range' ) ) &&
( this.valOk( element.min ) || this.valOk( element.max ) )
) {
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
return returnMnMx;
 
};
 
WidgetSaisie.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
var formSuppValidation = this.chpEtendusValidation();
 
$( '#form-supp' ).validate({
onclick : function( element ) {
if (
(
lthis.valOk( element.type, true, 'checkbox' ) ||
lthis.valOk( element.type, true, 'radio' )
) &&
(
!lthis.valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':checked' ) ) ||
lthis.valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':not(.other):checked' ) ) ||
!lthis.valOk( $( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ) ) ||
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) ||
(
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) &&
$( element ).closest( '.control-group' ).hasClass('error')
)
)
) {
$( element ).valid();
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
$( element ).next( $( 'span.error' ) ).remove();
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
return false;
},
rules : formSuppValidation.rules,
messages : formSuppValidation.messages,
errorPlacement : function( error , element ) {
if ( 0 < Object.keys( formSuppValidation.errors ).length ) {
var errorsKeys = Object.keys( formSuppValidation.errors ),
thisKey = '',
errorsFlag = true;
for ( i = 0 ; i < errorsKeys.length ; i++ ) {
thisKey = errorsKeys[i];
if( $( element ).attr( 'name' ) === thisKey ) {
$( formSuppValidation.errors[thisKey] ).append( error );
errorsFlag = false;
}
}
if ( errorsFlag ) {
error.insertAfter( element );
}
} else {
error.insertAfter( element );
}
}
});
$( '#form-supp .select' ).change( function() {
$( this ).valid();
});
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.valOk( $( this ).val() ), images );
});
// Validation miniatures avec MutationObserver
this.surPresenceAbsenceMiniature();
$( '#form-observation' ).validate({
rules : {
date_releve : {
required : true,
'dateCel' : true
},
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
email : true,
'userEmailOk' : true
},
courriel_confirmation : {
required : true,
equalTo : '#courriel'
}
}
});
$( '#connexion,#inscription,#bouton-anonyme' ).on( 'click', function( event ) {
$( '.nav.control-group' ).removeClass( 'error' );
});
};
 
WidgetSaisie.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
WidgetSaisie.prototype.surPresenceAbsenceMiniature = function() {
const lthis = this;
 
// voir : https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/disconnect
// Selectionne le noeud dont les mutations seront observées
var targetNode = document.getElementById( 'miniatures' );
// Fonction callback à éxécuter quand une mutation est observée
var callback = function( mutationsList ) {
for( var mutation of mutationsList ) {
var taxon = lthis.valOk( $( '#taxon' ).val() );
 
images = ( 0 < mutation.target.childElementCount );
lthis.validerTaxonImage( taxon, images );
}
};
// Créé une instance de l'observateur lié à la fonction de callback
this.observer = new MutationObserver( callback );
// Commence à observer le noeud cible pour les mutations précédemment configurées
this.observer.observe( targetNode, { childList: true } );
};
 
WidgetSaisie.prototype.validerForm = function() {
const lthis = this;
 
var observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() );
var obs = $( '#form-observation' ).valid();
var geoloc = ( this.valOk( $( '#latitude' ).val() ) && this.valOk( $( '#longitude' ).val() ) ) ;
var images = this.valOk( $( '#miniatures .miniature' ) );
var taxon = this.valOk( $( '#taxon' ).val() );
// validation et panneau taxon/images
var taxonOuImage = this.validerTaxonImage( taxon, images );
var chpsSupp = new Boolean();
if ( this.valOk( $( '#form-supp' ) ) ) {
chpsSupp = ( function () {
var otherFlag = $( '#form-supp' ).valid();
if( lthis.valOk( $( '.other', $( '#form-supp' ) ) ) ) {
$( '.other', $( '#form-supp' ) ).each( function() {
var picked = ( $( this ).data( 'element' ) !== 'select' ) ? ':checked' : ':selected';
if ( $( this ).is( picked ) && lthis.valOk( $( this ).val(), true, 'other' ) ) {
otherFlag = false;
}
});
}
return otherFlag;
})();
} else {
chpsSupp = true;
}
// panneau geoloc
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else{
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).addClass( 'error' );
}
return ( observateur && obs && geoloc && taxonOuImage && chpsSupp );
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
WidgetSaisie.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
};
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/ReleveASL.js
New file
0,0 → 1,1024
/**
* Constructeur ReleveASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie du relevé et des arbres
*/
// ASL : APA, sTREETs, Lichen's Go!
function ReleveASL( proprietes, widgetProp ) {
if ( utils.valOk( proprietes ) && utils.valOk( widgetProp ) ) {
this.sujet = proprietes.sujet;
this.tagImg = proprietes.tagImg;
this.separationTagImg = proprietes.separationTagImg;
this.tagImg = proprietes.tagImg;
this.tagObs = proprietes.tagObs;
this.separationTagObs = proprietes.separationTagObs;
this.nomSciReferentiel = proprietes.nomSciReferentiel;
this.referentielImpose = proprietes.referentielImpose;
this.widgetProp = widgetProp;
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
ReleveASL.prototype = new WidgetsSaisiesASL( this.widgetProp );
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveASL.prototype.initForm = function() {
const lthis = this;
 
var idUtilisateur = $( '#id_utilisateur' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
if( this.valOk( idUtilisateur ) ) {
if ( this.valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() );
 
var releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( !this.valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( this.valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( this.valOk( $( '.charger-releve' ) ) ) {
var btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm );
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveASL.prototype.initEvts = function() {
const lthis = this;
 
// comportement du bouton nouveau releve
if ( this.valOk( $( '#id_utilisateur' ).val() ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
}
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
if ( 'tb_streets' !== this.projet ) {
// Gérer une option "aucune" sur plusieurs checkboxes
$( '#face-ombre input' ).on( 'click', function () {
if ( 'aucune' === $( this ).val() ) {
$( '#face-ombre input' ).not( '#aucune' ).prop( 'checked' , false );
} else {
$( '#aucune' ).prop( 'checked' , false );
}
});
}
$( '#soumettre-releve' ).on( 'click', function( event ) {
event.preventDefault();
lthis.saisirArbres();
});
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
 
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
 
var numArbre = $( this ).data( 'arbre-info' );
 
lthis.chargerInfosArbre( numArbre );
lthis.scrollFormTop( '#zone-arbres' );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
 
var numArbre = lthis.numArbre + 1;
 
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
$( '#taxon' )
.val('')
.removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
lthis.scrollFormTop( '#zone-arbres' );
});
// chargement plantes ou lichens
var btnChargementForm = this.determinerBtnsChargementForm( '#' );
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
// Alertes et aides
this.initEvtsAlertes();
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( 'zone-pietonne' === cle || 'pres-lampadaires' === cle ) {
$( 'input[name=' + cle + '][value=' + valeur + ']' , '#zone-observation' ).prop( 'checked', true );
} else if ( lthis.valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
if (
this.valOk( $( '#geometry-releve' ).val() ) &&
this.valOk( $( '#latitude-releve' ).val() ) &&
this.valOk( $( '#longitude-releve' ).val() ) &&
this.valOk( $( '#rue' ).val() ) &&
this.valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
this.scrollFormTop( '#zone-observation', '#releve-date' )
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
var infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
sujet : {}
};
 
for( var i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.sujet = this.releveDatas[i];
this.lienArbreInfo( infosArbre.sujet['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveASL.prototype.lienArbreInfo = function( numArbre ) {
if ( numArbre == 1 ) {
$( '#bloc-info-arbres-title' ).removeClass( 'hidden' );
}
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
// Ajouter Obs ****************************************************************/
/**
* Etape formulaire avec transfert carto
*/
ReleveASL.prototype.saisirArbres = function() {
const lthis = this;
 
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off();
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas,#bouton-nouveau-releve' ).removeClass( 'hidden' );
this.confirmerSortie();
if ( !this.valOk( $( '#releve-data' ).val() ) ) {
var releveDatasTmp = {
obs : {
ce_utilisateur : $( '#id_utilisateur' ).val(),
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val()
}
};
if ( 'tb_lichensgo' !== this.projet ) {
releveDatasTmp.obsE['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
releveDatasTmp.obsE['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas = this.formaterReleveData(releveDatasTmp);
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
if ( 'tb_lichensgo' !== this.projet ) {
this.releveDatas[0]['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
this.releveDatas[0]['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( var i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
// transfert carto
// $cartoRemplacee = $( '#tb-geolocation' ),
// layer = 'osm',
// zoomInit = 18
var donnesResetCarto = {
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'google hybrid'
};
 
this.transfererCarto( donnesResetCarto );
this.scrollFormTop( '#zone-arbres' );
}
};
 
ReleveASL.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
var idArbre = 0,
last = false;
 
for ( var i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
 
var urlImgObs = this.serviceObsImgs + idArbre,
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveASL.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( lthis.valOk( idsImg ) ) {
var urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', '000' + idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
} else {
console.dir( lthis.msgTraduction( 'erreur-image' ) + ' : ' + lthis.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.dir( lthis.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveASL.prototype.getObsChpSpecifiques = function( datasArbres ) {
const lthis = this;
 
var retour = [],
champs = [
'rue',
'geometry-releve',
'latitude-releve',
'longitude-releve',
'altitude-releve'
];
 
if ( 'tb_lichensgo' !== this.projet ) {
champs.push(
'zone-pietonne',
'pres-lampadaires',
'surface-pied',
'equipement-pied-arbre',
'tassement',
'dejections',
'com-arbres'
);
}
champs.push(
'rue-arbres',
'circonference'
);
 
var cleValeur = '';
 
$.each( champs, function( i , value ) {
cleValeur = ( 4 > i ) || ( 6 > i && 'tb_lichensgo' !== lthis.projet ) ? 'releve' : 'sujet';
if ( lthis.valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
if ( 'tb_streets' !== this.projet ) {
var faceOmbre = '',
faceOmbreLength = datasArbres.sujet['face-ombre'].length;
 
if ( 'string' === typeof datasArbres.sujet['face-ombre'] ) {
faceOmbre = datasArbres.sujet['face-ombre'];
} else {
$.each( datasArbres.sujet['face-ombre'], function( i ,value ) {
faceOmbre += value
if ( faceOmbreLength > ( i + 1 ) ) {
faceOmbre += ';';
}
});
}
retour.push({ cle : 'face-ombre', valeur : faceOmbre });
}
retour.push({ cle : 'num_arbre' , valeur : datasArbres.obsNum });
 
var stockerImg = this.valOk( datasArbres.sujet['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.sujet['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.sujet['miniature-img'] ) });
}
return retour;
};
 
ReleveASL.prototype.chargerInfosArbre = function( numArbre ) {
const lthis = this;
 
var desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
var releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre],
taxon = {item:{}},
imgHtml = '';
 
$( '#arbre-nb' ).text( numArbre + ' (visualisation)' );
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
 
var selects = [ 'certitude' ];
 
if ( 'tb_lichensgo' !== this.projet ) {
selects.push( 'equipement-pied-arbre', 'tassement' );
}
$.each( selects, function( i, value ) {
if( !lthis.valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
if ( $( this ).hasClass( 'other' ) && lthis.valOk( $( this ).val() ) ) {
$( this ).text( $( this ).val() );
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val( arbreDatas['rue-arbres'] );
$( '#geometry-arbres' ).val( arbreDatas['geometry-arbres'] );
$( '#latitude-arbres' ).val( arbreDatas['latitude-arbres'] );
$( '#longitude-arbres' ).val( arbreDatas['longitude-arbres'] );
$( '#altitude-arbres' ).val( arbreDatas['altitude-arbres'] );
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
if ( 'tb_lichensgo' !== this.projet ) {
$( '#surface-pied' ).val( arbreDatas['surface-pied'] );
if ( undefined != arbreDatas.dejections ) {
$( '#dejections-oui' ).prop( 'checked', arbreDatas.dejections );
$( '#dejections-non' ).prop( 'checked', !arbreDatas.dejections );
}
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).each( function() {
if ( -1 < arbreDatas['face-ombre'].indexOf( $( this ).val() ) ) {
$( this ).prop( 'checked', true );
} else {
$( this ).prop( 'checked', false );
}
});
}
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveASL.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
var selecteurs =
'#taxon,'+
'#certitude,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#com-arbres,'+
'#ajouter-obs';
 
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
$( '#dejections' ).find( 'input' ).prop( 'disabled', desactiver );
}
$( selecteurs ).prop( 'disabled', desactiver );
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'disabled', desactiver );
}
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
// typeLocalisation = 'point',
// zoomInit = 18
var donnesResetCarto = {
cartoRemplacee : $( '#tb-geolocation-arbres' ),
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'google hybrid'
};
this.transfererCarto( donnesResetCarto );
// retour aux valeurs par defaut
selecteurs = '#certitude option';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs += ',#equipement-pied-arbre option,#tassement option';
$( '#equipement-pied-arbre .other' ).text( 'Autre' ).val( 'other' );
$( '#collect-other-equipement-pied-arbre' ).closest( '.control-group' ).remove();
$( '#dejections' ).find( 'input' ).prop( 'checked', false );
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'checked', false );
}
$( selecteurs ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
this.supprimerMiniatures();
selecteurs =
'#circonference,'+
'#com-arbres,'+
'#rue-arbres,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
}
$( selecteurs ).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveASL.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveASL.prototype.locationHandler = function( location ) {
const lthis = this;
var isGeolocArbres = ( 'tb-geolocation-arbres' === location.target.id ),
locDatas = location.originalEvent.detail;
 
if ( this.valOk( locDatas ) ) {
console.dir( locDatas );
 
var rue = ( this.valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
var altitude = ( this.valOk( locDatas.elevation ) ) ? locDatas.elevation : '';
var pays = ( this.valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR';
var geometry = JSON.stringify( locDatas.geometry );
var latitude = '';
var longitude = '';
var nomCommune = '';
var communeInsee = '';
 
if ( this.valOk( locDatas.geometry.coordinates ) ) {
if ( 'Point' === locDatas.geometry.type ) {
if ( this.valOk( locDatas.geometry.coordinates[0] ) ) {
longitude = locDatas.geometry.coordinates[0];
}
if ( this.valOk( locDatas.geometry.coordinates[1] ) ) {
latitude = locDatas.geometry.coordinates[1];
}
} else if ( 'LineString' === locDatas.geometry.type ) {// on a besoin que d'un point de la rue
if ( this.valOk( locDatas.geometry.coordinates[0][0] ) ) {
longitude = locDatas.geometry.coordinates[0][0];
}
if ( this.valOk( locDatas.geometry.coordinates[0][1] ) ){
latitude = locDatas.geometry.coordinates[0][1];
}
}
}
if ( !isGeolocArbres ) {
if ( this.valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( this.valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( this.valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( this.valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#geometry-releve' ).val( geometry );
$( '#latitude-releve' ).val( latitude );
$( '#longitude-releve' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude-releve' ).val( altitude );
$( '#pays' ).val( pays );
if ( this.valOk( $( '#rue' ).val() ) && this.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' )
.removeClass( 'hidden' )
.closest( '.control-group' )
.addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( lthis.valOk( $( '#rue' ).val() ) && lthis.valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
$( '#rue-arbres' ).val( rue );
$( '#geometry-arbres' ).val( geometry );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
if ( this.valOk( $( '#latitude-arbres' ).val() ) && this.valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
}
} else {
console.dir( 'Error location' );
}
};
 
// Form Validator *************************************************************/
ReleveASL.prototype.validerMinMax = function( element ) {
var mMCond = new Boolean(),
minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( this.valOk( element.type, true, 'number' ) || this.valOk( element.type, true, 'range' ) ) &&
( this.valOk( element.min ) || this.valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveASL.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
var valide = true;
 
if (
this.valOk( $( '#dates-rues-communes' ).val() ) &&
this.valOk( valeurDate ) &&
this.valOk( valeurRue ) &&
this.valOk( valeurCmn )
) {
var valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveASL.prototype.dateRueCommuneFormValidator = function() {
var dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( this.valOk( $( '#commune-nom' ).val() ) && this.valOk( $( '#rue' ).val() ) );
const errorDateRue =
'<span id="error-drc" class="error">'+
this.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !this.valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
'zone-pietonne' : {
required : function() {
return( 'tb_lichensgo' !== this.projet );
},
minlength : 1
},
'latitude-releve' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-releve' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbres' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1
},
'surface-pied' : {
required : function() {
return( 'tb_lichensgo' !== this.projet );
},
minlength : 1,
'minMaxOk' : true
},
'equipement-pied-arbre' : {
required : function() {
return( 'tb_lichensgo' !== this.projet );
},
minlength : 1
},
'face-ombre' : {
required : function() {
return( 'tb_streets' !== this.projet );
},
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
if ( 'tb_lichensgo' !== this.projet ) {
$( '#equipement-pied-arbre' ).change( function() {
if ( lthis.valOk( $( this ).val(), false, 'other' ) ) {
$( this )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
}
});
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).on( 'click', function() {
var oneIsChecked = false;
$( '#face-ombre input' ).each( function() {
if ( $( this ).is( ':checked' ) ) {
oneIsChecked = true;
return false;
}
});
if ( oneIsChecked ) {
$( '#face-ombre.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#face-ombre.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
});
}
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveASL.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-observation' ).valid();
const geoloc = (
this.valOk( $( '#latitude-releve' ).val() ) &&
this.valOk( $( '#longitude-releve' ).val() ) &&
this.valOk( $( '#rue' ).val() ) &&
this.valOk( $( '#commune-nom' ).val() )
) ;
var dateRue = true;
if ( this.valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
this.valOk( $( '#releve-date' ).val() ) &&
this.valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
if ( !obs ) {
this.scrollFormTop( '#zone-observation' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
this.valOk( $( '#releve-date' ).val() ) &&
this.valOk( $( '#rue' ).val() ) &&
this.valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!this.valOk( $( '#releve-date' ).val() ) ||
!this.valOk( $( '#rue' ).val() ) ||
!this.valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return (observateur && obs && geoloc && dateRue);
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveASL.prototype.validerForm = function() {
const validerReleve = this.validerReleve();
const geoloc = (
this.valOk( $( '#latitude-arbres' ).val() ) &&
this.valOk( $( '#longitude-arbres' ).val() )
);
const taxon = this.valOk( $( '#taxon' ).val() );
var piedArbre = true;
 
if ( 'tb_lichensgo' !== this.projet ) {
piedArbre = this.valOk( $( '#equipement-pied-arbre' ).val(), false, 'other' );
if ( piedArbre ) {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
}
 
const obs = (
$( '#form-arbres' ).valid() &&
$( '#form-arbre-fs' ).valid() &&
piedArbre
);
 
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/PlantesEtLichensASL.js
New file
0,0 → 1,247
/**
* Constructeur PlantesEtLichensASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie des plantes ou des lichens
*/
// ASL : APA, sTREETs, Lichen's Go!
function PlantesEtLichensASL( proprietes, widgetProp ) {
if ( utils.valOk( proprietes ) && utils.valOk( widgetProp ) ) {
this.sujet = proprietes.sujet;
this.tagImg = proprietes.tagImg;
this.separationTagImg = proprietes.separationTagImg;
this.tagImg = proprietes.tagImg;
this.tagObs = proprietes.tagObs;
this.separationTagObs = proprietes.separationTagObs;
this.nomSciReferentiel = proprietes.nomSciReferentiel;
this.referentielImpose = proprietes.referentielImpose;
this.widgetProp = widgetProp;
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
this.tagsMotsCles = widgetProp.tagsMotsCles + ',' + this.sujet;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
PlantesEtLichensASL.prototype = new WidgetsSaisiesASL( this.widgetProp );
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
PlantesEtLichensASL.prototype.initForm = function() {
const lthis = this;
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
this.initFormTaxonListe();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
PlantesEtLichensASL.prototype.initEvts = function() {
const lthis = this;
var releveDatas = [],
idUtilisateur = $( '#id_utilisateur' ).val();
 
if( this.valOk( idUtilisateur ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
if( this.valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( this.valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
// Sur téléchargement image
this.initEvtsFichier();
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
// chargement plantes ou lichens, ajout du bouton #poursuivre
var btnChargementForm = this.determinerBtnsChargementForm( '#', true );
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
if ( 'lichens' === this.sujet ) {
this.checkboxToutesLesFaces();
}
// Alertes et aides
this.initEvtsAlertes();
}
}
}
};
 
// Ajouter Obs ****************************************************************/
PlantesEtLichensASL.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
if ( 'lichens' === this.sujet ) {
$( 'input[name=lichens-tronc]:checked' ).each( function() {
$( this ).prop( 'checked', false );
});
}
};
 
PlantesEtLichensASL.prototype.checkboxToutesLesFaces = function() {
$('input[name=lichens-tronc]').on( 'click', function( event ) {
var face = $( this ).data( 'face' );
 
if ( $( this ).is( ':checked' ) ) {
console.log('hello');
if( $( this ).hasClass( 'lichens-tronc-all' ) ) {
for ( i = 1; i <= 5 ; i++ ) {
$( '#lichens-tronc-' + face + i ).prop( 'checked', false );
}
} else {
$( '#lichens-tronc-all-' + face ).prop( 'checked', false );
}
}
 
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
PlantesEtLichensASL.prototype.getObsChpSpecifiques = function( numArbre ) {
var retour = [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
];
 
if ( 'lichens' === this.sujet ) {
var valeursLT = '';
const $lichensTronc = $( 'input[name=lichens-tronc]:checked' );
const LTLenght = $lichensTronc.length;
 
$( 'input[name=lichens-tronc]:checked' ).each( function( i, value ) {
valeursLT += $(value).val();
if( i < LTLenght ) {
valeursLT += ';';
}
});
retour.push({ cle : 'loc-sur-tronc', valeur : valeursLT });
}
 
return retour;
};
 
// Form Validator *************************************************************/
PlantesEtLichensASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
var images = lthis.valOk( $( '#miniatures .miniature' ) );
lthis.validerTaxonImage( lthis.valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-' + this.sujet ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
PlantesEtLichensASL.prototype.validerTaxonImage = function( taxon = false, images = false ) {
var taxonOuImage = ( images || taxon );
if ( images || taxon ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return ( images || taxon );
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
PlantesEtLichensASL.prototype.validerForm = function() {
const images = this.valOk( $( '#miniatures .miniature' ) );
const taxon = this.valOk( $( '#taxon' ).val() );
const taxonOuImage = this.validerTaxonImage( taxon, images );
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() )
const obs = $( '#form-' + this.sujet ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/js/WidgetsSaisiesCommun.js
New file
0,0 → 1,1813
const utils = new Utils;
 
/**
* WidgetsSaisiesCommun
* Methodes communes aux widgets de saisie
*/
function WidgetsSaisiesCommun(){}
 
WidgetsSaisiesCommun.prototype.init = function() {
// ASL : APA, sTREETs, Lichen's Go!
// const ASL = ['tb_aupresdemonarbre','tb_streets','tb_lichensgo'];
// this.isASL = ( utils.valOk( this.projet ) && -1 < $.inArray( this.projet , ASL ) );
this.initForm();
this.initEvts();
};
 
WidgetsSaisiesCommun.prototype.initFormConnection = function() {
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
if ( this.isASL ) {
$( '#mdp' ).val( '' );
$( '#oublie' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
}
};
 
WidgetsSaisiesCommun.prototype.initFormTaxonListe = function() {
const lthis = this;
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.dir( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsConnection = function() {
const lthis = this;
 
this.chargerStatutSSO();
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).on( 'click', function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
$( '#deconnexion a' ).on( 'click', function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
if ( !this.isASL ) {
$( '#bouton-anonyme' ).on( 'click', function( event ) {
lthis.arreter( event );
$( this ).css({
'background-color': 'rgba(0, 159, 184, 0.7)',
'color': '#fff'
});
$( '#identite' ).removeClass( 'hidden' );
$( '#courriel' ).focus();
});
if ( '' === $( '#nom-complet').text() ) {
$( '#courriel' ).on( 'blur', this.requeterIdentiteCourriel.bind( this ) );
$( '#courriel' ).on( 'keypress', this.testerLancementRequeteIdentite.bind( this ) );
}
$( '#prenom' ).on( 'change', function() {
lthis.formaterPrenom();
lthis.reduireVoletIdentite();
});
$( '#nom' ).on( 'change', function() {
lthis.formaterNom();
lthis.reduireVoletIdentite();
});
$( '#courriel_confirmation' ).on( 'paste', this.bloquerCopierCollerCourriel.bind( this ) );
$( '#courriel_confirmation' ).on( 'blur', this.reduireVoletIdentite.bind( this ) );
$( '#courriel_confirmation' ).on( 'keypress', function( event ) {
if ( lthis.valOk( event.which, true, 13 ) ) {
lthis.reduireVoletIdentite();
event.preventDefault();
event.stopPropagation();
}
});
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsFichier = function() {
const lthis = this;
 
function fileInputFonctionne() {
var ua = navigator.userAgent;
 
if (
ua.match( /(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/ ) ||
ua.match( /\swv\).+(chrome)\/([\w\.]+)/i )
) {
return false;
}
 
var elem = document.createElement( 'input' );
 
elem.type = 'file';
 
return !elem.disabled;
}
 
if ( fileInputFonctionne() ) {
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( event ) {
lthis.arreter ( event );
 
var options = {
beforeSend : function ( jqXHR, settings ) {
$( '#miniatures' ).on( 'click', '.effacer-miniature', function() {
jqXHR.abort(jqXHR);
});
},
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
};
var imgCheminTmp = $( '#fichier' ).val(),
parts = imgCheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
formatImgOk = lthis.verifierFormat( nomImage ),
imgNonDupliquee = lthis.verifierDuplication( nomImage );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
$( '#miniatures' ).append(
'<div class="miniature mr-3 miniature-chargement loading">'+
'<img class="miniature-img chargement-img" alt="chargement" src="' + lthis.chargementImageIconeUrl + '" style="min-height:100%;"/>'+
'<a class="effacer-miniature">Supprimer</a>'+
'</div>'
);
$( '#ajouter-obs' ).addClass( 'hidden' );
$( '#message-chargement' ).removeClass( 'hidden' );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
lthis.activerModale( lthis.msgTraduction( 'format-non-supporte' ) + ' : ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
lthis.activerModale( lthis.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
if ( !lthis.valOk( $('.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
});
} else {
$( '#form-upload' )
.addClass( 'hidden' )
.after(
'<div class="alert alert-info" role="alert">'+
this.msgTraduction( 'upload-non-suppote' )+
'</div>'
);
}
 
};
 
WidgetsSaisiesCommun.prototype.initEvtsGeoloc = function( isFormArbre = false ) {
const lthis = this;
 
var ancre = '-observation',
complementSelecteur = '';
 
if ( isFormArbre ) {
ancre = '-arbres';
complementSelecteur = ancre;
}
// Empêcher que le module carto ne bind ses events partout
$( '#zone' + ancre ).on( 'submit blur click focus mousedown mouseleave mouseup change', '#tb-geolocation' + complementSelecteur + ' *', function( event ) {
event.preventDefault();
return false;
});
// evenement location
$( '#tb-geolocation' + complementSelecteur ).on( 'location' , this.locationHandler.bind( this ) );
};
 
WidgetsSaisiesCommun.prototype.initEvtsObs = function() {
const lthis = this;
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
var buttons = [
{
label : 'Annuler',
class : 'btn-secondary',
dismiss : true
},
{
label : 'Confirmer',
class : 'btn-success confirmer',
dismiss : true
}
];
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
var that = this,
suppObs = lthis.supprimerObs.bind( lthis );
 
lthis.activerModale( lthis.msgTraduction( 'confirmation-suppression' ), '', buttons );
$( '.confirmer' ).on( 'click', function() {
suppObs( that );
});
});
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
};
 
// Alertes et aides
WidgetsSaisiesCommun.prototype.initEvtsAlertes = function() {
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
};
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetsSaisiesCommun.prototype.chargerStatutSSO = function() {
const lthis = this;
var urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
if( this.isASL) {
$( '#connexion' ).on( 'click', function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !lthis.valOk( $( '#nom-complet' ).text() ) ) {
var login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
if ( lthis.valOk( login ) && lthis.valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
lthis.activerModale( lthis.msgTraduction( 'non-connexion' ) );
}
}
});
}
} else {
urlAuth = this.urlWidgets + 'modules/saisie2/test-token.json';
// $( '#connexion' ).on( 'click', function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetsSaisiesCommun.prototype.deconnecterUtilisateur = function() {
var urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetsSaisiesCommun.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
WidgetsSaisiesCommun.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
var idUtilisateur = '',
prenom = '',
nom = '',
nomComplet = '',
courriel = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
idUtilisateur = this.infosUtilisateur.id;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#utilisateur-connecte, #identite' ).removeClass( 'hidden' );
if ( this.isASL ) {
$( '#bloc-connexion' ).addClass( 'hidden' );
} else {
$( '#courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '#prenom' ).attr( 'disabled', 'disabled' );
$( '#nom' ).attr( 'disabled', 'disabled' );
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#zone-courriel, #zone-prenom-nom' ).addClass( 'hidden' );
$( '#date-releve' ).focus();
}
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/me' );
if ( this.isASL ) {
if ( this.valOk( idUtilisateur ) ) {
var nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.chargerForm( nomSquelette, thisObj );
}
} else {
$( '.warning' ).remove();
$( '#courriel_confirmation' ).val( courriel );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetsSaisiesCommun.prototype.decoderJeton = function( jeton ) {
var parts = jeton.split( '.' ),
payload = parts[1];
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetsSaisiesCommun.prototype.b64d = function( input ) {
var remainder = input.length % 4;
 
if ( 0 !== remainder ) {
var padlen = 4 - remainder;
 
for ( var i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
return atob( input );
};
 
WidgetsSaisiesCommun.prototype.urlSiteTb = function() {
var urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// uniquement utilisé si taxon-liste ******************************************/
/**
* Affiche/Cache le champ taxon
*/
WidgetsSaisiesCommun.prototype.surChangementTaxonListe = function() {
if ( utils.valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.on( 'change', function() {
if( !utils.valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() )
.data( 'value', $( '#taxon-autre' ).val() )
.removeData([
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
WidgetsSaisiesCommun.prototype.surChangementValeurTaxon = function() {
var numNomSel = 0;
 
if( this.valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
var optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
numNomSel = $( '#taxon' ).data( 'numNomSel' );
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !this.valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
WidgetsSaisiesCommun.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
var taxonSelecteur = '#taxon';
 
if ( this.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
$( '#taxon-autocomplete-label' ).addClass( 'loading' );
if( lthis.valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
var url = lthis.getUrlAutocompletionNomsSci();
$.getJSON( url, requete, function( data ) {
var suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
})
.always(function() {
$( '#taxon-autocomplete-label' ).removeClass( 'loading' );
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
WidgetsSaisiesCommun.prototype.getUrlAutocompletionNomsSci = function() {
var taxonSelecteur = '#taxon';
 
if ( this.valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
var mots = $( taxonSelecteur ).val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
url = url.replace( '{masque}', mots );
 
return url;
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
WidgetsSaisiesCommun.prototype.traiterRetourNomsSci = function( data ) {
var taxonSelecteur = '#taxon',
suggestions = [];
 
if ( this.valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
var nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
WidgetsSaisiesCommun.prototype.surAutocompletionTaxon = function( event, ui ) {
if ( utils.valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !utils.valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
WidgetsSaisiesCommun.prototype.afficherMiniature = function( reponse ) {
if ( this.debug ) {
var debogage = $( 'debogage', reponse ).text();
}
 
var message = $( 'message', reponse ).text();
$blocMiniature = $( '#miniatures .miniature.loading').first();
 
if( this.valOk( $blocMiniature ) ) {
if ( this.valOk( message ) ) {
$( '.miniature-msg' ).text( message );
$blocMiniature.remove();
 
} else {
this.creerWidgetMiniature( reponse, $blocMiniature );
$blocMiniature.removeClass('loading');
}
if ( !lthis.valOk( $( '.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
}
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
WidgetsSaisiesCommun.prototype.creerWidgetMiniature = function( reponse, $blocMiniature ) {
var miniatureUrl = $( 'miniature-url', reponse ).text();
var imgNom = $( 'image-nom', reponse ).text();
 
$blocMiniature.removeClass( 'miniature-chargement' );
$( '.miniature-img', $blocMiniature )
.removeClass( 'chargement-img' )
.attr({
'alt' : imgNom,
'src' : miniatureUrl
});
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
WidgetsSaisiesCommun.prototype.verifierFormat = function( nomImage ) {
var parts = nomImage.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
WidgetsSaisiesCommun.prototype.verifierDuplication = function( nomImage ) {
const lthis = this;
 
var thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
nomImage = nomImage.toLowerCase();
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( lthis.valOk ( $( this ).attr( 'alt' ) ) && $( this ).attr('alt' ).toLowerCase() === nomImage ) {
nonDupliquee = false;
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' ).toLowerCase();
if ( lthis.valOk( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
return false;
}
}
});
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Geoloc *********************************************************************/
WidgetsSaisiesCommun.prototype.transfererCarto = function( donnees ) {
var typeLocalisation = donnees.typeLocalisation || 'point',
isPoint = ( typeLocalisation === 'point' ).toString(),
suffixe = ( this.valOk( donnees.suffixe ) ) ? '-' + donnees.suffixe : '',
$cartoRemplacee = donnees.cartoRemplacee || $( '#tb-geolocation' ),
layer = donnees.layer || 'osm',
latitude = donnees.latitude || '46.5',
longitude = donnees.longitude || '2.9',
// 18 est le zoom max
zoomInit = donnees.zoomInit || 18;
 
$cartoRemplacee.remove();
$( '#geoloc' + suffixe ).append(
'<tb-geolocation-element'+
' id="tb-geolocation' + suffixe +'"'+
' layer="' + layer + '"'+
' zoom_init="' + zoomInit + '"'+
' lat_init="' + latitude + '"'+
' lng_init="' + longitude + '"'+
' marker="' + isPoint + '"'+
' polyline="' + !isPoint + '"'+
' polygon="false"'+
' show_lat_lng_elevation_inputs="' + isPoint + '"'+
' osm_class_filter=""'+
' elevation_provider="mapquest"'+
' map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"'+
'>'+
'</tb-geolocation-element>'
);
this.initEvtsGeoloc( true );
};
 
// Ajouter Obs ****************************************************************/
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
WidgetsSaisiesCommun.prototype.ajouterObs = function() {
if ( this.isASL ) {
this.scrollFormTop( '#zone-' + this.sujet );
}
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
if ( this.validerForm() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
if ( this.isASL && 'arbres' === this.sujet ) {
this.numArbre += 1;
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
}
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
var obsData = this.formaterFormObsData();
this.afficherObs( obsData );
this.stockerObsData( obsData );
if ( this.isASL && 'arbres' === this.sujet ) {
var arbreData = obsData.sujet;
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
} else {
this.reinitialiserForm();
}
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
WidgetsSaisiesCommun.prototype.formaterFormObsData = function() {
var obsData = { obsNum : this.obsNbre, sujet : {}},
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
nomSel = $( '#taxon' ).val(),
nomRet = $( '#taxon' ).data( 'nomRet' ),
numNomRet = $( '#taxon' ).data( 'numNomRet' ),
numTaxon = $( '#taxon' ).data( 'nt' ),
famille = $( '#taxon' ).data( 'famille' ),
referentiel = ( this.valOk( numNomSel ) ) ? this.nomSciReferentiel : 'autre',
certitude = ( this.valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner',
imgB64 = [],
imgNom = [],
date = '',
notes = '',
pays = '',
communeNom = '',
communeInsee = '',
geometry = '',
latitude = '',
longitude = '',
altitude = '',
obsEtendue = [];
 
if( !this.isASL ) {
notes = $( '#notes' ).val().trim() || '';
pays = $( '#pays' ).val() || '';
communeNom = $( '#commune-nom' ).val();
communeInsee = $( '#commune-insee' ).val() || '';
geometry = $( '#geometry' ).val();
latitude = $( '#latitude' ).val();
longitude = $( '#longitude' ).val();
altitude = $( '#altitude' ).val();
obsEtendue = this.getObsChpSpecifiques();
date = this.fournirDate( $('#date_releve').val());
} else {
var miniatureImg = [];
notes = $( '#commentaire' ).val() || '';
if ( 'arbres' === this.sujet ) {
// Dans ce cas cette fonction doit renvoyer des données au même format que l'input hidden "releve-data"
// car les données dans stockerObsData provenir soit de cette fonction soit de l'input
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' ) || '';
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' ) || '';
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
obsData.sujet = {
'num-arbre' : this.numArbre,
taxon : {
'numNomSel' : numNomSel,
'value' : nomSel,
'nomRet' : nomRet,
'numNomRet' : numNomRet,
'nt' : numTaxon,
'famille' : famille
},
'referentiel' : referentiel,
'certitude' : certitude,
'rue-arbres' : ( $( '#rue-arbres' ).val() ) ? $('#rue-arbres').val() : '',
'geometry-arbres' : $( '#geometry-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'com-arbres' : ( $( '#com-arbres' ).val() ) ? $('#com-arbres').val() : '',
'miniature-img' : miniatureImg
};
obsData.releve = {
'date' : this.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commune-insee' : ( $( '#commune-insee' ).val() ) ? $('#commune-insee').val() : '',
'pays' : ( $( '#pays' ).val() ) ? $('#pays').val() : '',
'commentaires' : notes
};
if ( 'tb_lichensgo' !== this.projet ) {
obsData.sujet['surface-pied'] = $( '#surface-pied' ).val();
obsData.sujet['equipement-pied-arbre'] = $( '#equipement-pied-arbre' ).val();
obsData.sujet['tassement'] = $( '#tassement' ).val() || '';
obsData.sujet['dejections'] = $( '#dejections input:checked' ).val() || '';
obsData.releve['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
obsData.releve['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val() || '';
}
if ( 'tb_streets' !== this.projet ) {
var faceOmbre = [];
$( '#face-ombre input' ).each( function() {
if( $( this ).is( ':checked' ) ) {
faceOmbre.push( $( this ).val() );
}
});
obsData.sujet['face-ombre'] = faceOmbre;
}
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
obsData.numArbre = $( '#choisir-arbre' ).val();
pays = this.releveDatas[0].pays || '';
communeNom = this.releveDatas[0]['commune-nom'];
communeInsee = this.releveDatas[0]['commune-insee'] || '';
geometry = this.releveDatas[obsData.numArbre]['geometry-arbres'];
latitude = this.releveDatas[obsData.numArbre]['latitude-arbres'];
longitude = this.releveDatas[obsData.numArbre]['longitude-arbres'];
altitude = this.releveDatas[obsData.numArbre]['altitude-arbres'];
obsEtendue = this.getObsChpSpecifiques( obsData.numArbre );
date = this.fournirDate( $( '#obs-date' ).val() );
}
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
obsData.sujet = {
'num_nom_sel' : numNomSel,
'nom_sel' : nomSel,
'nom_ret' : nomRet,
'num_nom_ret' : numNomRet,
'num_taxon' : numTaxon,
'famille' : famille,
'referentiel' : referentiel,
'certitude' : certitude,
'date' : date,
'notes' : notes,
'pays' : pays,
'commune_nom' : communeNom,
'commune_code_insee' : communeInsee,
'geometry' : geometry,
'latitude' : latitude,
'longitude' : longitude,
'altitude' : altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : obsEtendue
};
if ( !this.isASL ) {
obsData.sujet['lieudit'] = $( '#lieudit' ).val() || '';
obsData.sujet['station'] = $( '#station' ).val() || '';
obsData.sujet['milieu'] = $( '#milieu' ).val() || '';
}
}
return obsData;
};
 
/**
* Affiche une observation dans la liste des observations à transmettre
*/
WidgetsSaisiesCommun.prototype.afficherObs = function( datasObs ) {
// différences html liéees au responsive
var responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ( !this.isASL ) ? ' col-md-2 col-sm-4' : ' col-md-4 col-sm-5';
responsivDiff5 = ( !this.isASL ) ? ' class="col-md-9 col-sm-7"' : ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
 
var obsNum = datasObs.obsNum,
numNomSel = datasObs.sujet['num_nom_sel'] || '',
taxon = '',
miniatures = '',
notes = '',
commentaires = '',
date = '',
geometry = '',
latitude = '',
longitude = '',
coordonnees = '',
commune = '',
lieuObs = '',
inseeCommuneText = '',
referentiel = '',
nn = '',
lieudit = '',
station = '',
milieu = '',
certitude = '',
numArbre = '',
obsArbre = '';
 
if ( !this.isASL ) {
geometry = datasObs.sujet['geometry'] || '';
latitude = datasObs.sujet['latitude'] || '';
longitude = datasObs.sujet['longitude'] || '';
inseeCommune = datasObs.sujet['commune_code_insee'] || '';
commune = datasObs.sujet['commune_nom'] || '';
if ( this.valOk( inseeCommune ) ) {
inseeCommuneText = '(INSEE Commune:' + inseeCommune + ') ';
}
if ( this.valOk( numNomSel ) ) {
referentiel = '<span class="referentiel-obs">' + '[' + datasObs.sujet['referentiel'] + ']' + '</span>';
}
if ( this.valOk( datasObs.sujet['lieudit'] ) ) {
lieudit = '<span>' + this.msgTraduction( 'lieu-dit' ) + ' :</span> ' + datasObs.sujet['lieudit'] + ' ';
}
if ( this.valOk( datasObs.sujet['station'] ) ) {
station = '<span>' + this.msgTraduction( 'station' ) + ' :</span> ' + datasObs.sujet['station'] + ' ';
}
if ( this.valOk( datasObs.sujet['milieu'] ) ) {
milieu = '<span>' + this.msgTraduction( 'milieu' ) + ' :</span> ' + datasObs.sujet['milieu'] + ' ';
}
nn = this.ajouterNumNomSel( numNomSel );
} else {
certitude = ' [certitude : ' + datasObs.sujet.certitude + ']';
if ( 'arbres' === this.sujet ) {
numArbre = datasObs.sujet['num-arbre'];
numNomSel = datasObs.sujet.taxon.numNomSel;
taxon = datasObs.sujet.taxon.value;
miniatures = this.ajouterImgMiniatureAuTransfert(datasObs.sujet['miniature-img'] );
notes = datasObs.sujet['com-arbres'] || '';
geometry = datasObs.sujet['geometry-arbres'];
latitude = datasObs.sujet['latitude-arbres'];
longitude = datasObs.sujet['longitude-arbres'];
numArbre = datasObs.sujet['num-arbre'];
// s'assurer que la date est au bon format
date = this.fournirDate( datasObs.releve.date );
commune = datasObs.releve['commune-nom'] || '';
} else {
numArbre = datasObs.numArbre;
}
obsArbre = '<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>';
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
taxon = datasObs.sujet['nom_sel'];
miniatures = this.ajouterImgMiniatureAuTransfert();
notes = datasObs.sujet['notes'] || '';
date = this.fournirDate( datasObs.sujet.date );
}
if( !this.isASL || 'arbres' === this.sujet ) {
if ( this.valOk( commune ) ) {
lieuObs = ' ' + this.msgTraduction( 'lieu-obs' ) + ' ' + '<span class="commune">' + commune + '</span> ';
}
if ( this.valOk( latitude ) && this.valOk( longitude ) ) {
coordonnees = '[' + latitude + ' / ' + longitude + ']';
}
}
if ( this.valOk( notes ) ) {
commentaires =
this.msgTraduction( 'commentaires' ) +
' : <span>'+
notes +
'</span> ';
}
// html du bloc résumé de l'obs
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures +
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
// isASL
obsArbre +
// toujours
'<span class="nom-sci">' + taxon + '</span> '+
// !isASL
nn +
referentiel +
// isASL
certitude +
// !this.isASL || 'arbres' === this.sujet
lieuObs +
// !isASL
inseeCommuneText +
// !this.isASL || 'arbres' === this.sujet
coordonnees +
// toujours
' ' + this.msgTraduction( 'obs-le' ) + ' '+
'<span class="date">' + date + '</span>'+
'</li>'+
'<li>'+
// !isASL
lieudit +
station +
milieu +
'</li>'+
'<li>'+
// this.valOk( notes )
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
 
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
WidgetsSaisiesCommun.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages = undefined ) {
const lthis = this;
var html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( this.valOk( chargerImages ) || this.valOk( $( '#miniatures img' ) ) ) {
if ( this.valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
var imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee';
 
var css = ( lthis.valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
} else {
var premiere = true;
$( '#miniatures img' ).each( function() {
var imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
premiere = false;
 
var css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
WidgetsSaisiesCommun.prototype.ajouterNumNomSel = function( numNomSel ) {
var nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !this.valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
WidgetsSaisiesCommun.prototype.stockerObsData = function( obsDatas ) {
if ( this.isASL && 'arbres' === this.sujet ) {
// Dans ce cas la fonction formaterFormObsData renvoie des données au même format que l'input hidden "releve-data"
// car les données peuvent provenir soit de la formaterFormObsData soit de cet input
const lthis = this;
// si releve dupliqué on ne stocke pas l'image :
var stockerImg = this.valOk( obsDatas.sujet['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
// Si on a bien un 'miniature-img' dans les données
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
// Si les miniatures ne sont pas déjà stockées (résultat de la loop précédente)
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'] , function( i, obj ) {
if( lthis.valOk( obj.nom ) ) {
imgNom.push( obj.nom );
}
if( lthis.valOk( obj['b64'] ) ) {
imgB64.push( obj['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, {
'num_nom_sel' : obsDatas.sujet.taxon.numNomSel,
'nom_sel' : obsDatas.sujet.taxon.value,
'nom_ret' : obsDatas.sujet.taxon.nomRet,
'num_nom_ret' : obsDatas.sujet.taxon.numNomRet,
'num_taxon' : obsDatas.sujet.taxon.nt,
'famille' : obsDatas.sujet.taxon.famille,
'referentiel' : obsDatas.sujet.referentiel,
'certitude' : obsDatas.sujet.certitude,
// La date provenant de input "releve-data" n'est pas au bon format
'date' : this.fournirDate( obsDatas.releve.date ),
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'geometry' : obsDatas.sujet['geometry-arbres'],
'latitude' : obsDatas.sujet['latitude-arbres'],
'longitude' : obsDatas.sujet['longitude-arbres'],
'altitude' : obsDatas.sujet['altitude-arbres'],
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpSpecifiques( obsDatas )
});
} else {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, obsDatas.sujet );
}
};
 
WidgetsSaisiesCommun.prototype.getNomsImgsOriginales = function() {
var noms = new Array();
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
WidgetsSaisiesCommun.prototype.getB64ImgsOriginales = function() {
var b64 = new Array();
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniatures = function() {
if ( !this.isASL ) {
// Déconnection MutationObserver miniatures
// Sinon on a une erreur avant la création d'une nouvelle obs
this.observer.disconnect();
$( '#miniatures' ).empty();
// Validation miniatures reprend à 0 pour une nouvelle obs
this.surPresenceAbsenceMiniature();
} else {
$( '#miniatures' ).empty();
}
$( '#miniature-msg' ).empty();
};
 
WidgetsSaisiesCommun.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
if ( this.isASL && 'arbres' === this.sujet ) {
if ( 0 <= this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else {
$( '#bloc-form-arbres' ).addClass( 'hidden' );
}
}
};
 
WidgetsSaisiesCommun.prototype.defilerMiniatures = function( element ) {
var miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
var miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
WidgetsSaisiesCommun.prototype.supprimerObs = function( selector ) {
var obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
WidgetsSaisiesCommun.prototype.supprimerObsParId = function( obsId, transmission = false ) {
if ( this.isASL && 'arbres' === this.sujet ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
this.numArbre -= 1;
if ( 1 > this.numArbre ) {
$( '#bloc-info-arbres-title' ).addClass( 'hidden' );
}
 
var arbreExId = 0,
arbreId = 0;
}
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
obsId = parseInt(obsId);
 
if ( !transmission ) {
var listObsData = $( '#liste-obs' ).data(),
exId = 0,
indexObs = '',
exIndexObs = '';
 
for ( var id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
 
if ( this.isASL && 'arbres' === this.sujet ) {
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
// modification du numero d'arbre dans les obs étendues
if ( this.valOk( listObsData[exIndexObs] ) ) {
$.each( listObsData[exIndexObs].obs_etendue, function( i, obsE ) {
if ('num_arbre' === obsE.cle ) {
listObsData[exIndexObs].obs_etendue[i].valeur = arbreId;
return false;
}
});
}
}
 
// Mise à jour des données à transmettre
if ( this.valOk( listObsData[exIndexObs] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[exIndexObs] );
}
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
} else {
$( '#liste-obs' ).removeData( 'obsId' + obsId );
}
};
 
WidgetsSaisiesCommun.prototype.transmettreObs = function() {
const lthis = this;
var observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.dir( observations );
}
if ( !this.valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
WidgetsSaisiesCommun.prototype.depilerObsPourEnvoi = function() {
var observations = $( '#liste-obs' ).data();
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( var obsNum in observations ) {
var obsATransmettre = {
'id_projet' : this.idProjet,
'projet' : this.projet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
};
var utilisateur = {
id_utilisateur : $( '#id_utilisateur' ).val(),
prenom : $( '#prenom' ).val(),
nom : $( '#nom' ).val(),
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
var idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
WidgetsSaisiesCommun.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
 
var erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur,.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
if( lthis.isASL && 'arbres' === lthis.sujet ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
}
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
var debugMsg = lthis.extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
var hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagsMotsCles+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
if ( lthis.isASL ) {
if ( 'arbres' === lthis.sujet ) {
if ( 'tb_streets' !== lthis.projet ) {
$( '#bouton-saisir-lichens' ).removeClass( 'hidden' );
}
if ( 'tb_lichensgo' !== lthis.projet ) {
$( '#bouton-saisir-plantes' ).removeClass( 'hidden' );
}
} else {
$( '#bouton-poursuivre' ).removeClass( 'hidden' );
}
$( '#bloc-controle-liste-obs,#bloc-gauche' ).addClass( 'hidden' );
}
$( '#chargement' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
WidgetsSaisiesCommun.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
var pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
WidgetsSaisiesCommun.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
WidgetsSaisiesCommun.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( lthis.valOk( value ) && ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) ) );
},
lthis.msgTraduction( 'date-incomplete' )
);
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( lthis.valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
$.validator.addMethod(
'listFields',
function ( value, element ) {
return ( lthis.valOk( value ) );
},
''
);
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( lthis.isASL && 'arbres' === lthis.sujet && ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if( lthis.valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( lthis.valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( lthis.valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
// Formatage date *************************************************************/
WidgetsSaisiesCommun.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
var dateArray = dateObs.split( '-' );
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.dir( 'erreur date : ' + dateObs )
}
};
 
// scroll vers le formulaire
WidgetsSaisiesCommun.prototype.scrollFormTop = function( scrollSelecteur, focus = '' ) {
const lthis = this;
 
$( 'html, body' ).stop().animate({
scrollTop: $( scrollSelecteur ).offset().top
}, 300, function() {
if ( lthis.valOk( focus ) ) {
$( focus ).focus();
} else {
return;
}
});
};
 
// Controle des panneaux d'infos **********************************************/
 
WidgetsSaisiesCommun.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
this.scrollFormTop( selecteur );
};
 
WidgetsSaisiesCommun.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
WidgetsSaisiesCommun.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
WidgetsSaisiesCommun.prototype.msgTraduction = function( cle ) {
var msg = 'N/A';
 
if ( this.msgs ) {
if ( this.langue in this.msgs && cle in this.msgs[this.langue] ) {
msg = this.msgs[this.langue][cle];
} else if ( cle in this.msgs['fr'] ) {
msg = this.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
WidgetsSaisiesCommun.prototype.arreter = function( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
};
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
WidgetsSaisiesCommun.prototype.extraireEnteteDebug = function( jqXHR ) {
var msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
var debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
};
 
 
WidgetsSaisiesCommun.prototype.confirmerSortie = function() {
$( window ).off( 'beforeunload' ).on( 'beforeunload', function( event ) {
if ( !event ) {
event = window.event;
}
return false;
});
};
 
WidgetsSaisiesCommun.prototype.valOk = function ( valeur, sensComparaison = true, comparer = undefined ) {
return utils.valOk( valeur, sensComparaison, comparer );
};
 
WidgetsSaisiesCommun.prototype.activerModale = function ( label, content = '', buttons = [] ) {
return utils.activerModale( label, content, buttons );
};
 
// Lib hors objet
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
var proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
WidgetsSaisiesCommun.prototype.filter = function( array, term ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/saisie.tpl.html
New file
0,0 → 1,897
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo strip_tags( $widget['titre'] ); ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link href="<?php echo $url_base; ?>js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE SAISIE -->
<link href="<?php echo $url_base; ?>css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo $url_base; ?>css/saisieSpe.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<!-- <link rel="icon" type="image/x-icon" href="favicon.ico" /> -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<style>
.loading::after {
content:'';
display: inline-block;
background-image: url("<?php echo $url_base; ?>img/icones/chargement-image.gif");
background-size: 1rem;
height: 1rem;
width: 1rem;
}
</style>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-type-loc="<?php echo $widget['type_localisation'];?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.' . preg_replace( '/(?:imag)?e\/?/','', $widget['logo'] ) ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo ( $widget['info'] ) ? $widget['titre'] . ' <div id="info-button" class="btn btn-outline-info btn-sm border-0" data-mime-info="' . $widget['info'] . '"><i class="fas fa-info-circle"></i></div>' : $widget['titre']; ?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3><?php echo $aide['titre']; ?></h3>
<div id="aide-txt" class="hiden-sm-down">
<p><?php echo $aide['description']; ?></p>
</div>
</div>
</div>
</div>
 
<div id="formulaire" class="row mb-3 bloc-top">
<form id="form-observateur" role="form" autocomplete="on">
<h2><?php echo $observateur['titre']; ?></h2>
<div id="tb-observateur">
<div class="navbar-default mb-3" id="tb-navbar">
<div class="nav navbar-nav navbar-right row control-group">
<div id="bouton-connexion" class="volet col-md-6 col-sm-8">
<label for="bouton-connexion"><?php echo $observateur['compte']; ?></label>
<a id="connexion" href="<?php echo $authTpl; ?>" class="btn btn-success mr-1 mb-1" target="_blank"><?php echo $observateur['connexion']; ?></a>
<a id="inscription" href="" class="btn btn-primary mr-1 mb-1" target="_blank"><?php echo $observateur['inscription']; ?></a>
</div>
<div id="creation-compte" class="volet col-md-6 col-sm-8">
<label for="creation-compte"><?php echo $observateur['noninscription']; ?></label>
<a id="bouton-anonyme" href="" class="btn btn-info mr-1 mb-1"><?php echo $observateur['nonconnexion']; ?></a>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte"><?php echo $observateur['bienvenue']; ?></label>
<a href="" class="list-tool btn btn-large btn-primary volet-toggle" data-toggle="volet">
<span id="nom-complet"></span> <!-- <i class="fas fa-caret-down"></i> -->
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" target="_blank"><?php echo $observateur['profil']; ?></a>
</div>
<div id="deconnexion"><a href=""><?php echo $observateur['deconnexion']; ?></a></div>
</div>
</div>
</div>
</div>
</div>
 
<div id="identite" class="mb-3 hidden">
<p id="bienvenue" class=" col-md-6 hidden font-weight-bold">
Bonjour<span id="bienvenue-prenom"></span><span id="bienvenue-nom"></span>!
</p>
<div id="zone-courriel" class="row">
<div class="control-group col-md-6">
<label for="courriel" class="col-sm-8 obligatoire" title="<?php echo $observateur['courriel-title']; ?>">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control" type="email" title="<?php echo $observateur['courriel-title']; ?> ">
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
</div>
</div>
 
<div id="zone-courriel-confirmation" class="control-group col-md-6 hidden">
<label for="courriel_confirmation" class="col-sm-8 obligatoire" title="<?php echo $observateur['courriel-confirmation-title']; ?>">
<i class="fa fa-envelope" aria-hidden="true"></i>
<?php echo $observateur['courriel-confirmation']; ?>
</label>
<div class="col-sm-8">
<input id="courriel_confirmation" name="courriel_confirmation" class="form-control" type="email">
</div>
</div>
</div>
 
<div id="zone-prenom-nom" class="row hidden">
<div class="control-group col-md-6">
<label for="prenom" class="col-sm-8">
<i class="fa fa-user" aria-hidden="true"></i>
<?php echo $observateur['prenom']; ?>
</label>
<div class="input-group col-sm-8">
<input id="prenom" name="prenom" class="form-control" type="text">
</div>
</div>
<div class="control-group col-md-6">
<label for="nom" class="col-sm-8">
<i class="fa fa-user" aria-hidden="true"></i>
<?php echo $observateur['nom']; ?>
</label>
<div class="input-group col-sm-8">
<input id="nom" name="nom" class="form-control" type="text">
</div>
</div>
</div>
</div>
</form>
 
<!-- Messages d'erreur du formulaire-->
<div class="zone-alerte">
<div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertcc-title']; ?></h4>
<p><?php echo $observateur['alertcc']; ?></p>
</div>
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observateur['alertni-title']; ?></h4>
<p><?php echo $observateur['alertni']; ?></p>
</div>
</div>
 
<form id="form-observation" role="form" autocomplete="on" class="bloc-top">
<h2><?php echo $observation['titre']; ?></h2>
<div id="zone-observation" class="row">
<div class="col-md-6">
 
<div class="mb-3">
<label for="geolocalisation" class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observation['geoloc-title']; ?>">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['geolocalisation']; ?>
</label>
<div class="control-group">
<div id="geoloc-datas">
<input type="hidden" id="pays" name="pays" value="" style="display:none">
<input type="hidden" id="commune-nom" name="commune-nom" value="" style="display:none">
<input type="hidden" id="geometry" name="geometry" value="" style="display:none">
<input type="hidden" id="latitude" name="latitude" value="" style="display:none">
<input type="hidden" id="longitude" name="longitude" value="" style="display:none">
<input type="hidden" id="altitude" name="altitude" value="" style="display:none">
<input type="hidden" id="commune-insee" name="commune-insee" value="" style="display:none">
<input type="hidden" id="coord-lineaire" name="coord-lineaire" value="" style="display:none">
</div>
<div id="geoloc" class="col-sm-12">
<tb-geolocation-element
id="tb-geolocation"
layer='osm'
zoom_init="<?php echo ( isset($widget['localisation']['zoom']) ) ? $widget['localisation']['zoom']: '4' ;?>"
lat_init="<?php echo ( isset($widget['localisation']['latitude']) ) ? $widget['localisation']['latitude']: '46.5' ;?>"
lng_init="<?php echo ( isset($widget['localisation']['longitude'])) ? $widget['localisation']['longitude'] : '2.9' ;?>"
marker="<?php echo ( $widget['type_localisation'] === 'point' ) ? 'true' : 'false' ;?>"
polyline="<?php echo ( $widget['type_localisation'] === 'rue' ) ? 'true' : 'false' ;?>"
polygon="false"
show_lat_lng_elevation_inputs="<?php echo ( $widget['type_localisation'] === 'point' ) ? 'true' : 'false' ;?>"
osm_class_filter=""
elevation_provider="mapquest"
map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
>
</tb-geolocation-element>
</div>
</div>
</div>
 
<div class="control-group">
<label for="lieudit" class="col-sm-8">
<i class="fa fa-map-signs" aria-hidden="true"></i>
<?php echo $observation['lieudit']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="lieudit" name="lieudit" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $observation['lieudit-title']; ?>">
</div>
</div>
<div class="control-group">
<label for="station" class="col-sm-8">
<i class="fa fa-map-marker" aria-hidden="true"></i>
<?php echo $observation['station']; ?>
</label>
<div class="col-sm-8 mb-3">
<input type="text" id="station" name="station" class="form-control has-tooltip" data-toggle="tooltip" data-placement="bottom"title="<?php echo $observation['station-title']; ?>">
</div>
</div>
 
</div>
 
<div class="col-md-6">
 
<div class="control-group">
<label for="date_releve" class="col-sm-8 obligatoire">
<i class="fa fa-calendar" aria-hidden="true"></i>
<?php echo $observation['date']; ?>
</label>
<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
<input type="date" id="date_releve" name="date_releve" class="form-control" max="<?php echo date('Y-m-d', time()); ?>" placeholder="jj/mm/aaaa" required>
</div>
</div>
 
<?php if( ( $widget['type_especes'] === 'referentiel' || empty( $widget['type_especes'] ) ) && empty( $widget['referentiel'] ) ) : ?>
<div class="control-group">
<label for="referentiel" class="col-sm-8 obligatoire">
<i class="fa fa-book" aria-hidden="true"></i>
<?php echo $observation['referentiel']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="referentiel" class="form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $observation['referentiel-title']; ?>">
<option class="choisir" value="" selected hidden><?php echo $general['choisir']; ?></option>
<option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine">Métropole (index réduit)</option>
<option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
<option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
<option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
<option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
<option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
<option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
<option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
<option value="lbf" title="Liban">Liban (LBF)</option>
<option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
</select>
</div>
</div>
<?php else : ?>
<input id="referentiel" name="referentiel" value="<?php echo $widget['referentiel']; ?>" type="hidden">
<?php endif; ?>
 
<div id="bloc-taxon" class="control-group">
<?php $isTaxonListe = ( isset( $widget['especes']['taxons'] ) && count( (array) $widget['especes']['taxons'] ) > 0 ) ;?>
<label <?php echo ( !$isTaxonListe ) ? 'id="taxon-autocomplete-label" for="taxon"' : 'for="taxon-liste"';?> class="col-sm-8">
<i class="fa fa-leaf" aria-hidden="true"></i>
<?php echo $observation['espece']; ?><?php if ( !empty( $widget['referentiel'] ) ) echo " (" . $widget['referentiel'] . ")"; ?>
</label>
<div class="col-sm-8 mb-3">
<?php if ( $widget['type_especes'] === 'fixe' || $widget['especes']['espece_imposee'] ) : ?>
<input id="taxon" name="taxon" type="text" class="form-control taxon-validation" title="" value="<?php echo $widget['especes']['nom_sci_espece_defaut']; ?>"/>
</div>
</div>
 
<?php elseif ( $isTaxonListe ) : ?>
<?php ksort( $widget['especes']['taxons'] ); ?>
<select id="taxon-liste" name="taxon-liste" class="form-control custom-select taxon-validation has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-espece-title']; ?>">
<option class="choisir" value="inconnue" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ($widget['especes']['taxons'] as $taxon) : ?>
<option
class="nom-sci"
value="<?php echo $taxon['nom_sel'];?>"
title="<?php echo $taxon['nom_fr'];?>"
data-num-nom-sel="<?php echo $taxon['num_nom_sel'];?>"
data-nom-ret="<?php echo $taxon['nom_ret'];?>"
data-num-nom-ret="<?php echo $taxon['num_nom_ret'];?>"
data-nt="<?php echo $taxon['num_taxon'];?>"
data-famille="<?php echo $taxon['famille'];?>"
><?php echo $taxon['nom_sel'];?></option>
<?php endforeach; ?>
<option value="autre"><?php echo $observation['autre-espece']; ?></option>
</select>
<span for="taxon-liste" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
<input id="taxon" name="taxon" class="form-control" type="hidden" />
</div>
</div>
<div id="taxon-input-groupe" class="control-group hidden">
<label id="taxon-autocomplete-label" for="taxon-autre" class="col-sm-8" title="">
<i class="fab fa-pagelines" aria-hidden="true"></i>
<?php echo $observation['autre-espece']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="taxon-autre" name="taxon-autre" class="form-control has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
</div>
</div>
<?php else : ?>
<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $observation['espece-title']; ?>">
<span for="taxon" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
</div>
</div>
<?php endif; ?>
 
<div class="control-group">
<label for="certitude" class="col-sm-8 obligatoire">
<i class="fa fa-question" aria-hidden="true"></i>
<?php echo $observation['certitude']; ?>
</label>
<div class="col-sm-8 mb-3">
<select id="certitude" name="certitude" class="form-control custom-select has-tooltip" data-toggle="tooltip" title="<?php echo $observation['certitude-title']; ?>">
<option class="aDeterminer" value="à determiner" ><?php echo $observation['certADet']; ?></option>
<option class="douteux" value="douteux" ><?php echo $observation['certDout']; ?></option>
<option class="certain" value="certain" selected="selected" ><?php echo $observation['certCert']; ?></option>
</select>
</div>
</div>
<!-- choix du (des) milieu(x) -->
<?php if ( 0 < count( (array) $widget['milieux'] ) ) :?>
<?php if ( in_array('multimilieux', $widget['milieux'] ) ) :?>
<div class="multiselect list-checkbox">
<label class="col-sm-8" title="<?php echo $chpsupp['select-checkboxes-texte'];?>">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="control-group col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['liste-milieu-title']; ?>">
<div class="selectBox">
<select class="form-control list-checkbox custom-select" id="list-checkbox-milieu">
<option><?php echo $chpsupp['select-checkboxes-texte'];?></option>
</select>
<div class="overSelect"></div>
</div>
<div class="checkboxes hidden" data-name="milieu">
<?php foreach ( $widget['milieux'] as $milieu ) :?>
<?php if ( 'autre' !== strtolower( $milieu ) && 'multimilieux' !== strtolower( $milieu ) ) :?>
<label for="<?php echo strtolower( $milieu );?>">
<input type="checkbox" id="<?php echo strtolower( $milieu );?>" name="milieu" value="<?php echo $milieu;?>" class="<?php echo strtolower( $milieu );?> milieu" data-label="<?php echo $observation['milieu']; ?>" data-name="milieu">
<?php echo $milieu;?>
</label>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( in_array('autre', $widget['milieux'] ) ) :?>
<label for="other-milieu">
<input type="checkbox" id="other-milieu" name="milieu" value="other" class="other milieu" data-label="<?php echo $observation['milieu']; ?>" data-element="checkboxes" data-name="milieu">
Autre
</label>
<?php endif; ?>
</div>
</div>
</div>
<?php else : ?>
<div class="">
<label for="milieu" class="col-sm-8">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select">
<select id="milieu" class="form-control milieu select custom-select has-tooltip mb-2" data-toggle="tooltip" title="<?php echo $observation['liste-milieu-title']; ?>" data-name="milieu" data-label="milieu">
<option class="choisir" value="" selected hidden><?php echo $general['choisir']; ?></option>
<?php foreach ( $widget['milieux'] as $milieu ) :?>
<?php if ( 'autre' !== strtolower( $milieu ) && 'multimilieux' !== strtolower( $milieu ) ) :?>
<option value="<?php echo $milieu; ?>" data-name="milieu"><?php echo $milieu; ?></option>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( in_array('autre', $widget['milieux'] ) ) :?>
<option id="other-milieu" class="other form-control is-select" value="other" data-element="select" data-name="milieu"><?php echo $milieu; ?></option>
<?php endif; ?>
</select>
</div>
</div>
</div>
<?php endif; ?>
<?php else : ?>
<div class="">
<label for="milieu" class="col-sm-8">
<i class="fa fa-street-view" aria-hidden="true"></i>
<?php echo $observation['milieu']; ?>
</label>
<div class="col-sm-8 mb-3">
<input id="milieu" name="milieu" class="form-control has-tooltip" data-toggle="tooltip" type="text" placeholder="<?php echo $observation['milieu-ph']; ?>" title="<?php echo $observation['milieu-title']; ?>">
</div>
</div>
<?php endif; ?><!-- fin choix milieu(x) -->
<div class="">
<label for="notes" class="col-sm-8">
<i class="fa fa-pen" aria-hidden="true"></i>
<?php echo $observation['notes']; ?>
</label>
<div class="col-sm-8 mb-3">
<textarea id="notes" form="form-observation" class="col-md-12 has-tooltip" data-toggle="tooltip" rows="7" name="notes" placeholder="<?php echo $observation['notes_ph']; ?>" title="<?php echo $observation['notes-title']; ?>"></textarea>
</div>
</div>
 
</div>
</div>
</form>
 
<!-- Messages d'erreur du formulaire-->
<div class="zone-alerte">
<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
<p><?php echo $observation['alertgk']; ?></p>
</div>
<div id="dialogue-taxon-or-image" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $observation['alert-img-tax-title']; ?></h4>
<p><?php echo $observation['alert-img-tax']; ?></p>
</div>
</div>
 
<!-- Champs supplémentaires -->
<?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
<form id="form-supp" class="bloc-top" role="form" autocomplete="on">
<h2><?php echo $chpsupp['titre']; ?></h2>
<div id="zone-supp" class="row">
 
<?php foreach( $widget['chpSupp'][ $widget['projet'] ]['champs-supp'] as $champ ) : ?>
<?php
$min = ( isset( $champ['fieldValues']['min'] ) )? ' min="' . $champ['fieldValues']['min'] . '"':'';
$max = ( isset( $champ['fieldValues']['max'] ) )? ' max="' . $champ['fieldValues']['max'] . '"':'';
$step = ( isset( $champ['fieldValues']['step'] ) )? ' step="' . $champ['fieldValues']['step'] . '"':'';
$default = ( isset( $champ['fieldValues']['default'] ) )? ' value="' . $champ['fieldValues']['default'] . '" data-default="' . $champ['fieldValues']['default'] . '"' :'';
$description = ( isset( $champ['description'] ) )? ' data-toggle="tooltip" title="' . $champ['description'] . '"':'';
$placeholder = ( isset( $champ['fieldValues']['placeholder'] ) )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
$required = '';
$mandatory = '';
$pattern = '';
$obs_radio = '';
$help = '';
$help_button = '';
 
if( $champ['help'] ) {
$help = ' and-help';
$help_button = ' <div class="help-button help-' . $champ['key'] . ' btn btn-outline-info btn-sm border-0" data-key="' . $champ['key'] . '" data-name="' . $champ['name'] . '" data-mime-type="' . $champ['help'] . '"><i class="fas fa-info-circle"></i></div>';
}
 
if( $champ['mandatory'] ) {
// Attr required
$required = ' required';
// class="obligatoire"
$mandatory = ' obligatoire';
}?>
<div class="col-md-6">
<?php
switch( $champ['element'] ) {
case 'radio':
case 'checkbox': ?>
<div class="control-group <?php echo $champ['element']; ?> mb-3"<?php echo $required; ?> data-name="<?php echo $champ['key']; ?>[]">
<div class="col-sm-8 list-label<?php echo $help . $mandatory; ?>">
<?php echo $champ['name'] . $help_button; ?>
</div>
<div class="col-sm-8 has-tooltip" <?php echo $description; ?>>
 
<?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value_array ) : ?>
 
<?php
$checked = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$checked = ' checked';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
<input type="<?php echo $champ['element']; ?>" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?php echo $champ['key']; ?>[]" value="<?php echo $list_value_array[0]; ?>"<?php echo $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i] . ' ' . $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</label>
<?php else : ?>
<label for="other-<?php echo $champ['key']; ?>">
<input type="<?php echo $champ['element']; ?>" id="other-<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>[]" value="other" class="other <?php echo $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-element="<?php echo $champ['element']; ?>" data-name="<?php echo $champ['key']; ?>">
Autre
</label>
<?php endif; ?>
 
<?php endforeach; ?>
 
</div>
</div>
<?php break;
 
case 'list-checkbox': ?>
<div class="multiselect <?php echo $champ['element'] . $help; ?>">
<label class="col-sm-8<?php echo $mandatory; ?>" title="<?php echo $chpsupp['select-checkboxes-texte'];?>">
<?php echo $champ['name'] . $help_button; ?>
</label>
<div class="control-group col-sm-8 mb-3 has-tooltip" <?php echo $description; ?>>
<div class="selectBox">
<select class="form-control list-checkbox custom-select" id="list-checkbox-<?php echo $champ['key']; ?>">
<option><?php echo $chpsupp['select-checkboxes-texte'];?></option>
</select>
<div class="overSelect"></div>
</div>
<div class="checkboxes hidden" <?php echo $required; ?> data-name="<?php echo $champ['key']; ?>[]">
<?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value_array ) : ?>
 
<?php
$checked = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$checked = ' checked';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
<input type="checkbox" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?php echo $champ['key']; ?>[]" value="<?php echo $list_value_array[0]; ?>"<?php echo $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i] . ' ' . $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</label>
<?php else : ?>
<label for="other-<?php echo $champ['key']; ?>">
<input type="checkbox" id="other-<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>[]" value="other" class="other <?php echo $champ['key']; ?>" data-label="<?php echo $champ['name']; ?>" data-element="checkboxes" data-name="<?php echo $champ['key']; ?>">
Autre
</label>
<?php endif; ?>
 
<?php endforeach; ?>
 
</div>
</div>
</div>
<?php break;
 
case 'select': ?>
<div class="control-group mb-3">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<div class="select-wrapper add-field-select <?php echo $help; ?>">
<select id="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . ' ' . $champ['element']; ?> form-control has-tooltip custom-select mb-2"<?php echo $required; ?> data-label="<?php echo $champ['name']; ?>" data-name="<?php echo $champ['key']; ?>" <?php echo $description; ?>>
 
<?php foreach ( $champ['fieldValues']['listValue'] as $list_value_array ) : ?>
 
<?php
$selected = '';
if ( '#' === substr( $list_value_array[0], -1 ) ) :
$selected = ' selected="selected"';
$list_value_array[0] = substr( $list_value_array[0], 0, -1 );
endif;
?>
 
<?php if( 'other' !== $list_value_array ) : ?>
<option value="<?php echo $list_value_array[0]; ?>"<?php echo $selected; ?> data-name="<?php echo $champ['key']; ?>">
<?php echo ( '' !== $list_value_array[1] ) ? ucfirst($list_value_array[1]) : ucfirst($list_value_array[0]); ?>
</option>
<?php else : ?>
<option id="other-<?php echo $champ['key']; ?>" class="other form-control is-select" value="other" data-element="<?php echo $champ['element']; ?>" data-name="<?php echo $champ['key']; ?>">Autre</option>
<?php endif; ?>
<?php endforeach; ?>
</select>
</div>
</div>
</div>
<?php break;
 
case 'textarea': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?> " ><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<textarea type="<?php echo $champ['element']; ?>" id="<?php echo $champ['key']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $required; ?> data-label="<?php echo $champ['name']; ?>"></textarea>
</div>
</div>
<?php break;
 
case 'range': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3 row">
<?php
$div_range_min_max = '';
 
if ( isset( $champ['fieldValues']['min'] ) ) {
$div_range_min_max =
"<p class=\"col-2 range-values text-center font-weight-bold\">".
"Min " . $champ['fieldValues']['min'] .
"</p>";
}
 
$div_range_min_max .= '<div class="range-live-value range-values text-center font-weight-bold col-';
 
if ( isset( $champ['fieldValues']['min'] ) && isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .= '8';
} elseif ( isset( $champ['fieldValues']['min'] ) || isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .= '10';
} else {
$div_range_min_max .= '12';
}
 
$div_range_min_max .= '" onload="this.innerText = document.getElementById(&apos;ajouter-obs&apos;).value"></div>';
 
if( isset( $champ['fieldValues']['max'] ) ) {
$div_range_min_max .=
"<p class=\"col-2 range-values text-center font-weight-bold\">".
"Max " . $champ['fieldValues']['max'] .
"</p>";
}
 
echo $div_range_min_max;
?>
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="pl-3 custom-range <?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
 
case 'number':
case 'date': ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip"<?php echo $pattern . $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
 
case 'text' :
case 'email':
default: ?>
<div class="control-group">
<label for="<?php echo $champ['key']; ?>" class="col-sm-8<?php echo $mandatory; ?>"><?php echo $champ['name'] . $help_button; ?></label>
<div class="col-sm-8 mb-3">
<input type="<?php echo $champ['element']; ?>" name="<?php echo $champ['key']; ?>" class="<?php echo $champ['key'] . $help; ?> form-control has-tooltip" <?php echo $description . $placeholder . $required; ?> data-label="<?php echo $champ['name']; ?>">
</div>
</div>
<?php break;
}
?>
</div>
<?php endforeach; ?>
</div>
</form>
<?php endif; ?><!-- Fin champs supplémentaires -->
 
<form id="form-upload" class="form-horizontal bloc-top" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
<h2><?php echo $image['titre']; ?></h2>
<p id="miniature-info">
<?php echo $image['aide']; ?>
</p>
<div id ="photos-conteneur" class="control-group col-sm-12">
<div>
<label for="fichier" class="label-file btn btn-large btn-info mb-3">
<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
</label>
</div>
<span for="fichier" class="error" style="display: none;"><?php echo $observation['error-taxon'];?></span>
 
<div id="miniatures"></div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
 
<div id="image" class="row"></div>
</div>
 
<!-- Bouton cr&ation d'une obs -->
<div class="row mb-3">
<div class="centre" title="<?php echo $resume['creer-title']; ?>">
<button id="ajouter-obs" class="btn btn-success"><i class="fas fa-check-square"></i> <?php echo $resume['creer']; ?></button>
</div>
</div>
 
<!-- Messages d'erreur du formulaire-->
<div class="row">
<div class="zone-alerte">
<div id="message-chargement" class="alert alert-secondary alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchargt']; ?></h4>
<p><?php echo $resume['alertchargt-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
<p><?php echo $resume['alert10max-desc']; ?></p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
<p><?php echo $resume['alertchp-desc']; ?></p>
</div>
</div>
</div>
 
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="bloc-top hidden">
<div class="alert alert-info">
<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
<button id="transmettre-obs" class="btn btn-success droite" disabled="disabled"
title="<?php echo $resume['trans-title']; ?>" type="button">
<?php echo $resume['trans']; ?>
</button>
</div>
<!-- chargement -->
<div id="chargement" class="modal-fenetre hidden">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress active">
<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
</div>
</div>
<p id="chargement-txt"><?php echo $resume['transencours']; ?></p>
</div>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte">
<div id="dialogue-zero-obs" class="alert alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
<p><?php echo $resume['alert0obs-desc']; ?></p>
</div>
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
<div class="alert-txt"></div>
</div>
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" class="hidden">
<p class="msg"><?php echo $resume['transok']; ?></p>
</div>
<div id="tpl-transmission-ko" class="hidden">
<p class="msg"><?php echo $resume['transko']; ?></p>
</div>
</div>
</div>
 
<!-- modale -->
<div id="fenetre-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fenetre-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fenetre-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/tb-geoloc/tb-geoloc-lib-app.js"></script>
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script> -->
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<!-- Connexion, bloc de prévisualisation, date -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/Utils.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetsSaisiesCommun.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetSaisie.js"></script>
<script type="text/javascript">
//<![CDATA[
const NBRE_ELTS_AUTOCOMP = 20;
const OBS_MAX_NBRE = 10;
const DUREE_MESSAGE = 1000;
 
var widgetProp = {
// url jusqu'à "/widget:cel:"
'urlWidgets' : "<?php echo $widgets_url; ?>",
// module utilisé (apa,lg,streets)
'projet' : "<?php echo $widget['projet']; ?>",
// id du projet
'idProjet' : "<?php echo $widget['id_projet']; ?>",
// La présence du parametre 'debug' dans l'URL enclenche le débogage
'debug' : <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>,
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
'html5' : <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>,
// Mot-clé du widget/projet
'tagsMotsCles' : "<?php echo $widget['motscles']; ?>",
// Mots-clés à ajouter aux images
'tagImg' : "<?php echo isset($widget['tag-img']) ? $widget['tag-img'] : ''; ?>",
// Mots-clés à ajouter aux observations
'tagObs' : "<?php echo isset($widget['tag-obs']) ? $widget['tag-obs'] : ''; ?>",
// Précharger le formulaire avec les infos d'une observation
'obsId' : "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>",
// URL du web service réalisant l'insertion des données dans la base du CEL.
'serviceSaisieUrl' : "<?php echo $url_ws_saisie; ?>",
// URL du web service permettant de récupérer les infos d'une observation du CEL.
'serviceObsUrl' : "<?php echo $url_ws_obs; ?>",
// langue
'langue' : "<?php echo $widget['langue']; ?>",
// Squelette d'URL du web service de l'annuaire.
'serviceAnnuaireIdUrl' : "<?php echo $url_ws_annuaire; ?>",
// mode : prod / beta / local
'mode' : "<?php echo $conf_mode; ?>",
// URL de l'icône du chargement en cours d'une image
'chargementImageIconeUrl' : "<?php echo $url_base; ?>img/icones/chargement.gif",
// URL de l'icône pour une photo manquante
'pasDePhotoIconeUrl' : "<?php echo $url_base; ?>img/icones/pasdephoto.png",
// Code du référentiel utilisé pour les nom scientifiques.
'nomSciReferentiel' : "<?php echo ( !empty( $widget['referentiel'] ) ) ? strtolower( $widget['referentiel'] ) : 'bdtfxr'; ?>",
// Indication de la présence d'une espèce imposée
'especeImposee' : "<?php echo $widget['especes']['espece_imposee']; ?>",
// Tableau d'informations sur l'espèce imposée
'infosEspeceImposee' : "<?php echo $widget['especes']['infos_espece']; ?>",
// Indication de la présence d'un référentiel imposé
'referentielImpose' : "<?php echo ( !empty( $widget['referentiel'] ) ) ? strtolower( $widget['referentiel'] ) : 'bdtfxr'; ?>",
// #taxon est une liste
'isTaxonListe' : <?php echo ( isset( $widget['especes']['taxons'] ) && count( (array) $widget['especes']['taxons'] ) )? 'true' : 'false' ; ?>,
// Nombre d'élément dans les listes d'auto-complétion
'autocompletionElementsNbre' : NBRE_ELTS_AUTOCOMP,
// URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrlTpl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Nombre d'observations max autorisé avant transmission
'obsMaxNbre' : OBS_MAX_NBRE,
// Durée d'affichage en milliseconde des messages d'informations
'dureeMessage' : DUREE_MESSAGE,
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
'serviceNomCommuneUrl' : "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}",
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
'serviceNomCommuneUrlAlt' : "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"
};
 
$( document ).ready( function() {
widget = new WidgetSaisie(widgetProp);
widget.init();
// Fonctions de Style et Affichage des éléments "spéciaux"
utils.init();
});
//]]>
</script>
<!-- Barre de navigation -->
<?php if ( $bar ): ?>
<script src="<?php echo $url_script_navigation; ?>"></script>
<?php endif; ?>
</body>
</html>
/branches/v3.01-serpe/widget/modules/saisie2/squelettes/apa.tpl.html
New file
0,0 → 1,313
<?php
$nom_projet_metas = '';
switch($widget['projet']) {
case 'tb_lichensgo':
$nom_projet_metas = 'Lichens Go!';
break;
case 'tb_streets':
$nom_projet_metas = 'sTREETs';
break;
case 'tb_aupresdemonarbre':
default:
$nom_projet_metas = 'APA';
break;
}
?>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo preg_replace('/<((?!>.*<*).)*>/', ' ',$widget['titre']); ?></title>
 
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widgets de saisie du carnet en ligne pour <?php echo $nom_projet_metas; ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Widgets de saisie du CeL pour <?php echo $nom_projet_metas; ?>" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Widgets de saisie du Carnet en Ligne pour <?php echo $nom_projet_metas; ?>" />
<meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Favicone -->
<link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
<!-- Jquery-ui custom css-->
<link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
<!-- Fontawesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<!-- Carto -->
<link href="<?php echo $url_base; ?>js/tb-geoloc/styles.css" rel="stylesheet" type="text/css" media="screen" />
<!-- STYLE SPECIFIQUE -->
<link href="<?php echo $url_base; ?>css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?php echo $url_base; ?>css/asl.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if( $prod ): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
 
<style>
.loading::after {
content:'';
display: inline-block;
background-image: url("<?php echo $url_base; ?>img/icones/chargement-image.gif");
background-size: 1rem;
height: 1rem;
width: 1rem;
}
</style>
 
<!-- carto -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/tb-geoloc/tb-geoloc-lib-app.js"></script>
 
<!-- Jquery -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
 
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/Utils.js"></script>
<!-- chargement des formulaires -->
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetsSaisiesCommun.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/WidgetsSaisiesASL.js"></script>
<script type="text/javascript">
//<![CDATA[
// Nombre d'éléments dans l'autocompletion taxon
const NBRE_ELTS_AUTOCOMP = 20;
const DUREE_MESSAGE = 1000;
const OBS_MAX_NBRE = 10;
 
var widgetProp = {
// url jusqu'à "/widget:cel:"
'urlWidgets' : "<?php echo $widgets_url; ?>",
// id du projet
'idProjet' : "<?php echo $widget['id_projet']; ?>",
// module utilisé (tb_aupresdemonarbre,tb_lichensgo,tb_streets)
'projet' : "<?php echo $widget['projet']; ?>",
// tags du projet
'tagsMotsCles' : "<?php echo $widget['motscles']; ?>",
// local/test/prod
'mode' : "<?php echo $conf_mode; ?>",
'langue' : "<?php echo $langue; ?>",
// La présence du parametre 'debug' dans l'URL enclenche le débogage
'debug' : <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>,
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
'html5' : <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>,
// URL du web service réalisant l'insertion des données dans la base du CEL.
'serviceSaisieUrl' : "<?php echo $url_ws_saisie; ?>",
// URL du web service permettant de récupérer les infos d'une observation du CEL.
'serviceObsUrl' : "<?php echo $url_ws_obs; ?>",
// URL du web service permettant de récupérer les images d'une observation.
'serviceObsImgs' : "<?php echo $url_ws_cel_imgs; ?>",
// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
'serviceObsImgUrl' : "<?php echo $url_ws_cel_img_url; ?>",
// Squelette d'URL du web service de l'annuaire.
'serviceAnnuaireIdUrl' : "<?php echo $url_ws_annuaire; ?>",
// URL de l'icône du chargement en cours d'une image
'chargementImageIconeUrl' : "<?php echo $url_base; ?>img/icones/chargement.gif",
// URL de l'icône pour une photo manquante
'pasDePhotoIconeUrl' : "<?php echo $url_base; ?>img/icones/pasdephoto.png",
// Nombre d'éléments dans l'autocompletion taxon
'autocompletionElementsNbre' : NBRE_ELTS_AUTOCOMP,
'dureeMessage' : DUREE_MESSAGE,
'obsMaxNbre' : OBS_MAX_NBRE,
// URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
'serviceAutocompletionNomSciUrlTpl' : "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+
"ns.structure=au&"+
"navigation.limite=" + NBRE_ELTS_AUTOCOMP,
'serviceNomCommuneUrl' : "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}",
'serviceNomCommuneUrlAlt' : "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"
 
};
$( document ).ready( function() {
 
// WidgetsSaisiesASL.prototype = new WidgetsSaisiesCommun(widgetProp);
widget = new WidgetsSaisiesASL(widgetProp);
widget.init();
});
//]]>
</script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/ReleveASL.js"></script>
<script type="text/javascript" src="<?php echo $url_base; ?>js/PlantesEtLichensASL.js"></script>
</head>
 
<body id="top" data-sq="<?php echo $url_base; ?>" data-url-widgets="<?php echo $widgets_url; ?>" data-obs-list="<?php echo $url_ws_obs_list; ?>" data-lang="<?php echo $langue; ?>" data-projet="<?php echo $widget['projet']; ?>" data-tag-obs="<?php echo $widget['tag-obs']; ?>" data-mode="<?php echo $conf_mode; ?>">
<?php
echo ( $widget['image_fond'] ) ? '<div id="image-fond" style="' . htmlspecialchars( 'background:url("' . $widget['chemin_fichiers'] . 'image_fond.' . preg_replace( '/(?:imag)?e\/?/','',$widget['image_fond']) . '") no-repeat center center;background-size:cover') . '"></div>': '';
?>
<div id="zone-appli" class="container" data-projet="<?php echo $widget['projet']; ?>" data-url-fichiers="<?php echo $widget['chemin_fichiers']; ?>">
<div class="layout-wrapper page">
<div class="row mb-3">
<div class="col-md-2 col-sm-10">
<img id="logo" class="mr-3" src="<?php echo htmlspecialchars( $widget['chemin_fichiers'] . 'logo.' . preg_replace( '/(?:imag)?e\/?/','', $widget['logo'] ) ); ?>" alt="logo <?php echo $widget['projet']; ?>" />
</div>
<div class="col-md-10 col-sm-12">
<h1 id="titre-projet" class="mt-0"><?php echo $widget['titre'];?></h1>
</div>
</div>
 
<div class="row mb-3">
<div class="col-md-6">
<div id="description"><?php echo $widget['description']; ?></div>
</div>
<div class="col-md-6">
<div id="aide" class="well well-lg hidden-sm-down">
<h3>Aide</h3>
<div id="aide-txt" class="hiden-sm-down">
<p>
Cet outil vous permet de partager simplement vos observations avec le réseau Tela Botanica (sous <a target="_blank" href="https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction"> licence CC BY-SA 2.0 FR</a>).<br>
Identifiez-vous pour retrouver et gérer vos données dans votre <a target="_blank" href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et partagez-les avec le bouton "transmettre". <a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre">Sous certaines conditions</a>, elles apparaîtront alors sur <a target="_blank" href="https://www.tela-botanica.org/appli:identiplante">IdentiPlante</a>, <a target="_blank" href="https://www.tela-botanica.org/appli:pictoflora">PictoFlora</a>, eFlore, les <a target="_blank" href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartes</a> et galeries photos du site.<br>
En cas de question ou pour en savoir plus, <a target="_blank" href="https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie">consultez l'aide</a> ou contactez-nous à cel_remarques@tela-botanica.org.
</p>
</div>
</div>
</div>
</div>
 
<!-- zone observateur -->
<div id="formulaire" class="row mb-3">
<form id="form-observateur" role="form" autocomplete="on">
<h2 class="mb-3">Observateur</h2>
<div id="tb-observateur" class="row">
 
<div class="control-group col-md-6 col-sm-8 mb-3">
<div id="bloc-connexion">
<h3>Je me connecte à mon compte&nbsp;:</h3>
<label for="courriel" class="col-sm-8 obligatoire">
<i class="fa fa-envelope" aria-hidden="true"></i>&nbsp;Courriel
</label>
<div class="col-sm-8 mb-3">
<input id="courriel" name="courriel" class="form-control has-tooltip" data-toggle="tooltip" type="email" title="Veuillez saisir votre adresse courriel." autocomplete="email">
</div>
 
<label for="mdp" class="col-sm-8 obligatoire">
<i class="fas fa-user-lock"></i>&nbsp;Mot de passe
</label>
<div class="col-sm-8 mb-3">
<input id="mdp" name="mdp" class="form-control has-tooltip" data-toggle="tooltip" type="password" title="Veuillez saisir votre mot de passe." autocomplete="current-password">
</div>
 
<div id="boutons-connexion" class="col-sm-8 ml-3">
<a id="inscription" href="" class="mb-1" target="_blank">Créer un compte</a>
<a id="oublie" href="" class="float-right pr-3 mb-1" target="_blank">Mot de pase oublié?</a>
<div class="mt-3">
<a id="connexion" href="" class="float-right mr-3 btn btn-success" target="_blank">Se connecter</a>
</div>
</div>
</div>
<div id="utilisateur-connecte" class="volet hidden">
<label for="utilisateur-connecte">Bienvenue&nbsp;: </label>
<a href="" class="list-tool btn btn-large btn-info volet-toggle" data-toggle="volet">
<span id="nom-complet"></span>
</a>
<div class="volet-menu hidden">
<div id="profil-utilisateur">
<a href="" target="_blank">Mon profil</a>
</div>
<div id="deconnexion"><a href="">Déconnexion</a></div>
</div>
</div>
<p id="nb-releves-bienvenue" class="hidden">
Vous avez déjà saisi <span class="font-weight-bold nb-releves">0</span> relevés pour <span class="font-weight-bold">Aupres de mon Arbre</span>. Merci!
</p>
</div>
<div id="releves-utilisateur" class="col-md-6 col-sm-8 mt-3">
<a href="" id="bouton-list-releves" class="mb-3 btn btn-info hidden">
<i class="fas fa-history"></i>&nbsp;Reprendre un précédent relevé
</a>
<div class="table-responsive mb-3">
<table id="table-releves" class="table table-hover hidden">
<tbody id="list-releves" class="border-0">
</tbody>
</table>
</div>
<a href="" id="bouton-nouveau-releve" class="mb-3 btn btn-info hidden" data-load="arbres">
<i class="fas fa-broom"></i>&nbsp;Réinitialiser le formulaire
</a>
</div>
</div>
</form><!-- fin zone observateur -->
 
<!-- Messages d'erreur du formulaire observateur -->
<div class="zone-alerte">
<div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
<a class="close">×</a>
<h4 class="alert-heading">Information&nbsp;: observateur non identifié</h4>
<p>
Votre observation doit être liée à un compte.<br>
Veuillez vous connecter afin de vous identifier comme auteur de l'observation.<br>
Pour retrouver vos observations dans le <a target="_blank" href="http://www.tela-botanica.org/appli:cel">Carnet en ligne</a>, il est nécesaire de <a target="_blank" href="http://www.tela-botanica.org/page:inscription">vous inscrire à Tela Botanica</a>.
</p>
</div>
</div>
<!-- zone relevé -->
 
<!-- zone chargement arbres lichens ou plantes -->
<div id="charger-form" data-mode="<?php echo $conf_mode; ?>" data-load="arbres"></div>
<!-- fin zone chargement formulaire -->
 
</div><!-- fin formulaire -->
 
</div><!-- fin Layout-wrapper page -->
</div><!-- fin zone-appli -->
 
<!-- modale -->
<div id="fenetre-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fenetre-modal-label" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="fenetre-modal-label"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="print_content"></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<input id="id_utilisateur" name="id_utilisateur" type="hidden">
<input id="prenom" name="prenom" type="hidden">
<input id="nom" name="nom" type="hidden">
<input id="<?php echo $widget['projet']; ?>-obs" type="hidden" value="">
<input id="releve-data" type="hidden" value="">
<input id="dates-rues-communes" type="hidden" value="">
<input id="img-releve-data" type="hidden" value="">
</body>
</html>
/branches/v3.01-serpe/widget/modules/saisie2/i18n/fr.ini
New file
0,0 → 1,137
[General]
obligatoire = "obligatoire"
choisir = "Choisir"
 
[Aide]
titre = "Aide"
description="Cet outil vous permet de partager simplement vos observations avec le réseau <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a>
(sous <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/\#droit-de-reproduction\">
licence CC BY-SA 2.0 FR</a>).<br />
Identifiez-vous pour retrouver et gérer vos données dans votre <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Créez jusqu'à 10 observations (avec 10Mo max d'images) puis enregistrez-les et
partagez-les avec le bouton \"transmettre\".
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Sous certaines conditions</a>, elles apparaîtront alors sur
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore, les
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartes</a> et galeries photos du site.<br />
En cas de question ou pour en savoir plus,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> consultez l'aide</a>
ou contactez-nous à cel_remarques@tela-botanica.org."
 
bouton="Désactiver l'aide"
contact="Pour toute question ou remarque,"
contact2="contactez-nous."
 
[Observateur]
titre = "Observateur"
compte = "Je me connecte à mon compte&nbsp;:"
connexion = "Connexion"
nonconnexion = "Observation sans inscription"
inscription = "Inscription"
noninscription = "Je ne souhaite pas m'inscrire&nbsp;:"
bienvenue = "Bienvenue&nbsp;: "
profil = "Mon profil"
deconnexion = "Déconnexion"
courriel = "Courriel"
courriel-confirmation = "Courriel (confirmation)"
courriel-confirmation-title = "Veuillez confirmer le courriel."
courriel-title = "Veuillez saisir votre adresse courriel."
courriel-input-title = "Saisissez le courriel avec lequel vous êtes inscrit à Tela Botanica. Si vous n'êtes pas inscrit ce n'est pas grave,
vous pourrez le faire ultérieurement. Des informations complémentaires vont vous être demandées&nbsp;: prénom et nom."
prenom = "Prénom"
nom = "Nom"
alertcc-title = "Information&nbsp;: copier/coller"
alertcc = "Merci de ne pas copier/coller votre courriel.<br/>
La double saisie permet de vérifier l'absence d'erreurs."
alertni-title = "Information&nbsp;: observateur non identifié"
alertni = "Votre observation doit être liée soit à un compte, soit à un email.<br/>
Veuillez choisir, soit de vous connecter, soit de vous inscrire, soit communiquer une adresse email afin de vous identifier comme auteur de l'observation.<br/>
Pour retrouver vos observations dans le <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>,<br/>
il est nécesaire de <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">vous inscrire à Tela Botanica</a>."
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
geoloc-title = "Renseignez la localisation de votre observation"
alertgk-title = "Information&nbsp;: mauvaise géolocalisation"
alertgk = "Certaines informations de géolocalisation n'ont pas été transmises."
milieu = "Milieu"
milieu-title = "Type d’habitat, par exemple issu des codes Corine ou Catminat"
liste-milieu-title = "Choisir un type d'habitat"
milieu-ph = "bois, champ, falaise, ..."
date = "Date de relevé"
date-title ="Saisir la date de l’observation"
referentiel = "Référentiel"
referentiel-title = "Choisir un référentiel pour la saisie du taxon"
espece = "Espèce"
espece-title = "Saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
liste-espece-title = "Choisir dans la liste le taxon observé, ou choisir \"autre\" et saisir le taxon observé, en utilisant l’autocomplétion autant que possible"
autre-espece = "Autre espèce"
error-taxon = "Une observation doit comporter au moins une image ou un nom d'espèce"
alert-img-tax-title = "Information&nbsp;: Observation incomplète"
alert-img-tax = "Une observation doit comporter au moins un lieu, une date et un auteur, et soit un nom d'espèce, soit une image"
certitude = "Certitude"
certitude-title = "Renseigner à quel point l'identification du taxon est certaine"
certCert = "Certaine"
certDout= "Douteuse"
certADet= "À déterminer"
notes = "Notes"
notes-title = "Ajouter des informations complémentaires à votre observation"
notes-ph = "Vous pouvez éventuellement ajouter des informations complémentaires à votre observation."
lieudit = "Lieu-dit"
lieudit-title = "Toponyme plus précis que la localité"
station = "Station"
station-title = "Lieu précis de l'observation définissant une unité écologique homogène"
 
[Image]
titre = "Image(s) de cette plante"
aide = "Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.<br>
En fonction de sa taille sur le disque le téléchargement d'une photo peut être long.<br>
Pendant ce temps, l'envoi de l'observation sera interrompu.<br>
Vous pouvez l'annuler en cliquant sur le bouton supprimer de la photo en cours de téléchargement."
ajouter = "Ajouter une image"
 
 
[Chpsupp]
titre = "Informations propres au projet"
select-checkboxes-texte = "Plusieurs choix possibles"
 
[Resume]
creer = "Créer"
creer-title = "Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour ajouter votre observation à la liste à transmettre."
alertchargt = "Image en cours de chargement"
alertchargt-desc = "La création de cette observation sera à nouveau disponible dès que l'image aura été chargée.<br/>
Vous pouvez annuler l'action en cliquant sur le bouron supprimer de la photo en cours de téléchargement."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous."
alertchp = "Information&nbsp;: champs en erreur"
alertchp-desc = "Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données."
titre = "Observations à transmettre&nbsp;:"
trans-title = "Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques."
trans = "Transmettre"
alert0obs = "Attention&nbsp;: aucune observation"
alert0obs-desc = "Veuillez saisir des observations pour les transmettre."
info-trans = "Information&nbsp;: transmission des observations"
alerttrans = "Erreur&nbsp;: transmission des observations"
nbobs = "observations transmises"
transencours = "Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
d'observations à transférer."
transok = "Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">galeries d'images</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href=\"https://www.tela-botanica.org/appli:cel\">Carnet en ligne</a>.<br />
N'oubliez pas qu'il est nécessaire de
<a href=\"https://beta.tela-botanica.org/test/page:inscription\">s'inscrire à Tela Botanica</a>
au préalable, si ce n'est pas déjà fait."
transko = "Une erreur est survenue lors de la transmission d'une observation.<br />
Vérifiez que vous êtes identifié (soit en vous connectant si vous êtes inscrit, soit en renseignant votre email) et que tous les champs obligatoires sont correctement remplis.<br />
Néanmoins, les observations n'apparaissant plus dans la liste \"observations à transmettre\", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">le formulaire de signalement d'erreurs</a>."
/branches/v3.01-serpe/widget/modules/saisie2/i18n/nl.ini
New file
0,0 → 1,104
[General]
obligatoire = "verplicht"
choisir = "kiezen"
 
[Aide]
titre = ""
description=""
bouton=""
contact=""
contact2=""
 
[Observateur]
titre = "Waarnemer"
compte = "Ik log in op mijn account&nbsp;:"
connexion = "Verbinding"
nonconnexion = "Observatie zonder registratie"
inscription = "Inschrijving"
noninscription = "Ik wil me niet registreren&nbsp;:"
bienvenue = "Welkom&nbsp;: "
profil = "Mijn profiel"
deconnexion = "Afmelden"
courriel = "E-mailadres"
courriel-confirmation = "E-mailadres (bevestiging)"
courriel-title = ""
courriel-input-title = ""
prenom = "Voornaam"
nom = "Naam"
alertcc-title = "Informatie&nbsp;: copy / paste"
alertcc = "Kopieer en plak uw e-mail aub niet. <br/>
Dubbele invoer maakt het mogelijk om de afwezigheid van fouten te controleren."
alertni-title = "Information&nbsp;: niet-geïdentificeerde waarnemer"
alertni = "Uw observatie moet gekoppeld zijn aan een account of een e-mail."
 
 
[Observation]
titre = "Waarneming"
geolocalisation = "Geolokalisatie van de plant"
geoloc-title = ""
alertgk-title = ""
alertgk = ""
milieu = "Milieu"
milieu-title = ""
liste-milieu-title = ""
milieu-ph = ""
date = "Datum waarneming"
date-title =""
referentiel = ""
referentiel-title = ""
espece = "Algemene soort"
espece-title = ""
liste-espece-title = "Selecteer een soort in de combo door zijn Latijnse naam of gemeenschappelijke. Als een soort afwezig is, selecteer 'Anderen'"
autre-espece = "Andere soort"
error-taxon = "Een waarneming moet ten minste één afbeelding of soortnaam bevatten."
alert-img-tax-title = "Informatie&nbsp;: Onvolledige observatie"
alert-img-tax = "Een waarneming moet ten minste één plaats, datum en auteur bevatten en een soortnaam of een afbeelding."
certitude = "Zekerheid"
certCert = "Zeker"
certDout= "Twijfelachtig"
certADet= "Te bepalen"
notes = "Opmerkingen"
notes-title = ""
notes-ph = "Vrij aanvullen"
lieudit = "Plaats"
lieudit-title = ""
station = "Station"
station-title = "Specifieke locatie van de waarneming die een homogene ecologische eenheid definieert"
 
[Image]
titre = "Afbeelding(en) van de plant"
aide = "U kunt foto's toevoegen in JPEG formaat van elk maximaal 5 MB. "
ajouter = "Voeg één foto"
 
 
[Chpsupp]
titre = ""
select-checkboxes-texte = ""
 
[Resume]
creer = "Toevoegen"
creer-title = "Zodra de velden zijn ingevuld, kunt u op deze knop te klikken voeg uw opmerkingen aan de lijst toe te zenden"
alert10max = "Informatie&nbsp;"
alert10max-desc = "U heeft zojuist toegevoegd 10e waardening..<br/>
Om nieuwe toe te voegen, is het noodzakelijk om te verzenden door te klikken op de onderstaande knop."
alertchp = "Informatie&nbsp: invoerfout"
alertchp-desc = "Enige vorm velden zijn onjuist ingevulde.<br/>
Controleer uw gegevens."
titre = "Opmerkingen lijst van de verzendende&nbsp;:"
trans-title = "Voegt de volgende opmerkingen naar uw Notebook Online en openbaar maakt."
trans = "Verzenden"
alert0obs = "Waarschuwing: geen waarneming"
alert0obs-desc = "Geef waarnemingen te verzenden."
info-trans = "Informatie : toezenden van waarnemingen"
alerttrans = "Fout : toezenden van waarnemingen"
nbobs = "waarnemingen verscheept"
transencours = "Transfer waarnemingen in progress...<br />
Dit kan enkele minuten, afhankelijk van het beeldformaat en het aantal te nemen
waarnemingen over te dragen."
transok = "Heel hartelijk bedankt&nbsp;! Uw waarnemingen zijn doorgestuurd.<br />
Ze worden nu weergegeven op de kaart <a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint?projet=bellesdemarue&lang=nl\">Straatmadeliefjes</a>"
transko = "Een fout is opgetreden bij de overdracht van een waarneming (in het rood).<br />
U kunt proberen om opnieuw te verzenden door te klikken opnieuw op de zendknop of te verwijderen
en het volgende in te dienen.<br />
De waarnemingen worden niet weergegeven in de lijst op de opmerkingen te zenden zijn verzonden in uw vorige poging."
 
/branches/v3.01-serpe/widget/modules/saisie2/i18n/en.ini
New file
0,0 → 1,134
[General]
obligatoire = "required"
choisir = "Choose one option"
 
[Aide]
titre = "Help"
description="This tool allows you to simply share your observations with the <a target=\"_blank\" href=\"https://www.tela-botanica.org/\">Tela Botanica</a> network (under <a target=\"_blank\" href=\"https://www.tela-botanica.org/mentions-legales/#droit-de-reproduction\">
CC BY-SA 2.0 FR licence</a>).<br />
Log in to find and modify your data in your <a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:cel\">
Carnet en ligne</a>. Create up to 10 observations (10Mo max of pictures), save them and share them with the \"transmit\" button.
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisieCreerTransmettre\">
Provided some conditions</a>, your data can be displayed on our tools
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:identiplante\">IdentiPlante</a>,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/appli:pictoflora\">PictoFlora</a>, eFlore,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">map</a> and photo gallery.<br />
For question or to know more,
<a target=\"_blank\" href=\"https://www.tela-botanica.org/wikini/AideCarnetEnLigne/wakka.php?wiki=AideWidgetSaisie\"> see the help</a>
or contact us at cel_remarques@tela-botanica.org."
bouton="Inactive help"
contact="For any questions,"
contact2="contact us."
 
[Observateur]
titre = "Observer"
compte = "Use an account&nbsp;:"
connexion = "Log in"
nonconnexion = "Observation without registration"
inscription = "Create an account"
noninscription = "I don't want to use an account&nbsp;:"
bienvenue = "Hello&nbsp;: "
profil = "My profile"
deconnexion = "Log out"
courriel = "Email"
courriel-confirmation = "Email (confirmation)"
courriel-confirmation-title = "Please confirm the email."
courriel-title = "Enter your email adress"
courriel-input-title = "Enter your Tela Botanica's inscription mail. If you are not registered,
you can do it later to manage your data. You will be asked for additional information & nbsp; first name and last name."
prenom = "First name"
nom = "Last Name"
alertcc-title = "Information&nbsp;: copy/paste"
alertcc = "Please do not copy / paste your email. <br/>
Double entry makes it possible to check for errors. "
alertni-title = "Information&nbsp;: Observer not identified"
alertni = "Your observation must be linked to either an account or an email.<br/>
Please choose either to login, to register or to communicate an email address to identify yourself as the author of the observation.<br/>
To find your observations in the <a target=\"_blank\" href=\"http://www.tela-botanica.org/appli:cel\">Online notebook</a>,<br/>
it is necessary to <a target=\"_blank\" href=\"http://www.tela-botanica.org/page:inscription\">register to Tela Botanica</a>."
 
 
[Observation]
titre = "Observation"
geolocalisation = "Geolocalisation"
geoloc-title = "Fill in the location of your observation"
alertgk-title = "Information&nbsp;: bad geolocation"
alertgk = "Some geolocation information has not been transmitted."
milieu = "Environment"
milieu-title = "Type of habitat, for example from the Corine or Catminat codes"
liste-milieu-title = "Choose a habitat type"
milieu-ph = "wood, field, cliff, ..."
date = "Date"
date-title ="Enter the date of the observation"
referentiel = "Referential"
referentiel-title = "Choose a repository for taxon entry"
espece = "Species"
espece-title = "Enter the observed taxon, using autocompletion as much as possible"
liste-espece-title = "Choose from the list the observed taxon, or choose \"other\" and enter the observed taxon, using autocompletion as much as possible"
autre-espece = "Other species"
error-taxon = "An observation must include at least either a species name or an image"
alert-img-tax-title = "Information&nbsp;: Incomplete observation"
alert-img-tax = "An observation must include at least one place, date, and author, and either a species name or an image"
certitude = "Certainty"
certitude-title = "Fill in how much the taxon's identification is certain"
certCert = "Certain"
certDout = "Dubious"
certADet = "To be identified"
notes = "Notes"
notes-title = "Add additional information to your observation"
notes-ph = "You can optionally add additional information to your observation."
lieudit = "Locality"
lieudit-title = "Toponym more accurate than the locality"
station = "Station"
station-title = "Specific location of the observation defining a homogeneous ecological unit"
 
[Image]
titre = "Picture(s) of this plant"
aide = "Photos must be in JPEG format and must not exceed 5MB each.<br>
Depending on its size on the disk, it can take a long time to download a photo. <br>
Meanwhile the sending of the observation will be interrupted. <br>
You can cancel it by clicking on the delete button of the photo being downloaded."
ajouter = "Add a picuture"
 
 
[Chpsupp]
titre = "Project specific information"
select-checkboxes-texte = "Several choices"
 
[Resume]
creer = "Create"
creer-title = "Once the fields are filled, you can click on this button to add your observation to the list to transmit."
alertchargt = "Image loading"
alertchargt-desc = "The creation of this observation will be available again as soon as the image has been loaded. <br/>
You can cancel the action by clicking on the delete button of the photo being downloaded."
alert10max = "Information&nbsp;: 10 observations maximum"
alert10max-desc = "You've just added your 10th observation.<br/>
If you wish to add ohers, these observations must be transmitted first by clicking the 'transmit' button above."
alertchp = "Information&nbsp;: some fields have errors"
alertchp-desc = "Some fields in this form are poorly filled.<br/>
Please check your data."
titre = "Observations to be transmitted&nbsp;:"
trans-title = "Add the observations below to your Online Notebook and make them public."
trans = "transmit"
alert0obs = "Warning&nbsp;: no observation"
alert0obs-desc = "Please enter observations to transfer them."
info-trans = "Information&nbsp;: transmission of observations"
alerttrans = "Error&nbsp;: transmission of observations"
nbobs = "observations transmitted"
transencours = "Transfer of observations in progress...<br />
This may take several minutes depending on the size of the images and the number of observations to be transferred."
transok = "Your observations have been sent.<br />
They are now available through different visualization tools of the network (
<a href=\"https://www.tela-botanica.org/flore/\">eFlore</a>,
<a href=\"https://www.tela-botanica.org/appli:pictoflora\">images galery</a>,
<a href=\"https://www.tela-botanica.org/appli:identiplante\">identiplante</a>,
<a href=\"https://www.tela-botanica.org/widget:cel:cartoPoint\">cartography (widget)</a>...)<br />
If you want to modify or delete them, you can find them by connecting to your
<a href=\"https://www.tela-botanica.org/appli:cel\"> Online notebook</a>.<br />
Remember that it is necessary to
<a href=\"https://beta.tela-botanica.org/test/page:inscription\"> register on Tela Botanica</a>
beforehand, if you have not already done so."
transko = "An error occurred while transmitting an observation.<br />
Check that you are identified (either by logging in if you are registered or by filling in your email) and that all mandatory fields are correctly filled in. <br />
Nevertheless, the observations no longer appearing in the \ "observations to be transmitted \" list, were sent during your previous attempt. <br />
If the problem remains, you can report the malfunction on <a href=\"<?php echo $url_remarques\; ?>?service=cel\&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] )\; ?>\" target=\"_blank\" onclick=\"javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' )\; return false\;\">the error reporting form</a>."
/branches/v3.01-serpe/widget/modules/saisie2/Saisie2.php
New file
0,0 → 1,525
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Saisie2 extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
const SERVICE_DEFAUT = 'saisie';
const WS_SAISIE = 'CelWidgetSaisie';
const WS_UPLOAD = 'CelWidgetUploadImageTemp';
const WS_OBS = 'CelObs';
const WS_COORD = 'CoordSearch';
const LANGUE_DEFAUT = 'fr';
const PROJET_DEFAUT = 'base';
const WS_NOM = 'noms';
const EFLORE_API_VERSION = '0.1';
const WIDGETS_SPECIAUX = ['tb_aupresdemonarbre','tb_streets','tb_lichensgo'];
const SQUELETTES_SPECIAUX = ['arbres','plantes','lichens'];
const WS_OBS_LIST = 'InventoryObservationList';
const WS_IMG_LIST = 'celImage';
private $cel_url_tpl = null;
/** Si spécifié, on ajoute une barre de navigation inter-applications */
private $bar;
//private $parametres_autorises = array('projet', 'type', 'langue', 'order');
private $parametres_autorises = array(
'projet' => 'projet',
'type' => 'type',
'langue' => 'langue',
'order' => 'order'
);
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$retour = null;
// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
unset($this->parametres['callback']);
extract($this->parametres);
$this->bar = (isset($bar)) ? $bar : false;
/* Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
Sinon, rien ne sera chargé.
L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé en framework.php et configuré pour chaque installation de
l'application.
Chemin du fichier chargeant le framework requis */
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
 
}
$langue = (isset($langue)) ? $langue : self::LANGUE_DEFAUT;
$this->langue = I18n::setLangue($langue);
$this->parametres['langue'] = $langue;
 
if (!isset($mode)) {
$mode = self::SERVICE_DEFAUT;
}
if (!isset($projet)) {
$this->parametres['projet'] = self::PROJET_DEFAUT;
}
 
$methode = $this->traiterNomMethodeExecuter($mode);
if (method_exists($this, $methode)) {
$retour = $this->$methode();
} else {
$this->messages[] = "Ce type de service '$methode' n'est pas disponible.";
}
 
$contenu = ''; //print_r($retour);exit;
if (is_null($retour)) {
$this->messages[] = 'La ressource demandée a retourné une valeur nulle.';
} else {
if (isset($retour['donnees'])) {
// ne pas afficher le projet dans l'url si on est dans saisie de base
$projet_dans_url = ( $this->parametres['projet'] !== 'base') ? '?'. $this->parametres['projet'].'&'.'langue='.$this->parametres['langue'] : '';
 
$retour['donnees']['conf_mode'] = $this->config['parametres']['modeServeur'];
$retour['donnees']['prod'] = ($this->config['parametres']['modeServeur'] === 'prod');
$retour['donnees']['bar'] = $this->bar;
$retour['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['cheminDos']);
$retour['donnees']['url_ws_annuaire'] = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], 'utilisateur/identite-par-courriel/');
$retour['donnees']['url_ws_saisie'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_SAISIE);
$retour['donnees']['url_ws_obs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS);
$retour['donnees']['url_ws_upload'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_UPLOAD);
$retour['donnees']['authTpl'] = $this->config['manager']['authTpl']. $projet_dans_url;
$retour['donnees']['mode'] = $mode;
$retour['donnees']['langue'] = $langue;
$retour['donnees']['widgets_url'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'],'');
$retour['donnees']['url_ws_obs_list'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_OBS_LIST);
$retour['donnees']['url_ws_cel_imgs'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/liste-ids?obsId=';
$retour['donnees']['url_ws_cel_img_url'] = str_replace ( '%s.jpg', '{id}XS', $this->config['chemins']['celImgUrlTpl'] );
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
switch ( $retour['squelette'] ) {
case 'apa':
$retour['donnees']['squelette'] = $this->parametres['projet'];
break;
case 'apaforms':
$retour['donnees']['squelette'] = $this->parametres['squelette'];
break;
default:
$retour['donnees']['squelette'] = $retour['squelette'];
break;
}
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
} else {
$this->messages[] = 'Les données à transmettre au squelette sont nulles.';
}
}
$this->envoyer($contenu);
}
 
 
private function executerSaisie() {
$retour = array();
if (in_array($this->parametres['projet'], self::WIDGETS_SPECIAUX) ) {
if (isset($this->parametres['squelette']) && in_array($this->parametres['squelette'], self::SQUELETTES_SPECIAUX) ) {
$retour['squelette'] = 'apaforms';
} else {
$retour['squelette'] = 'apa';
}
} else {
$retour['squelette'] = 'saisie';
$retour['donnees']['general'] = I18n::get('General');
$retour['donnees']['aide'] = I18n::get('Aide');
$retour['donnees']['observateur'] = I18n::get('Observateur');
$retour['donnees']['observation'] = I18n::get('Observation');
$retour['donnees']['image'] = I18n::get('Image');
$retour['donnees']['chpsupp'] = I18n::get('Chpsupp');
$retour['donnees']['resume'] = I18n::get('Resume');
}
$retour['donnees']['widget'] = $this->rechercherProjet();
return $retour;
}
 
/* Recherche si le projet existe sinon va chercher les infos de base */
private function rechercherProjet() {
// projet avec un squelette défini (et non juste un mot-clé d'observation)
$estProjetDefini = true;
$tab = array();
$url = $this->config['manager']['celUrlTpl'].'?projet='.$this->parametres['projet'].'&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
if (!in_array($this->parametres['projet'], self::WIDGETS_SPECIAUX)){
if ( $json !== "[]") {
$tab = $this->rechercherChampsSupp();
} else {
$url = $this->config['manager']['celUrlTpl'].'?projet=base&langue='.$this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$estProjetDefini = false;
}
}
$tableau = json_decode($json, true);
$tableau = $this->traiterParametres($estProjetDefini, $tableau[0]);
if (
isset($this->parametres['squelette']) &&
($this->parametres['squelette'] === 'plantes' || $this->parametres['squelette'] === 'lichens')
) {
$tableau['type_especes'] = 'liste';
if ( $this->parametres['squelette'] === 'lichens' ) {
$tableau['referentiel'] = 'taxref';
}
}
$tableau['especes'] = $this->rechercherInfosEspeces($tableau);
if (isset($tableau['type_especes']) && 'fixe' === $tableau['type_especes']) {
// si on trouve ":" dans referentiel, referentiel = première partie
$tableau['referentiel'] = (strstr($tableau['referentiel'],':',true)) ?: $tableau['referentiel'];
}
$tableau['milieux'] = ($tableau['milieux'] != '') ? explode(';', $tableau['milieux']) : [];
if(!isset($this->parametres['id-obs'])) {
if (isset($this->parametres['dept']) || isset($this->parametres['commune'],$this->parametres['dept']) || isset($this->parametres['code_insee'])) {
$localisation = $this->traiterParamsLocalisation($this->parametres);
// les paramètres dans l'url peuvent surcharger les données de localisation de la bdd
if ($localisation) $tableau['localisation'] = $localisation;
}
if (isset($tableau['localisation'])) $tableau['localisation'] = $this->traiterLocalisation($tableau['localisation']);
}
if (isset($tableau['motscles'])) {
if (isset($tableau['tag-obs'])) {
$tableau['tag-obs'] .= $tableau['motscles'];
} else if (isset($tableau['tag-img'])) {
$tableau['tag-img'] .= $tableau['motscles'];
} else {
$tableau['tag-obs'] = $tableau['tag-img'] = $tableau['motscles'];
}
}
$tableau['chpSupp'] = $tab;
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$tableau['chemin_fichiers'] = sprintf( $this->config['chemins']['baseURLAbsoluDyn'], $this->config['manager']['imgProjet'] . $tableau['projet'] . $langue_projet_url . '/' );
return $tableau;
}
 
/* Recherche si un projet a des champs de saisie supplémentaire */
private function rechercherChampsSupp() {
$retour = array();
$projet = $this->parametres['projet'];
$url = $this->config['manager']['celChpSupTpl'] .'?projet=' . $projet . '&langue=' . $this->parametres['langue'];
$json = $this->getDao()->consulter($url);
$retour = json_decode($json, true);
 
foreach ( $retour[$projet]['champs-supp'] as $key => $chsup ) {
 
$retour[$projet]['champs-supp'][$key]['name'] = $this->clean_string( $chsup['name'] );
$retour[$projet]['champs-supp'][$key]['description'] = $this->clean_string( $chsup['description']);
$retour[$projet]['champs-supp'][$key]['unit'] = $this->clean_string( $chsup['unit'] );
 
if ( isset( $chsup['fieldValues'] ) ) {
$retour[$projet]['champs-supp'][$key]['fieldValues'] = json_decode( $this->clean_string( $chsup['fieldValues'] ), true );
 
if ( isset( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] ) ) {
foreach( $retour[$projet]['champs-supp'][$key]['fieldValues']['listValue'] as $list_key => $list_value_array ) {
// Obtenir une liste de valeurs utilisables dans les attributs for id ou name par exemple
$retour[$projet]['champs-supp'][$key]['fieldValues']['cleanListValue'][] = ($list_value_array !== 'other') ? 'val-' . preg_replace( '/[^A-Za-z0-9_\-]/', '', $this->remove_accents( strtolower($list_value_array[0] ) ) ) : '';
}
}
}
$retour[$projet]['champs-supp'][$key]['mandatory'] = intval( $chsup['mandatory'] );
}
return $retour;
}
 
// remplace certains parametres définis en bd par les parametres définis dans l'url
private function traiterParametres($estProjetDefini, $tableau) {
$criteres = array('tag-obs', 'tag-img', 'projet', 'titre', 'logo');
$criteresProjetNonDefini = array('commune', 'num_nom', 'referentiel');
foreach($this->parametres as $nom_critere => $valeur_critere) {
if (($estProjetDefini == false || $tableau['projet'] == 'base') && in_array($nom_critere, $criteresProjetNonDefini)) {
$tableau[$nom_critere] = $valeur_critere;
} else if (in_array($nom_critere, $criteres)) {
$tableau[$nom_critere] = $valeur_critere;
}
}
return $tableau;
}
 
private function traiterLocalisation( $infos_localisation ) {
$infos = explode(';', $infos_localisation);
$tableauTmp = array();
$retour = array();
foreach ($infos as $info) {
$tableauTmp = explode(':', $info);
$retour[$tableauTmp[0]] = $tableauTmp[1];
}
return $retour;
}
 
private function traiterParamsLocalisation( $params ) {
$infos = array();
$tableauTmp = array();
$zoom = '12';
if (isset($params['commune'])) {
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_COORD). '?zone='.$params['commune'].'&code='.$params['dept'];
} else if (isset($params['dept'])) {
// pas trouvé de manière simple de déterminer le centroïde du département
// du coup on retrouve le code insee du chef lieu
$params['code_insee'] = $this->recupererChefLieuDept($params['dept']);
$zoom = '9';
}
// quoi qu'il arrive, s'il est défini, on donne la priorité au code insee (plus précis)
if (isset($params['code_insee'])) {
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_COORD). '?code='.$params['code_insee'];
}
if(!empty($url)) $json = $this->getDao()->consulter($url);
if(!empty($json)) $infos = json_decode($json, true);
if(!empty($infos)) {
$infos['lat'] = str_replace(',','.',strval(round($infos['lat'],5)));
$infos['lng'] = str_replace(',','.',strval(round($infos['lng'],5)));
return 'latitude:'.$infos['lat'].';longitude:'.$infos['lng'].';zoom:'.$zoom;
} else {
return false;
}
}
 
private function rechercherInfosEspeces( $infos_projets ) {
$retour = array();
$referentiel = $infos_projets['referentiel'];
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$retour['url_ws_autocompletion_ns'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, $referentiel, self::WS_NOM );;
$retour['url_ws_autocompletion_ns_tpl'] = sprintf( $urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM );
$retour['ns_referentiel'] = $referentiel;
 
if ( isset( $infos_projets['type_especes'] ) ) {
 
switch ( $infos_projets['type_especes'] ) {
case 'fixe' :
$info_taxon = explode(':', $referentiel);
if (!empty($info_taxon) && count((array) $info_taxon) === 2) {
$retour = $this->chargerInfosTaxon( $info_taxon[0], $info_taxon[1] );
}
break;
case 'referentiel' : break;
case 'liste' :
$retour['taxons'] = $this->recupererListeNomsSci();
break;
}
} else if ( isset( $referentiel ) ) {
if ( isset($infos_projets['num_nom'] ) ) {
$retour = $this->chargerInfosTaxon( $referentiel, $infos_projets['num_nom'] );
}
}
return $retour;
}
 
/**
* Consulte un webservice pour obtenir des informations sur le taxon dont le
* numéro nomenclatural est $num_nom (ce sont donc plutôt des infos sur le nom
* et non le taxon?)
* @param string|int $num_nom
* @return array
*/
protected function chargerInfosTaxon( $referentiel, $num_nom ) {
$url_service_infos = sprintf( $this->config['chemins']['infosTaxonUrl'], $referentiel, $num_nom );
$infos = json_decode( file_get_contents( $url_service_infos ) );
// trop de champs injectés dans les infos espèces peuvent
// faire planter javascript
$champs_a_garder = array( 'id', 'nom_sci','nom_sci_complet', 'nom_complet', 'famille','nom_retenu.id', 'nom_retenu_complet', 'num_taxonomique' );
$resultat = array();
$retour = array();
if ( isset( $infos ) && !empty( $infos ) ) {
$infos = (array) $infos;
if ( isset( $infos['nom_sci'] ) && $infos['nom_sci'] !== '' ) {
$resultat = array_intersect_key( $infos, array_flip($champs_a_garder ) );
$resultat['retenu'] = ( $infos['id'] == $infos['nom_retenu.id'] ) ? 'true' : 'false';
$retour['espece_imposee'] = true;
$retour['nn_espece_defaut'] = $nnEspeceImposee;
$retour['nom_sci_espece_defaut'] = $resultat['nom_complet'];
$retour['infos_espece'] = $this->array2js( $resultat, true );
}
}
return $retour;
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
if (!empty($_GET['referentiel']) && $_GET['referentiel'] !== 'autre') {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
}
return $referentiel_impose;
}
 
/**
* Trie par nom français les taxons lus dans le fichier csv/tsv
*/
protected function recupererListeNomsSci() {
$taxons = $this->recupererListeTaxon();
if (is_array($taxons)) {
$taxons = self::trierTableauMd($taxons, array('nom_fr' => SORT_ASC));
}
return $taxons;
}
 
/**
* @TODO documenter
* @return array
*/
protected function recupererListeNoms() {
$taxons = $this->recupererListeTaxon();
$nomsAAfficher = array();
$nomsSpeciaux = array();
if (is_array($taxons)) {
foreach ($taxons as $taxon) {
$nomSciTitle = $taxon['nom_ret'].
($taxon['nom_fr'] != '' ? ' - '.$taxon['nom_fr'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
$nomFrTitle = $taxon['nom_sel'].
($taxon['nom_ret'] != $taxon['nom_sel']? ' - '.$taxon['nom_ret'] : '' ).
($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' );
 
if ($taxon['groupe'] == 'special') {
$nomsSpeciaux[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-special');
} else {
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_sel'],
'nom_a_sauver' => $taxon['nom_sel'],
'nom_title' => $nomSciTitle,
'nom_type' => 'nom-sci');
$nomsAAfficher[] = array(
'num_nom' => $taxon['num_nom_sel'],
'nom_a_afficher' => $taxon['nom_fr'],
'nom_a_sauver' => $taxon['nom_fr'],
'nom_title' => $nomFrTitle,
'nom_type' => 'nom-fr');
}
}
$nomsAAfficher = self::trierTableauMd($nomsAAfficher, array('nom_a_afficher' => SORT_ASC));
$nomsSpeciaux = self::trierTableauMd($nomsSpeciaux, array('nom_a_afficher' => SORT_ASC));
}
return array('speciaux' => $nomsSpeciaux, 'sci-et-fr' => $nomsAAfficher);
}
 
/**
* Lit une liste de taxons depuis un fichier csv ou tsv fourni
*/
protected function recupererListeTaxon() {
$taxons = array();
$langue_projet_url = ( isset ( $this->parametres['langue'] ) && $this->parametres['langue'] !== 'fr' ) ? '_' . $this->parametres['langue'] : '';
$chemin_images = dirname(__FILE__) . self::DS . '..' . self::DS . 'manager' . self::DS . 'squelettes' . self::DS . 'img' . self::DS . 'images_projets' . self::DS;
$nom_fichier = ($this->parametres['squelette'] === 'lichens') ? 'lichens_taxons' : 'especes';
$chemin_taxon = $chemin_images . $this->parametres['projet'] . $langue_projet_url . self::DS . $nom_fichier. '.';
 
if ( file_exists( $chemin_taxon . 'csv' ) && is_readable( $chemin_taxon . 'csv' ) ) {
$taxons = $this->decomposerFichierCsv( $chemin_taxon . 'csv' );
} else if ( file_exists( $chemin_taxon . 'tsv' ) && is_readable( $chemin_taxon . 'tsv' ) ) {
$taxons = $this->decomposerFichierCsv( $chemin_taxon . 'tsv' );
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$nom_fichier'.";
}
return $taxons;
}
 
/**
* Lit une liste de taxons depuis un fichier csv ou tsv fourni
*/
protected function recupererChefLieuDept($dept) {
$infosDepts = array();
$code_insee = '';
$chemin_fichier = dirname(__FILE__).self::DS.'squelettes'.self::DS.'dept.csv';
 
if (file_exists($chemin_fichier ) && is_readable($chemin_fichier)) {
$infosDepts = $this->decomposerFichierCsv( $chemin_fichier,"," );
if(!empty($infosDepts) && is_array($infosDepts)) {
foreach ($infosDepts as $key => $infosDept) {
if($dept == $infosDept['dep']) {
return $code_insee = $infosDept['cheflieu'];
}
}
}
} else {
$this->debug[] = "Impossible d'ouvrir le fichier '$nom_fichier'.";
}
}
 
/**
* Découpe un fihcier csv/tsv
*/
protected function decomposerFichierCsv($fichier, $delimiter = "\t"){
$header = null;
$data = array();
if (($handle = fopen($fichier, "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
return $data;
}
 
/**
* Convertit un tableau PHP en Javascript - @WTF pourquoi ne pas faire un json_encode ?
* @param array $array
* @param boolean $show_keys
* @return une portion de JSON représentant le tableau
*/
protected function array2js($array,$show_keys) {
$tableauJs = '{}';
if (!empty($array)) {
$total = count($array) - 1;
$i = 0;
$dimensions = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$dimensions[$i] = array2js($value,$show_keys);
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
} else {
$dimensions[$i] = '\"'.addslashes($value).'\"';
if ($show_keys) {
$dimensions[$i] = '\"'.$key.'\":'.$dimensions[$i];
}
}
if ($i == 0) {
$dimensions[$i] = '{'.$dimensions[$i];
}
if ($i == $total) {
$dimensions[$i].= '}';
}
$i++;
}
$tableauJs = implode(',', $dimensions);
}
return $tableauJs;
}
}
?>
/branches/v3.01-serpe/widget/modules/saisie2/config.defaut.ini
New file
0,0 → 1,10
[manager]
; Chemin pour l'autoload à ajouter
autoload = "bibliotheque/;bibliotheque/xml_feed_parser/1.0.4/;bibliotheque/xml_feed_parser/1.0.4/parsers/"
; Squelette d'url pour accéder à la fiche eFlore
celUrlTpl = "http://localhost/service:cel:CelWidgetManager/Widget"
celChpSupTpl = "http://localhost/service:cel:CelWidgetManager/ChampsEtendus"
languesUrl = "http://api-test.tela-botanica.org/service:eflore:0.1/iso-639-1/langues"
authTpl = "https://beta.tela-botanica.org/widget:reseau:auth?origine=http://localhost/cel/widget/saisie2"
cheminDos = "modules/saisie2/squelettes/"
imgProjet = "modules/manager/squelettes/img/images_projets/"
/branches/v3.01-serpe/widget/modules/saisie2/configurations/sauvages_taxons.tsv
New file
0,0 → 1,245
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Ailanthus altissima (Mill.) Swingle 2088 Ailanthus altissima (Mill.) Swingle 2088 5537 Simaroubaceae Ailante faux-vernis-du-japon arbres et arbustes
Crataegus monogyna Jacq. 19472 Crataegus monogyna Jacq. 19472 4721 Rosaceae Aubépine à un style arbres et arbustes
Alnus glutinosa (L.) Gaertn. 3318 Alnus glutinosa (L.) Gaertn. 3318 1321 Betulaceae Aulne glutineux arbres et arbustes
Betula pendula Roth 9626 Betula pendula Roth 9626 1325 Betulaceae Bouleau verruqueux arbres et arbustes
Buddleja davidii Franch. 11336 Buddleja davidii Franch. 11336 1837 Buddlejaceae Buddléia arbre-aux-papillons arbres et arbustes
Cornus sanguinea L. 75064 Cornus sanguinea L. 75064 30056 Cornaceae Cornouiller sanguin arbres et arbustes
Acer negundo L. 74932 Acer negundo L. 74932 29924 Aceraceae Érable négundo arbres et arbustes
Acer platanoides L. 74934 Acer platanoides L. 74934 29926 Aceraceae Érable plane arbres et arbustes
Ficus carica L. 75134 Ficus carica L. 75134 30126 Moraceae Figuier commun arbres et arbustes
Mahonia aquifolium (Pursh) Nutt. 40676 Mahonia aquifolium (Pursh) Nutt. 40676 1317 Berberidaceae Mahonia à feuilles de houx arbres et arbustes
Paulownia tomentosa (Thunb.) Steud. 48115 Paulownia tomentosa (Thunb.) Steud. 48115 5411 Scrophulariaceae Paulownia tomenteux arbres et arbustes
Populus nigra L. 52030 Populus nigra L. 52030 5128 Salicaceae Peuplier noir arbres et arbustes
Prunus spinosa L. 53652 Prunus spinosa L. 53652 4847 Rosaceae Prunelier épine-noire arbres et arbustes
Robinia pseudoacacia L. 56245 Robinia pseudoacacia L. 56245 3124 Fabaceae Robinier faux-acacia arbres et arbustes
Sambucus nigra L. 60241 Sambucus nigra L. 60241 1968 Caprifoliaceae Sureau noir arbres et arbustes
Asplenium trichomanes L. 7728 Asplenium trichomanes L. 7728 7358 Aspleniaceae Asplenium capillaire fougères et prêles
Asplenium ceterach L. 74978 Ceterach officinarum Willd. 77204 29970 Aspleniaceae Asplenium cétérac fougères et prêles
Asplenium ruta-muraria L. 7681 Asplenium ruta-muraria L. 7681 8688 Aspleniaceae Asplenium rue-des-murailes fougères et prêles
Equisetum arvense L. 24488 Equisetum arvense L. 24488 7397 Equisetaceae Prêle des champs fougères et prêles
Amaranthus deflexus L. 3944 Amaranthus deflexus L. 3944 39 Amaranthaceae Amarante couchée plante à fleurs minuscules
Amaranthus retroflexus L. 4009 Amaranthus retroflexus L. 4009 49 Amaranthaceae Amarante réfléchie plante à fleurs minuscules
Ambrosia artemisiifolia L. 4066 Ambrosia artemisiifolia L. 4066 383 Asteraceae Ambroisie à feuilles d'armoise plante à fleurs minuscules
Arabidopsis thaliana (L.) Heynh. 5767 Arabidopsis thaliana (L.) Heynh. 5767 1484 Brassicaceae Arabette des dames plante à fleurs minuscules
Artemisia annua L. 6765 Artemisia annua L. 6765 430 Asteraceae Armoise annuelle plante à fleurs minuscules
Artemisia vulgaris L. 6987 Artemisia vulgaris L. 6987 459 Asteraceae Armoise commune plante à fleurs minuscules
Artemisia verlotiorum Lamotte 6983 Artemisia verlotiorum Lamotte 6983 458 Asteraceae Armoise des frères Verlot plante à fleurs minuscules
Atriplex prostrata Boucher ex DC. 8444 Atriplex prostrata Boucher ex DC. 8444 8712 Chenopodiaceae Arroche couchée plante à fleurs minuscules
Atriplex patula L. 74991 Atriplex patula L. 74991 29983 Chenopodiaceae Arroche étalée plante à fleurs minuscules
Asparagus acutifolius L. 7214 Asparagus acutifolius L. 7214 6269 Asparagaceae Asperge à feuilles aigües plante à fleurs minuscules
Capsella bursa-pastoris (L.) Medik. 75016 Capsella bursa-pastoris (L.) Medik. 75016 30008 Brassicaceae Capselle bourse-à-pasteur plante à fleurs minuscules
Cardamine hirsuta L. 12878 Cardamine hirsuta L. 12878 1592 Brassicaceae Cardamine hérissée plante à fleurs minuscules
Cerastium glomeratum Thuill. 15862 Cerastium glomeratum Thuill. 15862 2024 Caryophyllaceae Céraiste aggloméré plante à fleurs minuscules
Cerastium fontanum Baumg. 15840 Cerastium fontanum Baumg. 15840 9277 Caryophyllaceae Céraiste des fontaines plante à fleurs minuscules
Chenopodium album L. 16741 Chenopodium album L. 16741 2335 Chenopodiaceae Chénopode blanc plante à fleurs minuscules
Chenopodium murale L. 16847 Chenopodium murale L. 16847 2353 Chenopodiaceae Chénopode des murailles plante à fleurs minuscules
Galium aparine L. 28896 Galium aparine L. 28896 5037 Rubiaceae Gaillet grateron plante à fleurs minuscules
Galium mollugo L. 29078 Galium mollugo L. 29078 5057 Rubiaceae Gaillet mollugine plante à fleurs minuscules
Lycopus europaeus L. 40533 Lycopus europaeus L. 40533 3576 Lamiaceae Lycope d'Europe plante à fleurs minuscules
Mercurialis annua L. 42320 Mercurialis annua L. 42320 2751 Euphorbiaceae Mercuriale annuelle plante à fleurs minuscules
Urtica urens L. 70431 Urtica urens L. 70431 5650 Urticaceae Ortie brûlante plante à fleurs minuscules
Urtica dioica L. 70396 Urtica dioica L. 70396 14875 Urticaceae Ortie dioïque plante à fleurs minuscules
Parietaria judaica L. 47921 Parietaria judaica L. 47921 5641 Urticaceae Pariètaire de Judée plante à fleurs minuscules
Lepidium virginicum L. 38574 Lepidium virginicum L. 38574 1743 Brassicaceae Passerage de Virginie plante à fleurs minuscules
Persicaria maculosa Gray 48340 Polygonum persicaria L. 51630 4236 Polygonaceae Persicaire tachetée plante à fleurs minuscules
Sanguisorba minor Scop. 60289 Sanguisorba minor Scop. 60289 4976 Rosaceae Pimprenelle mineure plante à fleurs minuscules
Plantago coronopus L. 49875 Plantago coronopus L. 49875 4088 Plantaginaceae Plantain corne-de-cerf plante à fleurs minuscules
Plantago lanceolata L. 49948 Plantago lanceolata L. 49948 4094 Plantaginaceae Plantain lancéolé plante à fleurs minuscules
Plantago major L. 49976 Plantago major L. 49976 4096 Plantaginaceae Plantain majeur plante à fleurs minuscules
Plantago sempervirens Crantz 50068 Plantago sempervirens Crantz 50068 4105 Plantaginaceae Plantain toujours vert plante à fleurs minuscules
Polycarpon tetraphyllum (L.) L. 51112 Polycarpon tetraphyllum (L.) L. 51112 13356 Caryophyllaceae Polycarpon quatre-feuilles plante à fleurs minuscules
Polygonum aviculare L. 51363 Polygonum aviculare L. 51363 4224 Polygonaceae Renouée des oiseaux plante à fleurs minuscules
Fallopia convolvulus (L.) Á.Löve 26474 Fallopia convolvulus (L.) Á.Löve 26474 4218 Polygonaceae Renouée faux-liseron plante à fleurs minuscules
Rumex obtusifolius L. 58812 Rumex obtusifolius L. 58812 4274 Polygonaceae Rumex à feuilles obtuses plante à fleurs minuscules
Rumex crispus L. 58698 Rumex crispus L. 58698 4262 Polygonaceae Rumex crépue plante à fleurs minuscules
Sagina procumbens L. 59112 Sagina procumbens L. 59112 2167 Caryophyllaceae Sagine couchée plante à fleurs minuscules
Sagina apetala Ard. 59056 Sagina apetala Ard. 59056 2161 Caryophyllaceae Sagine sans pétale plante à fleurs minuscules
Erigeron bonariensis L. 24874 Conyza bonariensis (L.) Cronquist 18835 699 Asteraceae Vergerette de Buenos Aires plante à fleurs minuscules
Erigeron sumatrensis Retz. 24956 Conyza sumatrensis (Retz.) E.Walker 18851 702 Asteraceae Vergerette de Sumatra plante à fleurs minuscules
Erigeron canadensis L. 24880 Conyza canadensis (L.) Cronquist 18836 700 Asteraceae Vergerette du Canada plante à fleurs minuscules
Verbena officinalis L. 71022 Verbena officinalis L. 71022 5710 Verbenaceae Verveine officinale plante à fleurs minuscules
Vicia hirsuta (L.) Gray 71616 Vicia hirsuta (L.) Gray 71616 3242 Fabaceae Vesce hérissée plante à fleurs minuscules
Andryala integrifolia L. 4699 Andryala integrifolia L. 4699 395 Asteraceae Andryale à feuilles entières plantes à capitules jaunes
Chondrilla juncea L. 17040 Chondrilla juncea L. 17040 647 Asteraceae Chondrille à feuilles de joncs plantes à capitules jaunes
Crepis bursifolia L. 19627 Crepis bursifolia L. 19627 715 Asteraceae Crépide à feuilles de capselle plantes à capitules jaunes
Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 Crepis vesicaria subsp. taraxacifolia (Thuill.) Thell. ex Schinz & R.Keller 19797 739 Asteraceae Crépis à feuilles de pissenlit plantes à capitules jaunes
Crepis capillaris (L.) Wallr. 19630 Crepis capillaris (L.) Wallr. 19630 716 Asteraceae Crépis capillaire plantes à capitules jaunes
Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 Crepis sancta subsp. nemausensis (Vill.) Babc. 19756 734 Asteraceae Crépis de Nîmes plantes à capitules jaunes
Crepis foetida L. 19654 Crepis foetida L. 19654 719 Asteraceae Crépis fétide plantes à capitules jaunes
Crepis setosa Haller f. 19762 Crepis setosa Haller f. 19762 735 Asteraceae Crépis hérissée plantes à capitules jaunes
Jacobaea vulgaris Moench 36239 Senecio jacobaea subsp. jacobaea 62926 14453 Asteraceae Jacobée commune plantes à capitules jaunes
Sonchus tenerrimus L. 65231 Sonchus tenerrimus L. 65231 1234 Asteraceae Laiteron délicat plantes à capitules jaunes
Sonchus oleraceus L. 65205 Sonchus oleraceus L. 65205 1232 Asteraceae Laiteron maraîcher plantes à capitules jaunes
Sonchus asper (L.) Hill 65171 Sonchus asper (L.) Hill 65171 14563 Asteraceae Laiteron rude plantes à capitules jaunes
Lactuca muralis (L.) G.Mey. 37338 Mycelis muralis (L.) Dumort. 43130 1066 Asteraceae Laitue des murailles plantes à capitules jaunes
Lactuca serriola L. 37373 Lactuca serriola L. 37373 991 Asteraceae Laitue scariole plantes à capitules jaunes
Lapsana communis L. 37660 Lapsana communis L. 37660 997 Asteraceae Lampsane commune plantes à capitules jaunes
Picris hieracioides L. 49351 Picris hieracioides L. 49351 1102 Asteraceae Picris fausse-épervière plantes à capitules jaunes
Helminthotheca echioides (L.) Holub 31546 Picris echioides L. 49346 1101 Asteraceae Picris fausse-vipérine plantes à capitules jaunes
Taraxacum div. Sp. 87290 Taraxacum 87290 36245 Asteraceae Pissenlit plantes à capitules jaunes
Hypochaeris radicata L. 35439 Hypochaeris radicata L. 35439 967 Asteraceae Porcelle enracinée plantes à capitules jaunes
Reichardia picroides (L.) Roth 55654 Reichardia picroides (L.) Roth 55654 1115 Asteraceae Reichardie fausse-picride plantes à capitules jaunes
Tragopogon pratensis L. 68767 Tragopogon pratensis L. 68767 14813 Asteraceae Salsifis des prés plantes à capitules jaunes
Senecio erucifolius L. 62849 Senecio erucifolius L. 62849 1166 Asteraceae Séneçon à feuilles de roquette plantes à capitules jaunes
Senecio vulgaris L. 63096 Senecio vulgaris L. 63096 1203 Asteraceae Séneçon commun plantes à capitules jaunes
Senecio inaequidens DC. 62909 Senecio inaequidens DC. 62909 1176 Asteraceae Séneçon du Cap plantes à capitules jaunes
Senecio viscosus L. 63095 Senecio viscosus L. 63095 1202 Asteraceae Séneçon visqueux plantes à capitules jaunes
Solidago gigantea Aiton 65065 Solidago gigantea Aiton 65065 14560 Asteraceae Solidage géant plantes à capitules jaunes
Tussilago farfara L. 70113 Tussilago farfara L. 70113 1284 Asteraceae Tussilage pas-d'âne plantes à capitules jaunes
Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 Urospermum dalechampii (L.) Scop. ex F.W.Schmidt 70381 1286 Asteraceae Urosperme de Daléchamps plantes à capitules jaunes
Achillea millefolium L. 365 Achillea millefolium L. 365 8527 Asteraceae Achillée millefeuille plantes à fleurs blanches
Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 Alliaria petiolata (M.Bieb.) Cavara & Grande 2913 1468 Brassicaceae Alliaire officinale plantes à fleurs blanches
Heracleum sphondylium L. 31656 Heracleum sphondylium L. 31656 187 Apiaceae Berce commune plantes à fleurs blanches
Daucus carota L. 21674 Daucus carota L. 21674 151 Apiaceae Carotte sauvage plantes à fleurs blanches
Anthriscus sylvestris (L.) Hoffm. 5290 Anthriscus sylvestris (L.) Hoffm. 5290 8626 Apiaceae Cerfeuil des bois plantes à fleurs blanches
Chaerophyllum temulum L. 16354 Chaerophyllum temulum L. 16354 140 Apiaceae Cerfeuil enivrant plantes à fleurs blanches
Clematis vitalba L. 18235 Clematis vitalba L. 18235 4436 Ranunculaceae Clématite vigne-blanche plantes à fleurs blanches
Datura stramonium L. 21654 Datura stramonium L. 21654 5544 Solanaceae Datura stramoine plantes à fleurs blanches
Diplotaxis erucoides (L.) DC. 75095 Diplotaxis erucoides (L.) DC. 75095 30087 Brassicaceae Diplotaxis fausse-roquette plantes à fleurs blanches
Draba verna L. 22994 Erophila verna (L.) Chevall. 25208 1653 Brassicaceae Drave de printemps plantes à fleurs blanches
Fumaria capreolata L. 75465 Fumaria capreolata L. 75465 30457 Papaveraceae Fumeterre grimpante plantes à fleurs blanches
Lamium album L. 37472 Lamium album L. 37472 3557 Lamiaceae Lamier blanc plantes à fleurs blanches
Chaenorrhinum minus (L.) Lange 16280 Chaenorrhinum minus (L.) Lange 16280 5311 Scrophulariaceae Linaire mineure plantes à fleurs blanches
Calystegia sepium (L.) R.Br. 12341 Calystegia sepium (L.) R.Br. 12341 2448 Convolvulaceae Liseron des haies plantes à fleurs blanches
Malva neglecta Wallr. 40856 Malva neglecta Wallr. 40856 3827 Malvaceae Mauve négligée plantes à fleurs blanches
Melilotus albus Medik. 41764 Melilotus albus Medik. 41764 3053 Fabaceae Mélilot blanc plantes à fleurs blanches
Umbilicus rupestris (Salisb.) Dandy 70339 Umbilicus rupestris (Salisb.) Dandy 70339 2545 Crassulaceae Ombilic nombril-de-Vénus plantes à fleurs blanches
Sedum album L. 62141 Sedum album L. 62141 2489 Crassulaceae Orpin blanc plantes à fleurs blanches
Lepidium draba L. 38489 Lepidium draba L. 38489 1609 Brassicaceae Passerage drave plantes à fleurs blanches
Viola arvensis Murray 72065 Viola arvensis Murray 72065 14914 Violaceae Pensée des champs plantes à fleurs blanches
Phytolacca americana L. 49293 Phytolacca americana L. 49293 4061 Phytolaccaceae Phytolaque raisin-d'Amérique plantes à fleurs blanches
Reynoutria japonica Houtt. 55763 Reynoutria japonica Houtt. 55763 4244 Polygonaceae Renouée du Japon plantes à fleurs blanches
Reseda alba L. 55658 Reseda alba L. 55658 4601 Resedaceae Réséda blanc plantes à fleurs blanches
Rubus div. sp. 77191 Rubus 77191 31181 Rosaceae Ronces plantes à fleurs blanches
Arenaria serpyllifolia L. 6292 Arenaria serpyllifolia L. 6292 8642 Caryophyllaceae Sabline à feuilles de serpolet plantes à fleurs blanches
Saxifraga tridactylites L. 61042 Saxifraga tridactylites L. 61042 5290 Saxifragaceae Saxifrage à trois doigts plantes à fleurs blanches
Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 Silene latifolia subsp. alba (Mill.) Greuter & Burdet 64192 2218 Caryophyllaceae Silène compagnon-blanc plantes à fleurs blanches
Silene vulgaris (Moench) Garcke 64419 Silene vulgaris (Moench) Garcke 64419 14537 Caryophyllaceae Silène enflé plantes à fleurs blanches
Stellaria media (L.) Vill. 75396 Stellaria media (L.) Vill. 75396 30388 Caryophyllaceae Stellaire intermédiaire plantes à fleurs blanches
Torilis japonica (Houtt.) DC. 68580 Torilis japonica (Houtt.) DC. 68580 312 Apiaceae Torilis du Japon plantes à fleurs blanches
Trifolium arvense L. 68989 Trifolium arvense L. 68989 14822 Fabaceae Trèfle pied-de-lièvre plantes à fleurs blanches
Trifolium repens L. 69341 Trifolium repens L. 69341 14834 Fabaceae Trèfle rampant plantes à fleurs blanches
Veronica cymbalaria Bodard 71145 Veronica cymbalaria Bodard 71145 5506 Scrophulariaceae Véronique cymbalaire plantes à fleurs blanches
Aster squamatus (Spreng.) Hieron. 7909 Aster squamatus (Spreng.) Hieron. 7909 478 Asteraceae Aster écailleux plantes à fleurs blanches à coeur jaune
Galinsoga parviflora Cav. 28869 Galinsoga parviflora Cav. 28869 800 Asteraceae Galinsoga à petites fleurs plantes à fleurs blanches à coeur jaune
Galinsoga quadriradiata Ruiz & Pav. 28871 Galinsoga quadriradiata Ruiz & Pav. 28871 801 Asteraceae Galinsoga cilié plantes à fleurs blanches à coeur jaune
Matricaria recutita L. 41057 Matricaria recutita L. 41057 1063 Asteraceae Matricaire camomille plantes à fleurs blanches à coeur jaune
Tripleurospermum inodorum Sch.Bip. 69569 Matricaria perforata Mérat 41054 1062 Asteraceae Matricaire inodore plantes à fleurs blanches à coeur jaune
Solanum nigrum L. 64930 Solanum nigrum L. 64930 14552 Solanaceae Morelle noire plantes à fleurs blanches à coeur jaune
Bellis perennis L. 9408 Bellis perennis L. 9408 493 Asteraceae Pâquerette vivace plantes à fleurs blanches à coeur jaune
Borago officinalis L. 9966 Borago officinalis L. 9966 1350 Boraginaceae Bourrache officinale plantes à fleurs bleues
Ajuga reptans L. 2407 Ajuga reptans L. 2407 3519 Lamiaceae Bugle rampante plantes à fleurs bleues
Cichorium intybus L. 17314 Cichorium intybus L. 17314 661 Asteraceae Chicorée amère plantes à fleurs bleues
Myosotis arvensis Hill 43173 Myosotis arvensis Hill 43173 1400 Boraginaceae Myosotis des champs plantes à fleurs bleues
Passiflora caerulea L. 48083 Passiflora caerulea L. 48083 4059 Passifloraceae Passiflore bleue plantes à fleurs bleues
Veronica hederifolia L. 71191 Veronica hederifolia L. 71191 14890 Scrophulariaceae Véronique à feuilles de lierre plantes à fleurs bleues
Veronica serpyllifolia L. 71348 Veronica serpyllifolia L. 71348 14893 Scrophulariaceae Véronique à feuilles de serpolet plantes à fleurs bleues
Veronica persica Poir. 71290 Veronica persica Poir. 71290 5522 Scrophulariaceae Véronique de Perse plantes à fleurs bleues
Veronica arvensis L. 71090 Veronica arvensis L. 71090 5496 Scrophulariaceae Véronique des champs plantes à fleurs bleues
Veronica chamaedrys L. 75431 Veronica chamaedrys L. 75431 30423 Scrophulariaceae Véronique petit-chêne plantes à fleurs bleues
Vicia sepium L. 71787 Vicia sepium L. 71787 3266 Fabaceae Vesce des haies plantes à fleurs bleues
Echium vulgare L. 23559 Echium vulgare L. 23559 9898 Boraginaceae Vipérine commune plantes à fleurs bleues
Geum urbanum L. 30154 Geum urbanum L. 30154 4758 Rosaceae Benoîte des villes plantes à fleurs jaunes
Chelidonium majus L. 16703 Chelidonium majus L. 16703 4026 Papaveraceae Chélidoine grande-éclaire plantes à fleurs jaunes
Brassica napus L. 10308 Brassica napus L. 10308 1556 Brassicaceae Colza Chou colza plantes à fleurs jaunes
Diplotaxis tenuifolia (L.) DC. 22660 Diplotaxis tenuifolia (L.) DC. 22660 1633 Brassicaceae Diplotaxis à feuilles étroites plantes à fleurs jaunes
Foeniculum vulgare Mill. 27986 Foeniculum vulgare Mill. 27986 180 Apiaceae Fenouil commun plantes à fleurs jaunes
Duchesnea indica (Andrews) Focke 23328 Duchesnea indica (Andrews) Focke 23328 4738 Rosaceae Fraisier de Duchesne plantes à fleurs jaunes
Erysimum cheiri (L.) Crantz 25436 Erysimum cheiri (L.) Crantz 25436 1611 Brassicaceae Giroflée des murailles plantes à fleurs jaunes
Linaria vulgaris Mill. 39331 Linaria vulgaris Mill. 39331 5377 Scrophulariaceae Linaire commune plantes à fleurs jaunes
Lotus corniculatus L. 39988 Lotus corniculatus L. 39988 2988 Fabaceae Lotier corniculé plantes à fleurs jaunes
Medicago arabica (L.) Huds. 41184 Medicago arabica (L.) Huds. 41184 3014 Fabaceae Luzerne d'Arabie plantes à fleurs jaunes
Medicago lupulina L. 41325 Medicago lupulina L. 41325 3029 Fabaceae Luzerne lupuline plantes à fleurs jaunes
Melilotus officinalis Lam. 41839 Melilotus officinalis Lam. 41839 3060 Fabaceae Mélilot officinal plantes à fleurs jaunes
Hypericum perforatum L. 35348 Hypericum perforatum L. 35348 3494 Hypericaceae Millepertuis perforé plantes à fleurs jaunes
Sinapis arvensis L. 75386 Sinapis arvensis L. 75386 30378 Brassicaceae Moutarde des champs plantes à fleurs jaunes
Antirrhinum majus L. 5474 Antirrhinum majus L. 5474 8631 Scrophulariaceae Muflier gueule-de-loup plantes à fleurs jaunes
Oenothera biennis L. 44495 Oenothera biennis L. 44495 3914 Onagraceae Onagre bisanuelle plantes à fleurs jaunes
Sedum acre L. 75358 Sedum acre L. 75358 30350 Crassulaceae Orpin âcre plantes à fleurs jaunes
Oxalis corniculata L. 47119 Oxalis corniculata L. 47119 4010 Oxalidaceae Oxalis corniculée plantes à fleurs jaunes
Oxalis fontana Bunge 47141 Oxalis fontana Bunge 47141 4017 Oxalidaceae Oxalis des fontaines plantes à fleurs jaunes
Pastinaca sativa L. 48097 Pastinaca sativa L. 48097 237 Apiaceae Panais cultivé plantes à fleurs jaunes
Potentilla reptans L. 52829 Potentilla reptans L. 52829 4818 Rosaceae Potentille rampante plantes à fleurs jaunes
Portulaca oleracea L. 52102 Portulaca oleracea L. 52102 4300 Portulacaceae Pourpier maraîcher plantes à fleurs jaunes
Ranunculus acris L. 54682 Ranunculus acris L. 54682 4490 Ranunculaceae Renoncule âcre plantes à fleurs jaunes
Ranunculus bulbosus L. 54838 Ranunculus bulbosus L. 54838 4502 Ranunculaceae Renoncule bulbeuse plantes à fleurs jaunes
Ranunculus repens L. 55340 Ranunculus repens L. 55340 4561 Ranunculaceae Renoncule rampante plantes à fleurs jaunes
Reseda lutea L. 75322 Reseda lutea L. 75322 30314 Resedaceae Réséda jaune plantes à fleurs jaunes
Sisymbrium officinale (L.) Scop. 64674 Sisymbrium officinale (L.) Scop. 64674 14546 Brassicaceae Sisymbre officinal plantes à fleurs jaunes
Sisymbrium irio L. 64651 Sisymbrium irio L. 64651 1803 Brassicaceae Sisymbre vélaret plantes à fleurs jaunes
Trifolium dubium Sibth. 69085 Trifolium dubium Sibth. 69085 3152 Fabaceae Trèfle douteux plantes à fleurs jaunes
Trifolium campestre Schreb. 75495 Trifolium campestre Schreb. 75495 30487 Fabaceae Trèfle jaune plantes à fleurs jaunes
Alcea rosea L. 2451 Alcea rosea L. 2451 3801 Malvaceae Alcée rose-trémière plantes à fleurs roses
Mirabilis jalapa L. 42698 Mirabilis jalapa L. 42698 3865 Nyctaginaceae Belle-de-nuit commune plantes à fleurs roses
Dipsacus fullonum L. 22678 Dipsacus fullonum L. 22678 2584 Dipsacaceae Cardère à foulon plantes à fleurs roses
Carduus pycnocephalus L. 75026 Carduus pycnocephalus L. 75026 30018 Asteraceae Chardon à capitules denses plantes à fleurs roses
Epilobium tetragonum L. 24336 Epilobium tetragonum L. 24336 9924 Onagraceae Epilobe à quatre angles plantes à fleurs roses
Erodium cicutarium (L.) L'Hér. 25064 Erodium cicutarium (L.) L'Hér. 25064 9954 Geraniaceae Érodium à feuilles de cigüe plantes à fleurs roses
Erodium malacoides (L.) L'Hér. 75116 Erodium malacoides (L.) L'Hér. 75116 30108 Geraniaceae Érodium à feuilles de mauve plantes à fleurs roses
Eupatorium cannabinum L. 25746 Eupatorium cannabinum L. 25746 786 Asteraceae Eupatoire chanvrine plantes à fleurs roses
Fumaria officinalis L. 28525 Fumaria officinalis L. 28525 3314 Papaveraceae Fumeterre officinale plantes à fleurs roses
Geranium dissectum L. 29941 Geranium dissectum L. 29941 3420 Geraniaceae Géranium à feuilles découpées plantes à fleurs roses
Geranium molle L. 75468 Geranium molle L. 75468 30460 Geraniaceae Géranium à feuilles molles plantes à fleurs roses
Geranium rotundifolium L. 30056 Geranium rotundifolium L. 30056 3438 Geraniaceae Géranium à feuilles rondes plantes à fleurs roses
Geranium robertianum subsp. robertianum 30049 Geranium robertianum subsp. robertianum 30049 10265 Geraniaceae Géranium herbe-à-Robert plantes à fleurs roses
Impatiens glandulifera Royle 35713 Impatiens glandulifera Royle 35713 1307 Balsaminaceae Impatiente glanduleuse plantes à fleurs roses
Lamium amplexicaule L. 75206 Lamium amplexicaule L. 75206 30198 Lamiaceae Lamier à feuilles embrassantes plantes à fleurs roses
Lamium purpureum L. 37538 Lamium purpureum L. 37538 3568 Lamiaceae Lamier pourpre plantes à fleurs roses
Convolvulus arvensis L. 75060 Convolvulus arvensis L. 75060 30052 Convolvulaceae Liseron des champs plantes à fleurs roses
Lythrum salicaria L. 40631 Lythrum salicaria L. 40631 3792 Lythraceae Salicaire rouge plantes à fleurs roses
Saponaria officinalis L. 60403 Saponaria officinalis L. 60403 2178 Caryophyllaceae Saponaire officinale plantes à fleurs roses
Sherardia arvensis L. 63722 Sherardia arvensis L. 63722 14514 Rubiaceae Shérardie des champs plantes à fleurs roses
Trifolium pratense L. 69291 Trifolium pratense L. 69291 14832 Fabaceae Trèfle des près plantes à fleurs roses
Vicia sativa L. 71760 Vicia sativa L. 71760 14908 Fabaceae Vesce cultivée plantes à fleurs roses
Centranthus ruber (L.) DC. 75042 Centranthus ruber (L.) DC. 75042 30034 Valerianaceae Centranthe lilas-d'Espagne plantes à fleurs rouges
Lysimachia arvensis (L.) U.Manns & Anderb. 101468 Lysimachia arvensis (L.) U.Manns & Anderb. 101468 8601 Primulacea Mouron des champs plantes à fleurs rouges
Papaver rhoeas L. 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot Pavot coquelicot plantes à fleurs rouges
Aphanes arvensis L. 5600 Aphanes arvensis L. 5600 4700 Rosaceae Aphanès des champs plantes à fleurs vertes
Arum italicum Mill. 7024 Arum italicum Mill. 7024 8677 Araceae Arum d'Italie plantes à fleurs vertes
Bryonia dioica Jacq. 11290 Bryonia dioica Jacq. 11290 2547 Cucurbitaceae Bryone dioïque plantes à fleurs vertes
Euphorbia peplus L. 25996 Euphorbia peplus L. 25996 7570 Euphorbiaceae Euphorbe des jardins plantes à fleurs vertes
Euphorbia lathyris L. 25941 Euphorbia lathyris L. 25941 2717 Euphorbiaceae Euphorbe épurge plantes à fleurs vertes
Euphorbia cyparissias L. 25823 Euphorbia cyparissias L. 25823 2692 Euphorbiaceae Euphorbe petit-cyprès plantes à fleurs vertes
Euphorbia helioscopia L. 25914 Euphorbia helioscopia L. 25914 2710 Euphorbiaceae Euphorbe réveille-matin plantes à fleurs vertes
Euphorbia maculata L. 25956 Euphorbia maculata L. 25956 2719 Euphorbiaceae Euphorbe tachetée plantes à fleurs vertes
Humulus lupulus L. 34958 Humulus lupulus L. 34958 1947 Cannabaceae Houblon grimpant plantes à fleurs vertes
Hedera helix L. 30892 Hedera helix L. 30892 329 Araliaceae Lierre grimpant plantes à fleurs vertes
Matricaria discoidea DC. 41027 Matricaria discoidea DC. 41027 1060 Asteraceae Matricaire sans ligule plantes à fleurs vertes
Parthenocissus quinquefolia (L.) Planch. 47997 Parthenocissus quinquefolia (L.) Planch. 47997 5769 Vitaceae Vigne-vierge à cinq folioles plantes à fleurs vertes
Arctium minus (Hill) Bernh. 6091 Arctium minus (Hill) Bernh. 6091 417 Asteraceae Bardane à petites têtes plantes à fleurs violettes
Prunella vulgaris L. 75307 Prunella vulgaris L. 75307 30299 Lamiaceae Brunelle commune plantes à fleurs violettes
Cirsium vulgare (Savi) Ten. 17870 Cirsium vulgare (Savi) Ten. 17870 691 Asteraceae Cirse commun plantes à fleurs violettes
Cirsium arvense (L.) Scop. 17468 Cirsium arvense (L.) Scop. 17468 664 Asteraceae Cirse des champs plantes à fleurs violettes
Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 Cymbalaria muralis P.Gaertn. B.Mey. & Scherb. 75081 30073 Scrophulariaceae Cymbalaire des murailles plantes à fleurs violettes
Glechoma hederacea L. 30252 Glechoma hederacea L. 30252 3549 Lamiaceae Glécome lierre-terrestre plantes à fleurs violettes
Medicago sativa L. 41470 Medicago sativa L. 41470 3041 Fabaceae Luzerne cultivée plantes à fleurs violettes
Malva sylvestris L. 40893 Malva sylvestris L. 40893 3831 Malvaceae Mauve sylvestre plantes à fleurs violettes
Solanum dulcamara L. 64869 Solanum dulcamara L. 64869 5570 Solanaceae Morelle douce-amère plantes à fleurs violettes
Sixalix atropurpurea (L.) Greuter & Burdet 64813 Sixalix atropurpurea (L.) Greuter & Burdet 64813 14549 Dipsacaceae Scabieuse des jardins plantes à fleurs violettes
Viola odorata L. 72389 Viola odorata L. 72389 5746 Violaceae Violette odorante plantes à fleurs violettes
Agrostis stolonifera L. 1908 Agrostis stolonifera L. 1908 8558 Poaceae Agrostis stolonifère Graminées
Bromus hordeaceus L. 10780 Bromus hordeaceus L. 10780 6698 Poaceae Brome mou Graminées
Bromus sterilis L. 11176 Bromus sterilis L. 11176 6720 Poaceae Brome stérile Graminées
Cynodon dactylon (L.) Pers. 20551 Cynodon dactylon (L.) Pers. 20551 6750 Poaceae Chiendent pied-de-poule Graminées
Elytrigia repens (L.) Desv. ex Nevski 23913 Elytrigia repens (L.) Desv. ex Nevski 23913 9912 Poaceae Chiendent rampant Graminées
Dactylis glomerata L. 21111 Dactylis glomerata L. 21111 6754 Poaceae Dactyle aggloméré Graminées
Digitaria sanguinalis (L.) Scop. 22486 Digitaria sanguinalis (L.) Scop. 22486 6780 Poaceae Digitaire sanguine Graminées
Echinochloa crus-galli (L.) P.Beauv. 23376 Echinochloa crus-galli (L.) P.Beauv. 23376 9891 Poaceae Echinochloé pied-de-coq Graminées
Eragrostis minor Host 24658 Eragrostis minor Host 24658 6817 Poaceae Éragrostis mineure Graminées
Piptatherum miliaceum (L.) Coss. 49724 Piptatherum miliaceum (L.) Coss. 49724 7069 Poaceae Faux millet Graminées
Holcus lanatus L. 34724 Holcus lanatus L. 34724 6947 Poaceae Houlque laineuse Graminées
Hordeum murinum L. 34857 Hordeum murinum L. 34857 6955 Poaceae Orge des rats Graminées
Poa annua L. 50284 Poa annua L. 50284 7075 Poaceae Pâturin annuel Graminées
Lolium perenne L. 39692 Lolium perenne L. 39692 6983 Poaceae Ray-grass anglais Graminées
Rostraria cristata (L.) Tzvelev 57834 Rostraria cristata (L.) Tzvelev 57834 7117 Poaceae Rostraria à crête Graminées
Setaria verticillata (L.) P.Beauv. 63668 Setaria verticillata (L.) P.Beauv. 63668 7137 Poaceae Sétaire verticillée Graminées
Phyllitis scolopendrium L. 49132 Asplenium scolopendrium L. 74981 29973 Aspleniaceae Scolopendre officinale
Dryopteris filix-mas (L.) Schott 23262 Dryopteris filix-mas (L.) Schott 23262 7379 Dryopteridaceae Fougère mâle
Geranium pusillum L. 30036 Geranium pusillum L. 30036 3432 Geraniaceae Géranium fluet
Lepidium ruderale L. 38554 Lepidium ruderale L. 38554 1740 Brassicaceae Passerage des décombres
Lepidium squamatum Forssk. 38565 Lepidium squamatum Forssk. 38565 1625 Brassicaceae Corne-de-cerf écailleuse
Asteraceae 100897 Asteraceae 100897 36470 Asteraceae Asteraceae : plante de type pissenlit (capitules jaunes) special
Apiaceae 100948 Apiaceae 100948 36521 Apiaceae Apiaceae : plante de type carotte (ombelle blanche ou jaune) special
Poaceae 100898 Poaceae 100898 36471 Poaceae Poaceae : graminée indéterminée special
Brassicaceae 100902 Brassicaceae 100902 36475 Brassicaceae Brassicaceae : crucifère indéterminée (4 pétales jaunes ou blancs, disposés en croix) special
/branches/v3.01-serpe/widget/modules/saisie2/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renommer ce fichier en "framework.php"
// Indiquer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once '/home/delphine/web/framework/framework/Framework.php';
?>
/branches/v3.01-serpe/widget/modules/saisie2
New file
Property changes:
Added: svn:ignore
+config.ini
+framework.php
/branches/v3.01-serpe/widget/Widget.php
New file
0,0 → 1,161
<?php
// In : utf8 url_encoded (get et post)
// Out : utf8
/**
* La classe Widget analyser l'url et chage le widget correspondant.
* Format d'url :
* /widget/nom_du_widget?parametres1=ma_valeur1&parametre2=ma_valeur2
* Les widget sont dans des dossiers en minuscule correspondant au nom de la classe du widget.
* Exemple : /widget/carto avec la classe Carto.php dans le dossier carto.
*
*
* @author jpm
*
*/
class Widget {
 
/** Les paramètres de configuration extrait du fichier .ini */
private static $config;
 
/** Le nom du widget demandé. */
private $widget = null;
 
/** Les chemins où l'autoload doit chercher des classes. */
private static $autoload_chemins = array();
 
/** Les paramètres de l'url $_GET nettoyés. */
private $parametres = null;
 
/**
* Constructeur.
* Parse le fichier de configuraion "widget.ini" et parse l'url à la recherche du widget demandé.
* @param str iniFile Configuration file to use
*/
public function __construct($fichier_ini = 'widget.ini.php') {
// Chargement de la configuration
self::$config = parse_ini_file($fichier_ini, TRUE);
 
// Paramêtres de config dynamiques
$protocole = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
self::$config['chemins']['baseURLAbsoluDyn'] = $protocole . $_SERVER['SERVER_NAME'].self::$config['chemins']['baseURL'].'%s';
 
// Gestion de la mémoire maximum allouée aux services
ini_set('memory_limit', self::$config['parametres']['limiteMemoire']);
 
// Réglages de PHP
setlocale(LC_ALL, self::$config['parametres']['locale']);
date_default_timezone_set(self::$config['parametres']['fuseauHoraire']);
 
// Gestion des erreurs
error_reporting(self::$config['parametres']['erreurNiveau']);
 
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER['QUERY_STRING'])) {
$url_morceaux = $this->parserUrl();
if (isset($url_morceaux[0])) {
$this->widget = $url_morceaux[0];
self::$config['chemins']['widgetCourantDossier'] = self::$config['chemins']['widgetsDossier'].strtolower($this->widget).DIRECTORY_SEPARATOR;
$this->chargerWidgetConfig();
}
// Chargement des chemins pour l'autoload
$this->chargerCheminAutoload();
 
// Enregistrement de la méthode gérant l'autoload des classes
spl_autoload_register(array('Widget', 'chargerClasse'));
 
// Nettoyage du $_GET (sécurité)
$this->collecterParametres();
} else {
$e = 'Les widget nécessite les variables serveurs suivantes pour fonctionner : REQUEST_URI et QUERY_STRING.';
trigger_error($e, E_USER_ERROR);
}
}
 
private function parserUrl() {
if (strlen($_SERVER['QUERY_STRING']) == 0) {
$len = strlen($_SERVER['REQUEST_URI']);
} else {
$len = -(strlen($_SERVER['QUERY_STRING']) + 1);
}
$url = substr($_SERVER['REQUEST_URI'], strlen(self::$config['chemins']['baseURL']), $len);
$url_morceaux = explode('/', $url);
return $url_morceaux;
}
 
private function collecterParametres() {
if (isset($_GET) && $_GET != '') {
$this->nettoyerGet();
$this->parametres = $_GET;
}
}
 
private function nettoyerGet() {
foreach ($_GET as $cle => $valeur) {
$verifier = array('NULL', "\n", "\r", "\\", '"', "\x00", "\x1a", ';');
$_GET[$cle] = strip_tags(str_replace($verifier, '', $valeur));
}
}
 
private function chargerCheminAutoload() {
$chemins_communs = explode(';', self::$config['chemins']['autoload']);
$chemins_communs = array_map('trim', $chemins_communs);
array_unshift($chemins_communs, '');
 
$chemins_widget = array();
if (isset(self::$config[$this->widget]['autoload'])) {
$chemins_widget = explode(';', self::$config[$this->widget]['autoload']);
foreach ($chemins_widget as $cle => $chemin) {
$chemins_widget[$cle] = self::$config['chemins']['widgetCourantDossier'].trim($chemin);
}
}
 
self::$autoload_chemins = array_merge($chemins_communs, $chemins_widget);
}
 
/**
* La méthode chargerClasse() charge dynamiquement les classes trouvées dans le code.
* Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code.
*
*@param string le nom de la classe appelée.
*@return void le fichier contenant la classe doit être inclu par la fonction.
*/
public static function chargerClasse($classe) {
if (class_exists($classe)) {
return null;
}
foreach (self::$autoload_chemins as $chemin) {
$chemin = $chemin.$classe.'.php';
if (file_exists($chemin)) {
require_once $chemin;
}
}
}
 
 
/**
* Execute le widget.
*/
function executer() {
if (!is_null($this->widget)) {
$classe_widget = ucfirst($this->widget);
$fichier_widget = self::$config['chemins']['widgetCourantDossier'].$classe_widget.'.php';
if (file_exists($fichier_widget)) {
include_once $fichier_widget;
if (class_exists($classe_widget)) {
$widget = new $classe_widget(self::$config, $this->parametres);
$widget->executer();
}
}
}
}
 
/**
* Charge le fichier de config spécifique du wiget et fusionne la config avec celle partagés par l'ensemble des widgets.
*/
private function chargerWidgetConfig() {
$widget_config_ini_fichier = self::$config['chemins']['widgetCourantDossier'].'config.ini';
if (file_exists($widget_config_ini_fichier)) {
$widget_config = parse_ini_file($widget_config_ini_fichier, TRUE);
self::$config = array_merge(self::$config, $widget_config);
}
}
}
/branches/v3.01-serpe/widget/analytics.html
New file
0,0 → 1,11
<script>
// Google Analytics "Carnet en Ligne"
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-57885-6', 'auto');
ga('send', 'pageview');
</script>
/branches/v3.01-serpe/widget/.htaccess
New file
0,0 → 1,13
<files *.ini>
order deny,allow
deny from all
</files>
 
#AddHandler x-httpd-php5 .php
AddDefaultCharset UTF-8
 
RewriteEngine On
# Redirections générale vers le fichier principal de Widget.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php/
/branches/v3.01-serpe/widget/bibliotheque/WidgetCommun.php
New file
0,0 → 1,593
<?php
abstract class WidgetCommun {
 
/** contient la configuration globale pour tous les widgets (widget.ini) */
protected $config = null;
/** contient la configuration du widget courant (modules/nomduwidget/config.ini) */
protected $parametres = null;
protected $messages = array();
protected $debug = array();
 
public function __construct($config, $parametres) {
$this->config = $config;
$this->parserFichierIni($config['chemins']['widgetCourantDossier'].'config.ini');
$this->parametres = $parametres;
}
 
/**
* Parse le fichier ini donné en paramètre
* @param string $fichier_ini nom du fichier ini à parser
* @return boolean true si le fichier ini a été trouvé.
*/
private function parserFichierIni($fichier_ini) {
$retour = false;
if (file_exists($fichier_ini)) {
$ini = parse_ini_file($fichier_ini, true);
$this->fusionner($ini);
$retour = true;
}
return $retour;
}
 
/**
* fusionne un tableau de paramètres avec le tableau de config global
* @param array $ini le tableau à fusionner
*/
private function fusionner(array $ini) {
$this->config = array_merge($this->config, $ini);
}
 
protected function traiterNomMethodeExecuter($nom) {
$methode = 'executer';
$methode .= str_replace(' ', '', ucwords(str_replace('-', ' ', strtolower($nom))));
return $methode;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des CLASSES CHARGÉES à la DEMANDE
 
protected function getDao() {
if (! isset($this->dao)) {
$this->dao = new Dao();
}
return $this->dao;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DE MÉTHODES COMMUNES ENTRE LES SERVICES
 
/**
* Transformer une chaine en tableau si elle est de la forme :
* - "cle=valeur,cle=valeur,..." : tableau associatif
* - "valeur, valeur,..." : tableau
*
* @param String $chaine la chaine à transformer
* @return le tableau issu de la chaine.
*/
public function transformerEnTableau($chaine) {
$tableau = array();
if (empty($chaine) === false) {
$tableauPartiel = explode(',', $chaine);
foreach ($tableauPartiel as $champ) {
if (strpos($champ, '=') === false) {
$tableau[] = trim($champ);
} else {
list($cle, $val) = explode('=', $champ);
$tableau[trim($cle)] = trim($val);
}
}
}
return $tableau;
}
 
protected function getUrlImage($id, $format = 'L') {
$url_tpl = $this->config['chemins']['celImgUrlTpl'];
$id = sprintf('%09s', $id).$format;
$url = sprintf($url_tpl, $id);
return $url;
}
 
protected function encoderMotCle($mot_cle) {
return md5(mb_strtolower($mot_cle));
}
 
private function protegerMotsCles($mots_cles, $type) {
$separateur = ($type == self::TYPE_IMG) ? ',' : ';' ;
$mots_cles_a_proteger = explode($separateur,rtrim(trim($mots_cles), $separateur));
foreach ($mots_cles_a_proteger as $mot) {
$mots_cles_proteges[] = $this->bdd->quote($mot);
}
$mots_cles = implode(',', $mots_cles_proteges);
return $mots_cles;
}
 
protected function tronquerCourriel($courriel) {
$courriel = preg_replace('/[^@]+$/i', '...', $courriel);
return $courriel;
}
 
protected function nettoyerTableau($tableau) {
foreach ($tableau as $cle => $valeur) {
if (is_array($valeur)) {
$valeur = $this->nettoyerTableau($valeur);
} else {
$valeur = $this->nettoyerTexte($valeur);
}
$tableau[$cle] = $valeur;
}
return $tableau;
}
 
protected function nettoyerTexte($txt) {
$txt = preg_replace('/&(?!([a-z]+|#[0-9]+|#x[0-9][a-f]+);)/i', '&amp;', $txt);
$txt = preg_replace('/^(?:000null|null)$/i', '', $txt);
return $txt;
}
 
protected function etreVide($valeur) {
$vide = false;
if ($valeur == '' || $valeur == 'null'|| $valeur == '000null' || $valeur == '0') {
$vide = true;
}
return $vide;
}
 
protected function formaterDate($date_heure_mysql, $format = '%A %d %B %Y à %H:%M') {
$date_formatee = '';
if (!$this->etreVide($date_heure_mysql)) {
$timestamp = $this->convertirDateHeureMysqlEnTimestamp($date_heure_mysql);
$date_formatee = strftime($format, $timestamp);
}
return $date_formatee;
}
 
protected function convertirDateHeureMysqlEnTimestamp($date_heure_mysql){
$val = explode(' ', $date_heure_mysql);
$date = explode('-', $val[0]);
$heure = explode(':', $val[1]);
return mktime((int) $heure[0], (int) $heure[1], (int) $heure[2], (int) $date[1], (int) $date[2], (int) $date[0]);
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DE L'IDENTIFICATION et des UTILISATEURS
 
protected function getAuthIdentifiant() {
$id = (isset($_SERVER['PHP_AUTH_USER'])) ? $_SERVER['PHP_AUTH_USER'] : null;
return $id;
}
 
protected function getAuthMotDePasse() {
$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
return $mdp;
}
 
protected function authentifierAdmin() {
$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
$message_echec = "Accès limité aux administrateurs du CEL.\n".
"Votre tentative d'identification a échoué.\n".
"Actualiser la page pour essayer à nouveau si vous êtes bien inscrit comme administrateur.";
return $this->authentifier($message_accueil, $message_echec, 'Admin');
}
 
protected function authentifierUtilisateur() {
$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
$message_echec = "Accès limité aux utilisateur du CEL.\n".
"Inscrivez vous http://www.tela-botanica.org/page:inscription pour le devenir.\n".
"Votre tentative d'identification a échoué.\n".
"Actualiser la page pour essayer à nouveau si vous êtes déjà inscrit ou contacter 'accueil@tela-botanica.org'.";
return $this->authentifier($message_accueil, $message_echec, 'Utilisateur');
}
 
private function authentifier($message_accueil, $message_echec, $type) {
$id = $this->getAuthIdentifiant();
if (!isset($id)) {
$this->envoyerAuth($message_accueil, $message_echec);
} else {
if ($type == 'Utilisateur' && $this->getAuthMotDePasse() == 'debug') {
$autorisation = true;
} else {
$methodeAutorisation = "etre{$type}Autorise";
$autorisation = $this->$methodeAutorisation();
}
if ($autorisation == false) {
$this->envoyerAuth($message_accueil, $message_echec);
}
}
return true;
}
 
protected function etreUtilisateurAutorise() {
$identifiant = $this->getAuthIdentifiant();
$mdp = md5($this->getAuthMotDePasse());
$url = sprintf($this->config['authentification']['serviceUrlTpl'], $identifiant, $mdp);
$json = $this->getDao()->consulter($url);
$existe = json_decode($json);
 
$autorisation = (isset($existe) && $existe) ? true :false;
return $autorisation;
}
 
protected function etreAdminAutorise($identifiant) {
$identifiant = $this->getAuthIdentifiant();
$autorisation = ($this->etreUtilisateurAutorise() && $this->etreAdminCel($identifiant)) ? true : false;
return $autorisation;
}
 
protected function etreAdminCel($courriel) {
$admins = $this->config['authentification']['administrateurs'];
$courriels_autorises = explode(',', $admins);
 
$autorisation = (in_array($courriel, $courriels_autorises)) ? true : false ;
return $autorisation;
}
 
/**
* Prend en paramêtre un tableau de courriels et retourne après avoir intérogé un service we de l'annuaire
* une tableau avec en clé le courriel et en valeur, un tableau associatif :
* - nom : le nom de l'utilisateur
* - prenom : le prénom de l'utilisateur.
* @TODO ne gère pas le pseudo, qui devrait être retourné en lieu et place des nom / prénom s'il est utilisé et renseigné
* @param array $courriels un tableau de courriels pour lesquels il faut recherche le prénom et nom.
*/
protected function recupererUtilisateursNomPrenom(Array $courriels) {
// Récupération des données au format Json
$service = "utilisateur/prenom-nom-par-courriel/".implode(',', $courriels);
$url = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], $service);
$json = $this->getDao()->consulter($url);
return (array) json_decode($json);
}
 
protected function recupererUtilisateursIdentite(Array $courriels) {
// Récupération des données au format Json
$service = "utilisateur/identite-par-courriel/".implode(',', $courriels);
$url = sprintf($this->config['chemins']['baseURLServicesAnnuaireTpl'], $service);
$json = $this->getDao()->consulter($url);
$utilisateurs = json_decode($json);
foreach ($courriels as $courriel) {
$info = array('id' => null, 'intitule' => '');
if (isset($utilisateurs->$courriel)) {
$info['intitule'] = $utilisateurs->$courriel->intitule;
$info['id'] = $utilisateurs->$courriel->id;
} else {
$info['intitule'] = $this->tronquerCourriel($courriel);
}
$noms[$courriel] = $info;
}
return $noms;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de l'ENVOIE au NAVIGATEUR
 
protected function envoyerJsonp($donnees = null, $encodage = 'utf-8') {
$contenu = $_GET['callback'].'('.json_encode($donnees).');';
$this->envoyer($contenu, 'text/html', $encodage);
}
 
protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8') {
// Traitements des messages d'erreurs et données
if (count($this->messages) != 0) {
header('HTTP/1.1 500 Internal Server Error');
$mime = 'text/html';
$encodage = 'utf-8';
$sortie = '<html>'.
'<head><title>Messages</title></head>'.
'<body><pre>'.implode("\n", $this->messages).'</pre><body>'.
'</html>';
} else {
$sortie = $donnees;
if (is_null($donnees)) {
$sortie = 'OK';
}
}
 
// Gestion de l'envoie du déboguage
$this->envoyerDebogage();
 
// Envoie sur la sortie standard
$this->envoyerContenu($encodage, $mime, $sortie);
}
 
private function envoyerDebogage() {
if (!is_array($this->debug)) {
$this->debug[] = $this->debug;
}
if (count($this->debug) != 0) {
foreach ($this->debug as $cle => $val) {
if (is_array($val)) {
$this->debug[$cle] = print_r($val, true);
}
}
header('X-DebugJrest-Data:'.json_encode($this->debug));
}
}
 
private function envoyerContenu($encodage, $mime, $contenu) {
if (!is_null($mime) && !is_null($encodage)) {
header("Content-Type: $mime; charset=$encodage");
} else if (!is_null($mime) && is_null($encodage)) {
header("Content-Type: $mime");
}
print_r($contenu);
}
 
private function envoyerAuth($message_accueil, $message_echec) {
header('HTTP/1.0 401 Unauthorized');
header('WWW-Authenticate: Basic realm="'.mb_convert_encoding($message_accueil, 'ISO-8859-1', 'UTF-8').'"');
header('Content-type: text/plain; charset=UTF-8');
print $message_echec;
exit(0);
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES SQUELETTES (PHP, TXT...)
 
/**
* Méthode prenant en paramètre un tableau associatif, les clés seront recherchées dans le texte pour être
* remplacer par la valeur. Dans le texte, les clés devront être entre accolades : {}
*
* @param String $txt le texte où chercher les motifs.
* @param Array $donnees un tableau associatif contenant les motifs à remplacer.
*
* @return String le texte avec les motifs remplacer par les valeurs du tableau.
*/
protected static function traiterSqueletteTxt($txt, Array $donnees = array()) {
$motifs = array();
$valeurs = array();
foreach ($donnees as $cle => $valeur) {
if (strpos($cle, '{') === false && strpos($cle, '}') === false) {
$motifs = '{'.$cle.'}';
$valeurs = $valeur;
}
}
$txt = str_replace($motifs, $valeurs, $txt);
return $txt;
}
 
/**
* Méthode prenant en paramètre un chemin de fichier squelette et un tableau associatif de données,
* en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
*
* @param String $fichier le chemin du fichier du squelette
* @param Array $donnees un tableau associatif contenant les variables a injecter dans le squelette.
*
* @return boolean false si le squelette n'existe pas, sinon la chaine résultat.
*/
protected static function traiterSquelettePhp($fichier, Array $donnees = array()) {
$sortie = false;
if (file_exists($fichier)) {
// Extraction des variables du tableau de données
extract($donnees);
// Démarage de la bufferisation de sortie
ob_start();
// Si les tags courts sont activés
if ((bool) @ini_get('short_open_tag') === true) {
// Simple inclusion du squelette
include $fichier;
} else {
// Sinon, remplacement des tags courts par la syntaxe classique avec echo
$html_et_code_php = self::traiterTagsCourts($fichier);
// Pour évaluer du php mélangé dans du html il est nécessaire de fermer la balise php ouverte par eval
$html_et_code_php = '?>'.$html_et_code_php;
// Interprétation du html et du php dans le buffer
echo eval($html_et_code_php);
}
// Récupèration du contenu du buffer
$sortie = ob_get_contents();
// Suppression du buffer
@ob_end_clean();
} else {
$msg = "Le fichier du squelette '$fichier' n'existe pas.";
trigger_error($msg, E_USER_WARNING);
}
// Retourne le contenu
return $sortie;
}
 
/**
* Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo.
*
* @param String $chemin_squelette le chemin du fichier du squelette
*
* @return string le contenu du fichier du squelette php avec les tags courts remplacés.
*/
private static function traiterTagsCourts($chemin_squelette) {
return file_get_contents($chemin_squelette);
// $contenu = file_get_contents($chemin_squelette);
// // Remplacement de tags courts par un tag long avec echo
// $contenu = str_replace('<?=', '<?php echo ', $contenu);
// Ajout systématique d'un point virgule avant la fermeture php
/*$contenu = preg_replace('/;*\s*\?>/', '; ?>', $contenu);*/
// return $contenu;
}
 
//+----------------------------------------------------------------------------------------------------------------+
// UTILITAIRES
 
/**
* Permet de trier un tableau multi-dimenssionnel en gardant l'ordre des clés.
*
* @param Array $array le tableau à trier
* @param Array $cols tableau indiquant en clé la colonne à trier et en valeur l'ordre avec SORT_ASC ou SORT_DESC
* @author cagret at gmail dot com
* @see http://fr.php.net/manual/fr/function.array-multisort.php Post du 21-Jun-2009 12:38
*/
public static function trierTableauMd($array, $cols) {
$colarr = array();
foreach ($cols as $col => $order) {
$colarr[$col] = array();
foreach ($array as $k => $row) {
$colarr[$col]['_'.$k] = strtolower(self::supprimerAccents($row[$col]));
}
}
$params = array();
foreach ($cols as $col => $order) {
$params[] =& $colarr[$col];
$params = array_merge($params, (array)$order);
}
call_user_func_array('array_multisort', $params);
$ret = array();
$keys = array();
$first = true;
foreach ($colarr as $col => $arr) {
foreach ($arr as $k => $v) {
if ($first) {
$keys[$k] = substr($k,1);
}
$k = $keys[$k];
if (!isset($ret[$k])) {
$ret[$k] = $array[$k];
}
$ret[$k][$col] = $array[$k][$col];
}
$first = false;
}
return $ret;
}
 
private static function supprimerAccents($str, $charset='utf-8')
{
$str = htmlentities($str, ENT_NOQUOTES, $charset);
 
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;'
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
 
return $str;
}
 
/**
* Les fonctions de base de php ne parviennent pas à une conversion satisfaisante des codes ascii
* qui ont été générés automatiquement lors de la transmission des chaines en json
* dans le widget cel manager vers la base
* Pour les mêmes raisons, @apos@ et @quot@ est une autre astuces utilisée dans ce même widget
* pour permettre la transmission des apostrophes et guillements sans erreur
*
* @param String $string la chaîne à modifier
*
* @return string la chaîne avec les bons caractère.
*/
public function clean_string( $string ) {
$patterns = array( '/\@apos\@/', '/\@quot\@/', '/u00c0/', '/u00c1/', '/u00c2/', '/u00c3/', '/u00c4/', '/u00c5/', '/u00c6/', '/u00c7/', '/u00c8/', '/u00c9/', '/u00ca/', '/u00cb/', '/u00cc/', '/u00cd/', '/u00ce/', '/u00cf/', '/u00d1/', '/u00d2/', '/u00d3/', '/u00d4/', '/u00d5/', '/u00d6/', '/u00d8/', '/u00d9/', '/u00da/', '/u00db/', '/u00dc/', '/u00dd/', '/u00df/', '/u00e0/', '/u00e1/', '/u00e2/', '/u00e3/', '/u00e4/', '/u00e5/', '/u00e6/', '/u00e7/', '/u00e8/', '/u00e9/', '/u00ea/', '/u00eb/', '/u00ec/', '/u00ed/', '/u00ee/', '/u00ef/', '/u00f0/', '/u00f1/', '/u00f2/', '/u00f3/', '/u00f4/', '/u00f5/', '/u00f6/', '/u00f8/', '/u00f9/', '/u00fa/', '/u00fb/', '/u00fc/', '/u00fd/', '/u00ff/' );
$replacements = array( '&apos;', '&quot;', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý','ÿ' );
 
$clean_string = preg_replace( $patterns, $replacements, $string );
 
return $clean_string;
}
 
/**
* Retourne une chaîne de caractères sans accents
*
* @param String $string la chaîne à modifier
*
* @return string la chaîne sans accents.
*/
public function remove_accents( $string ) {
if ( !preg_match( '/[\x80-\xff]/' , $string ) ) {
 
return $string;
}
 
$chars = array(
// Decompositions for Latin-1 Supplement
chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
chr(195).chr(191) => 'y',
// Decompositions for Latin Extended-A
chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
chr(197).chr(190) => 'z', chr(197).chr(191) => 's'
);
 
$string = strtr( $string, $chars );
 
return preg_replace( '/([^.a-z0-9]+)/i', '-', $string );
}
}
/branches/v3.01-serpe/widget/bibliotheque/Dao.php
New file
0,0 → 1,156
<?php
// declare(encoding='UTF-8');
/**
* Classe modèle spécifique à l'application, donc d'accés au données, elle ne devrait pas être appelée de l'extérieur.
*
* @category php5
* @package Widget
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id$
*/
class Dao {
const HTTP_URL_REQUETE_SEPARATEUR = '&';
const HTTP_URL_REQUETE_CLE_VALEUR_SEPARATEUR = '=';
private $http_methodes = array('GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS', 'CONNECT', 'TRACE');
protected $parametres = null;
private $url = null;
private $reponse_entetes = null;
//+----------------------------------------------------------------------------------------------------------------+
// ACCESSEURS
public function getReponseEntetes($cle) {
return $this->reponse_entetes;
}
public function getParametre($cle) {
$valeur = (isset($this->parametres[$cle])) ? $this->parametres[$cle] : null;
return $valeur;
}
public function ajouterParametre($cle, $valeur) {
$this->parametres[$cle] = $valeur;
}
public function supprimerParametre($cle) {
unset($this->parametres[$cle]);
}
public function nettoyerParametres() {
$this->parametres = null;
}
//+----------------------------------------------------------------------------------------------------------------+
// MÉTHODES
public function consulter($url) {
$retour = $this->envoyerRequete($url, 'GET');
return $retour;
}
public function ajouter($url, Array $donnees) {
$retour = $this->envoyerRequete($url, 'PUT', $donnees);
return $retour;
}
public function modifier($url, Array $donnees) {
$retour = $this->envoyerRequete($url, 'POST', $donnees);
return $retour;
}
public function supprimer($url) {
$retour = $this->envoyerRequete($url, 'DELETE');
return $retour;
}
public function envoyerRequete($url, $mode, Array $donnees = array()) {
$this->url = $url;
$contenu = false;
if (! in_array($mode, $this->http_methodes)) {
$e = "Le mode de requête '$mode' n'est pas accepté!";
trigger_error($e, E_USER_WARNING);
} else {
if ($mode == 'GET') {
$this->traiterUrlParametres();
}
$contexte = stream_context_create(array(
'http' => array(
'method' => $mode,
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'content' => http_build_query($donnees, null, self::HTTP_URL_REQUETE_SEPARATEUR))));
$flux = fopen($this->url, 'r', false, $contexte);
if (!$flux) {
$this->reponse_entetes = $http_response_header;
$e = "L'ouverture de l'url '{$this->url}' par la méthode HTTP '$mode' a échoué!";
trigger_error($e, E_USER_WARNING);
} else {
// Informations sur les en-têtes et métadonnées du flux
$this->reponse_entetes = stream_get_meta_data($flux);
// Contenu actuel de $url
$contenu = stream_get_contents($flux);
fclose($flux);
}
$this->traiterEntete();
}
$this->reinitialiser();
return $contenu;
}
private function traiterUrlParametres() {
$parametres = array();
if (count($this->parametres) > 0) {
foreach ($this->parametres as $cle => $valeur) {
$cle = rawurlencode($cle);
$valeur = rawurlencode($valeur);
$parametres[] = $cle.self::HTTP_URL_REQUETE_CLE_VALEUR_SEPARATEUR.$valeur;
}
$url_parametres = implode(self::HTTP_URL_REQUETE_SEPARATEUR, $parametres);
$this->url = $this->url.'?'.$url_parametres;
}
}
private function traiterEntete() {
$infos = $this->analyserEntete();
$this->traiterEnteteDebogage($infos);
}
private function analyserEntete() {
$entetes = $this->reponse_entetes;
$infos = array('date' => null, 'uri' => $this->url, 'debogages' => null);
if (isset($entetes['wrapper_data'])) {
$entetes = $entetes['wrapper_data'];
}
foreach ($entetes as $entete) {
if (preg_match('/^X_REST_DEBOGAGE_MESSAGES: (.+)$/', $entete, $match)) {
$infos['debogages'] = json_decode($match[1]);
}
if (preg_match('/^Date: .+ ([012][0-9]:[012345][0-9]:[012345][0-9]) .*$/', $entete, $match)) {
$infos['date'] = $match[1];
}
}
return $infos;
}
private function traiterEnteteDebogage($entetes_analyses) {
if (isset($entetes['debogages'])) {
$date = $entetes['date'];
$uri = $entetes['uri'];
$debogages = $entetes['debogages'];
foreach ($debogages as $debogage) {
$e = "DEBOGAGE : $date - $uri :\n$debogage";
trigger_error($e, E_USER_NOTICE);
}
}
}
private function reinitialiser() {
$this->nettoyerParametres();
}
}
/branches/v3.01-serpe/widget/index.php
New file
0,0 → 1,5
<?php
require 'Widget.php';
$widget = new Widget();
$widget->executer();
?>
/branches/v3.01-serpe/widget/widget.ini.defaut.php
New file
0,0 → 1,65
;<?/*
[parametres]
;Memoire maxi pour les services : 128Mo = 134217728 ; 256Mo = 268435456 ; 512Mo = 536870912 ; 1Go = 1073741824
limiteMemoire = "512M"
; Niveau d'erreur PHP
erreurNiveau = 30719 ; E_ALL = 30719
; Séparateur d'url en entrée
argSeparatorInput = "&"
; Indication de la locale (setLocale(LC_ALL, ?)) pour les classes appelées par Widget.php
locale = "fr_FR.UTF-8"
; Indication du fuseau horraire par défaut date_default_timezone_set(?)pour les classes appelées par Widget.php
fuseauHoraire = "Europe/Paris"
; Mode (serveur) : "prod", "test" ou "local"
modeServeur = "prod"
 
[chemins]
; Chemins à utiliser dans la méthode autoload des widgets
autoload = "bibliotheque/"
; Dossier contenant les widgets
widgetsDossier = "modules/"
; Dossier contenant le widget demandé construit dynamiquement dans le fichier Widget.php
widgetCourantDossier = ""
; Dossier contenant les fichiers des bibliothèques tierces
bibliothequeDossier = "bibliotheque/"
; Base de l'url servant à appeler les widgets
baseURL = "/widget:cel:"
; URL de base absolue des Widgets du CEL construit dynamiquement dans le fichier WidgetCommun.php
baseURLAbsoluDyn = ""
; URL des services web du CEL sous forme de template à utiliser avec sprintf
baseURLServicesCelTpl = "https://www.tela-botanica.org/service:cel:%s"
; URL des services web du CEL sous forme de template à utiliser avec sprintf
baseURLServicesAnnuaireTpl = "https://www.tela-botanica.org/service:annuaire:%s"
; Squelette d'Url permettant d'afficher une image du CEL (remplace %s par l'id de l'image sans underscore)
celImgUrlTpl = "https://api.tela-botanica.org/img:%s.jpg"
; Squelette d'URL pour les services web d'eFlore.
baseURLServicesEfloreTpl = "https://www.tela-botanica.org/service:eflore:%s/%s/%s"
; Dossier de stockage temporaire des images (ATTENTION : mettre le slash à la fin)
imagesTempDossier = "/home/telabotap/www/eflore/cel/cache/images/"
; Url du service fournissant des infos sur les noms à partir d'un num tax
infosTaxonUrl = "https://www.tela-botanica.org/service:eflore:0.1/%s/noms/%s"
; Url du service fournissant des infos sur les codes pays
infosPaysUrl = "https://api.tela-botanica.org/service:eflore:0.1/iso-3166-1/zone-geo?masque.statut=officiellement%20attribu%C3%A9&navigation.limite=1000"
; Url du service wiki fournissant les pages d'aide
aideWikiniUrl = 'https://www.tela-botanica.org/wikini/eflore/api/rest/0.5/pages/{page}?txt.format=text/html';
; URL du widget de remarques
widgetRemarquesUrl = "https://www.tela-botanica.org/widget:reseau:remarques"
; URL de base du dépôt de ressources
baseURLRessources = "https://resources.tela-botanica.org/%s"
; URL du service donnant le tracé des rues
serviceTraceRueUrl = "https://api.tela-botanica.org/service:cel:CelStreets";
; URL du service de recherche de zones géo
serviceCoordSearchUrl = "https://api.tela-botanica.org/service:cel:CoordSearch";
 
[authentification]
serviceUrlTpl = "https://www.tela-botanica.org/service:annuaire:TestLoginMdp/%s/%s"
administrateurs = aurelien@tela-botanica.org,david.delon@clapas.net,jpm@tela-botanica.org,marie@tela-botanica.org
 
[api]
; différentes clés API Google Maps pour savoir qui consomme quoi (c'est cher)
cleGoogleMaps = ""
cleGoogleMapsCarto = ""
cleGoogleMapsCartoPoint = ""
cleGoogleMapsSaisie = ""
 
;*/?>
/branches/v3.01-serpe/widget/.
New file
Property changes:
Added: svn:ignore
+.settings
+.buildpath
+.project
+widget.ini.php
+documents
Added: svn:mergeinfo
Merged /branches/v2.22-rateau/widget:r2741
Merged /branches/v2.3-faux/widget:r2285
Merged /branches/v2.8-houe/widget:r2478-2486,2499,2542
Merged /branches/v2.6-greffoir/widget:r2382
Merged /branches/v1.7-croissant/widget:r1895,1983
Merged /branches/v2.21-plantoir/widget:r2729,2735
Merged /branches/v2.25-scarificateur/widget:r2918-2919,2952
Merged /branches/v2.26-scie/widget:r3015
Merged /branches/v1.8-debroussailleuse/widget:r1987,1992
Merged /branches/v2.20-pistolet-arroseur/widget:r2718
Merged /branches/v2.5-gouge-a-asperges/widget:r2344,2348
Merged /branches/topic-dbsingleton/widget:r1720-1764
Merged /branches/v2.23-rouleau/widget:r2775,2777,2797,2812
Merged /branches/v2.9-motobineuse/widget:r2562
Merged /branches/v2.10-motoculteur/widget:r2598
Merged /branches/v2.24-sarcloir/widget:r2847